티스토리 뷰

동아리에서 인제생이라는 앱을 개발하였는데, 그와 관련되어 디스코드 봇을 개발하게 되었습니다.

디스코드 봇을 만들 때 사람들이 주로 쓰는 언어는 Python이지만, 저는 C 관련 언어를 주로 사용하는 사람이기 때문에

Discord.Net 라이브러리를 사용하여 C#으로 개발하게 되었습니다.

 

https://discordnet.dev/

 

Home | Discord.Net Documentation

 

discordnet.dev

Discord.Net은 C#으로 디스코드 봇을 만들 수 있게 해주는 프레임워크이며, TAP 형식의 비동기 패턴을 사용합니다. 따라서  async Task 형태의 함수 형태가 주를 이루게 됩니다.

 

먼저 보통은 Command 형태의 구조를 만들어서 ! 나 $를 붙여서 만들게 하는 반면, 저는 바로 Slash Command를 활용하여 개발하였습니다. 그 이유는 Discord의 채팅 정보가 서버로 넘어오지 않는 현상이 발생하였고, 해결하려 해보았지만 그렇지 못하여 바로 Slash Command 형태로 제작하였습니다.

 

이와 관련된 해결 방법을 아시는 분이 있으시면 댓글 남겨주시면 감사하겠습니다.

다음 글부터 시작해보록 하겠습니다.

 

아 그리고 코드에 config.yml을 읽는 코드가 있는데 다음과 같습니다. 각 값은 본인에 맞는 것을 입력하시면 됩니다.

DB_HOST: "DBIP"
DB_PORT: "DBPort"
DB_DATABASE: "DB_Database"
DB_USERID: "USER_ID"
DB_PASSWORD: "USER_PASS"

tokens:
    discord: "Your bot tokken"

용어 정리

 

Guild : Dicord의 서버입니다. 

Channel : 서버의 채널, 즉 텍스트나 보이스 채널을 의미합니다.

 

전체 코드 : 참고로 C#을 주로 사용하는게 아니라서 좀 더러울 수 있습니다 ㅎㅎ;

https://github.com/Hong-Study/InjeLife-DiscrodBot

 

GitHub - Hong-Study/InjeLife-DiscrodBot: 인제생 디스코드 봇입니다.

인제생 디스코드 봇입니다. Contribute to Hong-Study/InjeLife-DiscrodBot development by creating an account on GitHub.

github.com

 

'개인적인 취미 > 디스코드 봇 만들기 With C#' 카테고리의 다른 글

SlashCommand Module 제작 #3  (0) 2023.06.12
기본 틀 제작하기 #2  (0) 2023.06.12
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함