ホームページ >バックエンド開発 >Python チュートリアル >エラーがないにもかかわらず、Discord.py 2.0 ボット コマンドが機能しないのはなぜですか?

エラーがないにもかかわらず、Discord.py 2.0 ボット コマンドが機能しないのはなぜですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-21 05:43:11766ブラウズ

Why Aren't My Discord.py 2.0 Bot Commands Working, Despite No Errors?

Discord.py 2.0 でコマンドが実行されない: エラーは発生しないが、1.7.3 では発生する

Discord.py 1.7.3 から 2.0 への移行において、ライブラリに大きな変更が加えられました。注目すべき違いの 1 つは、ボットがリッスンするイベントのタイプを指定する方法であるインテントの導入です。

インテント: ミッシング リンク

Discord.py 2.0 では、インテントは次のことを行う必要があります。ボットの特定の機能を有効にします。デフォルトでは、メッセージのコンテンツはデフォルトのインテントに含まれません。その結果、ボットが正常に実行され、準備ができていると報告されても、必要な権限がないためコマンドを受信できません。

解決策: メッセージ コンテンツ インテントを有効にする

解決策は、明示的にボットでメッセージ コンテンツ インテントを有効にします。これにより、コマンドを含むメッセージの内容を読み取って応答できるようになります。

その方法は次のとおりです:

  1. Discord 開発者ポータル: Discord 開発者ポータルにアクセスし、
  2. ボット セクション: 「ボット」セクションに移動します。
  3. メッセージ コンテンツ インテントを有効にする: [権限] タブで、「 「MESSAGE CONTENT INTENT」セクションを選択し、チェックボックスをオンにして有効にします。
  4. ボット コードの更新: メッセージ コンテンツ インテントを有効にしたら、ボットのコードを更新してそれを含める必要があります:
import discord
from discord.ext import commands

# Create an instance of Intents (default intents are already included)
intents = discord.Intents.default()

# Add the Message Content Intent to the Intents list
intents.message_content = True

# Create your Discord Bot
bot = commands.Bot(command_prefix='$', intents=intents, help_command=None)

これらの変更により、ボットは Discord.py 2.0 での場合と同様に、コマンドを適切に受信して実行できるようになります。 1.7.3.

以上がエラーがないにもかかわらず、Discord.py 2.0 ボット コマンドが機能しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。