入力候補 API を使用してモデルと会話し、モデレーション API を使用してメッセージをフィルター処理する Python で記述された Discord ボットの例。
text-davinci-003
このボットは、OpenAI Python ライブラリと discord.py を使用します。
このリポジトリはプル要求を受け入れません。機能を追加または変更する場合は、このリポジトリをフォークしてください。
顔立ち
-
/chat
ボットに渡される最初のユーザーメッセージである引数を使用して、パブリックスレッドを開始しますmessage
- モデルは、で開始されたスレッド内のすべてのユーザーメッセージに対して応答を生成します
/chat
- 要求ごとにスレッド全体がモデルに渡されるため、モデルはスレッド内の以前のメッセージを記憶します
- コンテキスト制限に達するか、スレッドで最大メッセージ数に達すると、ボットはスレッドを閉じます
- ボットの指示をカスタマイズするには、
config.yaml
- モデルを変更することができます、ハードコードされた値は
text-davinci-003
セットアップ
- 以下に詳述するように、値をコピーして入力を開始します
.env.example
.env
- https://beta.openai.com/account/api-keys に移動し、新しいAPIキーを作成して、
OPENAI_API_KEY
- https://discord.com/developers/applications で独自の不和アプリケーションを作成する
- [ボット]タブに移動し、[ボットの追加]をクリックします
- 「トークンのリセット」をクリックして入力します
DISCORD_BOT_TOKEN
- ボットをすべてのユーザーに表示する場合を除き、「パブリックボット」を無効にします
- 「特権ゲートウェイ・インテント」の下の「メッセージ・コンテンツ・インテント」を有効にする
- OAuth2タブに移動し、「クライアントID」をコピーして入力します
DISCORD_CLIENT_ID
- サーバーアイコンを右クリックし、[IDのコピー]をクリックして、ボットの使用を許可するサーバーのIDをコピーします。書き込む。複数のサーバーを許可する場合は、ID を "," のように区切ります。
ALLOWED_SERVER_IDS
server_id_1,server_id_2
- 依存関係をインストールしてボットを実行する コンソールに招待 URL が表示されます。それをコピーしてブラウザーに貼り付け、ボットをサーバーに追加します。
pip install -r requirements.txt
python -m src.main
オプションの構成
- モデレート メッセージが必要な場合は、モデレート メッセージを送信する各サーバーのチャネル ID を作成してコピーします。これは次の形式である必要があります。
SERVER_TO_MODERATION_CHANNEL
server_id:channel_id,server_id_2:channel_id_2
- ボットの性格を変更したい場合は、
src/config.yaml
- メッセージにフラグを付けたりブロックしたりするモデレート設定を変更する場合は、 の値を編集します。値が小さいほど、トリガーされる可能性が低くなります。
src/constants.py
FAQ
ボットがコマンドに応答しないのはなぜですか?
ボットがアクセスできるチャネルが、ボットがこれらのアクセス許可を持つことができるようにします。
- メッセージの送信
- スレッドでのメッセージの送信
- 公開スレッドの作成
- メッセージの管理(ブロックされたメッセージを削除するためのモデレートのみ)
- スレッドの管理
- メッセージ履歴の読み取り
- アプリケーションコマンドの使用