본문 바로가기

C#

C#으로 디스코드 투표봇 만들기 소개 (Discord.Net)

투표봇

즐겨하는 게임에서 길드원과의 소통, 일정을 조율하기 위해 디스코드를 사용중에 있습니다.

그 중에 인증된 투표 봇을 활용하여 사용하고 있는데, 아무래도 커스텀이 불가능하고 소소한 불편한 점이 있어 직접만들어 보았습니다.

 

디스코드 봇은 디스코드 공식 가이드를 토대로 아랫단부터 직접 구현할 수도있지만, 투표 봇 하나 만들겠다고 고난길을 택할순 없습니다. 다행스럽게도, 다양한 언어로 작성된 비공식 API들이 존재하였고 C#을 주로 다루기 때문에 Discord.Net을 사용하였습니다.

 

github.com/discord-net/Discord.Net

 

discord-net/Discord.Net

An unofficial .Net wrapper for the Discord API (http://discordapp.com) - discord-net/Discord.Net

github.com

해당 API를 사용하여 기본적인 봇을 만드는 방법은 이미 몇몇 국내블로거분들이 정리해주셨지만, 투표봇을 구현하기 위해 어떤 클래스, 인터페이스를 사용해야하는지까지는 외적으론 알 수 없었기 때문에 API 문서나 스택오버플로를 열심히 찾아보고 연구했습니다.

 

사실 파이썬으로 투표봇을 제작하는 법에 대한 글을 본적이 있는듯 하여 갈아탈까 생각도 했지만(아무래도 이쪽은 국내에서 그런언어들이 강세인듯..) 추후 일을 하게 되었을 때, 지름길이 있다고 바꿀 수도 없는 노릇이고.. 구현 불가! 보다는 구현 귀찮음..이니까요.

 

 

GCP 연동

현재는 구글 클라우드 플랫폼의 VM인스턴스를 이용하여 우분투에서 연동까지 완료하였고, 조금 더 살펴본 뒤에 길드 채널에서 테스트 및 적용할 예정입니다.

 

추후에 시간이 빌때 공부하고 알아본 것들을 정리해서 올려보겠습니다.