了解问题:命令无法运行
使用 Discord.py 库时,某些用户会遇到意外行为,甚至命令无法执行尽管机器人似乎很活跃。此问题可归因于 on_message 事件处理程序。
修复问题:添加 bot.process_commands(message)
根据 Discord.py 文档,覆盖默认 on_message 事件处理程序会阻止执行其他命令。要解决此问题,需要在自定义 on_message 函数的末尾包含 bot.process_commands(message) 行。
参考文档以获取指导:
Overriding the default provided on_message forbids any extra commands from running. To fix this, add a bot.process_commands(message) line at the end of your on_message.
示例实现:
import discord import asyncio from discord.ext import commands bot = commands.Bot(command_prefix = '-') @bot.event async def on_ready(): print('Logged in as') print(bot.user.name) print(bot.user.id) print('------') @bot.event async def on_message(message): # do some extra stuff here await bot.process_commands(message)
按照此操作准则,您可以保留自定义 on_message 事件处理程序的功能,同时确保命令继续无缝运行。
以上是为什么自定义 on_message 后我的 Discord.py 机器人命令不起作用?的详细内容。更多信息请关注PHP中文网其他相关文章!