Discordボット
Python(discord.py)またはNode.js(discord.js)のDiscordボット。リクエストに書くこと、Codexe内でボットをテスト実行する方法、プランごとの実行時間の上限、トークンを安全に保つ方法。
更新日
Codexeは、スラッシュコマンドを使う完全なDiscordボットのプロジェクトを、「Python(discord.py)」または「Node.js(discord.js)」で生成します。
#リクエストに書くこと
- ライブラリ(PythonまたはNode.js)。
- 各スラッシュコマンドと、そのオプション、使える人。
- 反応するイベント(メンバーの参加、メッセージ、リアクション)。
- 保存方法(JSON、SQLiteなど)と、使う外部API。
- 有効にしてもよいインテント。Message ContentとServer Membersは特権インテントで、Discordの開発者ポータルでオンにする必要があります。
#トークン
生成されたボットは、環境変数「DISCORD_TOKEN」からトークンを読み込みます(BOT_TOKENやTOKENでも動きます)。トークンがソースに書き込まれることはなく、.envファイルも生成されません。トークンはパスワードと同じように扱ってください。漏れた場合は、Discordの開発者ポータルでリセットしてください。
#Codexeでボットをテスト実行する
ボットのプロジェクトには、サーバーを用意せずにボットを試せるホストパネルがあります。ボットのトークンを貼り付け(暗号化して保存され、削除もできます)、開始、停止、再起動を使い、コンソールを見てください。
これはテスト環境であり、常時稼働のホスティングではありません。
| プラン | 直近24時間あたりの実行時間 |
|---|---|
| Free | 15分 |
| Pro | 4時間 |
| Business | 12時間 |
| Enterprise | 24時間 |
どのプランでも、1回のセッションは30分で停止し、1アカウントで同時に動かせるボットは1つで、起動の回数には制限があります。ボットは隔離された環境で動き、インターネットにはアクセスできますが、Codexe自身のシステムにはアクセスできません。
#検証
Discordボットはビルドで検証されません。準備完了は生成が終わったことを意味します(プロジェクトのライフサイクルを参照)。確認にはテスト実行を使ってください。
#自分で動かす
ZIPをダウンロードし、依存関係をインストールして(pip install -r requirements.txtまたはnpm install)、環境にDISCORD_TOKENを設定してから起動します。botとapplications.commandsのスコープで、ボットをサーバーに招待してください。
#よくある問題
| 症状 | 考えられる原因 |
|---|---|
| スラッシュコマンドが表示されない | コマンドがまだ同期されていません。グローバルの同期には最大1時間かかることがあり、ギルドの同期はすぐに反映されます。 |
| ボットはオンラインなのにメッセージに反応しない | 特権インテントが開発者ポータルで有効になっていません。 |
| 「アプリケーションが応答しませんでした」 | コマンドが応答を保留(defer)せずに3秒以上かかりました。応答を保留するようチャットで頼んでください。 |