首页 > 后端开发 > Python教程 > 为什么自定义 on_message 后我的 Discord.py 机器人命令不起作用?

为什么自定义 on_message 后我的 Discord.py 机器人命令不起作用?

Mary-Kate Olsen
发布: 2024-12-17 18:56:10
原创
984 人浏览过

Why Aren't My Discord.py Bot Commands Working After Customizing on_message?

了解问题:命令无法运行

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

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板