技術記事書きました
このボットの実行には以下のトークンが必要です.
- Discord botのToken
- OpenAIのAPIキー
Secrets.tomlにトークンをセットしてください。
DISCORD_TOKEN="xxxxxxx"
CHATGPT_TOKEN="xxxxxxx"
OpenAI API keysへアクセスしてCreate new secret keyをクリックしてAPIキー発行します。
Usage limitsで使用量の上限を設定しておくことを推奨します。
- Discord Developer Portalへアクセスし、
New Applicationをクリックし、アプリケーションを作成します - 作成したアプリケーションからBotのページに移動して、
Add Botをクリックし、Botを作成します。 - TOKENの下にある
Copyをクリックして、Tokenを取得します
- 初期設定では
PUBLIC BOTがONになっているので、OFFにします MESSAGE CONTENT INTENTをONにして、メッセージを取得できるようにします
- OAuth2 > URL URL Generator へアクセスします
- SCOPESの
Botにチェックを入れます - BOT PERMISSIONSの
Send Messages,Read Message Historyにチェックを入れます
- ページの一番下にある、GENERATED URLをコピーしてブラウザに貼り付けます
- 案内に従いBotをサーバーへ導入します
-
shuttleのインストール
cargo binstall cargo-shuttle
-
shuttleへログイン
cargo shuttle login
-
shuttleのapi keyの取得 ログインしたのちapi keyが付与されたのコマンドをコピーして実行し、認証を行います

cargo shuttle login --api-key <your_api_key>
-
プロジェクト作成を行います
Cargo.tomlのnameの項目を任意の文字列に書き換えます。 shuttleで既に使われているnameと重複した場合、a project with the same name already existsと表示されます。chatgpt-bot-for-discord/Cargo.toml
Lines 1 to 2 in 83ca21a
デフォルトでは30分アクセスがないとスリープモードになるため、
--idle-minutes 0のオプションをつけますcargo shuttle project new --idle-minutes 0
cargo shuttle run
cargo shuttle deploy
以下のような表示がされたらデプロイ成功です👏
Service Name: <project name>
Deployment ID: xxxxxxxxx-1234-6789-1234-xxxxxxxxxx
Status: running
Last Updated: 2023-03-11T10:08:18Z
URI: <app_url>
cargo shuttle stop
本プログラムに起因するトラブル・損害・損失につきましても、 当方は一切責任を負いません。

