首页 >后端开发 >Python教程 >为什么我的 Discord.py 2.0 命令不起作用,如何修复它?

为什么我的 Discord.py 2.0 命令不起作用,如何修复它?

DDD
DDD原创
2024-12-06 17:37:11211浏览

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 开发者门户。
  • 选择您的应用程序。
  • 导航到“机器人”部分.
  • 启用 Intents 下的“MESSAGE CONTENT INTENT”选项卡。

2。在 Discord.py 代码中将 Intents 添加到 Bot:

  • 从 Discord 导入 Intents 类。
  • 创建一个 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)

完整代码:

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn