DiscordでChatGPTと戯れるための手順。
必要なもの
- Bot用サーバ(docker-composeかdockerが必要)
- OpenAIのアカウント登録
- OpenAI APIの支払方法登録(Official API認証を使う場合)、APIトークン作成: https://qiita.com/yota-p/items/4c93641329ce5cf2b21c
- Discord Bot作成、トークン作成、サーバへ追加、ロール付与: https://qiita.com/1ntegrale9/items/cb285053f2fa5d0cccdf
Botの実装は以下を使った。
注: 非公式のOSSなのでDockerfile, srcを自分で監査してから利用判断すること。
まずはリポジトリをcloneする。
git clone https://github.com/Zero6992/chatGPT-discord-bot.git
次にGitHubのREADME.mdに沿って.envを作成し認証情報を設定する。ここでDiscord Botの認証用に先程作成したトークンが必要になる。
ChatGPTの認証方法としてはOfficial API authenticationと、Website ChatGPT authenticationが使える。
前者はリクエストトークン数に応じて若干課金が発生するが、一人で使う分には大した額ではないのでおすすめ。
後者はいずれも非公式のWeb APIを使用しており、若干グレーだと思われる。Email/Passwordもしくはブラウザから取得したセッションのACCESS tokenが利用できる。ACCESS tokenを使う場合、一定期間でExpireするので再設定が必要になるのでずっと運用するのは面倒そう。また、GPT-Web APIは25リクエスト/3時間のリミットがある(2023/5/6時点)。
バックエンドを立ち上げる。
docker-composeを使う場合
docker-compose up -d
docker-composeを使わない場合
# imageをbuild
docker build -t chatgpt-discord-bot:latest ./
# コンテナ作成
docker run -it --env-file=./.env --restart unless-stopped chatgpt-discord-bot:latest
あとはDiscordで/chatなどと打てばChatGPTをお話しできる。