ETC/AI

디스코드에 ChatGPT봇 만들기 (Discord ChatGPT bot)

+하람쥐 2023. 1. 24. 01:04

 

 

openai/gpt-discord-bot을 이용해 제작하였습니다.

https://github.com/openai/gpt-discord-bot

서론

최근 Opne AI관련해서 많은 관심이 생겨 이것저것 뒤적거리다. 개인 디스코드용 ChatGPT 봇을 만들고 싶어졌다.

그래서 일단 Chat GPT한테 한번 물어봤다.(별 걸 다 물어본다)

Discord.js 와 Openai 라이브러리 그리고 개인용 Bot을 제작해야 한다.

그걸 적당히 잘 섞으면 디스코드 봇을 만들 수 있다고 한다. 

 

셋업

01. DisCord Bot 만들기.

https://discord.com/developers/applications

로 들어가 봇을 만들자.

봇을 생성하고 봇 토큰을 생성하자 (토큰 번호를 잃어버리지 않게 저장하자)

- 봇을 모든 사용자에게 표시하지 않으려면 "Public Bot" 사용안함 체크

-  "Message Content Intent" 에서  "Privileged Gateway Intents" 사용

OAuth2 탭으로 이동해 "Client ID" 획득

 

02. Opne Ai - API키 획득

https://beta.openai.com/account/api-keys

 

[ Create new secret key ] 클릭

 

Create New Secret Key 클릭해 API 키 획득.

 

 

03. DisCord.py 다운.

http://discordpy.readthedocs.io/

파이선에서 지원하는 discord.py 는 Disconside API를 사용하는 봇을 만들 때 사용한다.

CMD에 들어가 아래의 코드를 적으로 자동으로 설치된다.

py -3 -m pip install -U discord.py

아래와 같이 창에 뭐가 나오면서 설치된다.

 

 

 

04. GitHub에서 gpt-discord-bot 다운로드

- env.example 파일에서 example을 지워 env파일로 만든다.

 

- env 파일에서 아까 위에서 얻은 정보들과 봇을 집어넣으려는 서버 ID를 집어넣는다.

 

cmd 창으로 들어가 아래의 코드를 적는다.

pip install -r requirements.txt 
python -m src.main

인스톨이 완료되면 봇을 넣을 수 있는  URL이 만들어진다. URL을 이용해 봇을 디스코드 서버에 넣는다.

 

 

05. Discord에서 Bot이 정상작동이 가능하게 세팅하기 (추가사항)

디스코드봇이 메시지를 정상적으로 보내기 위해 해당 채널에 봇이 특정 권한을 가지고 있어야 한다.

다른 봇을 사용하기 위해 권한을 부여했으면 정상작동하지만

만약 봇이 메시지를 정상적으로 보내지 못한다면 해당 채널의 세팅을 확인해 보자.

  • Send Messages
  • Send Messages in Threads
  • Create Public Threads
  • Manage Messages (only for moderation to delete blocked messages)
  • Manage Threads
  • Read Message History

 

작동확인

내가 만든 봇의 이름은 RAMG_GPTBot이다.

정상적으로 개인 서버를 이용해 봇이 활성화되었다면 온라인으로 표시된다.

대화는 /chat을 사용해 대화를 한다.

 

간단하게 질문해보았다. 조금의 시간이 지나면 봇이 ChatGPT처럼 설명해 준다.

구구단 코드를 만들어달라고 했더니 대답해 준다.

사소한 질문들도 잘 대답해주고 있다.

 

'ETC > AI' 카테고리의 다른 글

[Chat GPT - Tip] 더 빠르게 Chat GPT를 사용해보자.  (0) 2023.02.24