ホームページ > バックエンド開発 > Python チュートリアル > Discord.py 2.0 コマンドが機能しないのはなぜですか?それを修正するにはどうすればよいですか?

Discord.py 2.0 コマンドが機能しないのはなぜですか?それを修正するにはどうすればよいですか?

DDD
リリース: 2024-12-06 17:37:11
オリジナル
214 人が閲覧しました

Why Aren't My Discord.py 2.0 Commands Working, and How Do I Fix It?

Discord.py 2.0 コマンド呼び出しの問題: エラー メッセージがありません

問題:

の場合Discord.py 1.7.3 から 2.0 に移行すると、コマンドは機能しません1.7.3 では正しく機能していたにもかかわらず、2.0 ではエラー メッセージが表示されずに実行されました。

理由:

メッセージの内容を確実に受信するには、Discord.py 2.0 では明示的な要求が必要です。を有効にするインテント。

解決策:

1. Discord 開発者ポータルでインテントを有効にする:

  • Discord 開発者ポータルにログインします。
  • アプリケーションを選択します。
  • 「ボット」セクションに移動します.
  • 下の「MESSAGE CONTENT INTENT」を有効にします。 「インテント」タブ。

2. Discord.py のボットにインテントを追加します。 コード:

  • Discord から Intents クラスをインポートします。
  • インテント オブジェクトを作成し、intents.message_content を True に設定します。
  • インテントを使用してボットを初期化します。引数。

3.コードを更新します:

  • Discord.py スクリプトの先頭に次の行を追加します:
intents = discord.Intents.default()
intents.message_content = True
ログイン後にコピー
  • 次の行を使用してボットを初期化します。インテント引数:
bot = commands.Bot(command_prefix='$', intents=intents, help_command=None)
ログイン後にコピー

Completeコード:

import discord
from discord.ext import commands

intents = discord.Intents.default()
intents.message_content = True

bot = commands.Bot(command_prefix='$', intents=intents, help_command=None)

@bot.event
async def on_ready():
    print('bot is ready')

@bot.command(name='test1', aliases=['t1'])
async def test1(ctx):
    print('test command')

with open('token.txt', 'r') as f: TOKEN = f.read()
bot.run(TOKEN)
ログイン後にコピー

これらの手順を実装すると、メッセージ コンテンツの処理を有効にし、Discord.py 2.0 のコマンド機能を復元できます。

以上がDiscord.py 2.0 コマンドが機能しないのはなぜですか?それを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート