为了账号安全,请及时绑定邮箱和手机立即绑定

在 Discord Python 代码中找不到命令错误

在 Discord Python 代码中找不到命令错误

子衿沉夜 2021-12-26 15:08:49
每当我运行我的不和谐 python 代码并在不和谐聊天中对其进行测试时,它都会说找不到 ping 命令,即使我在代码中定义了它。我尝试同时使用 Bot 和 Client,但都出现了相同的错误。import discordfrom discord.ext import commandsbot_prefix= "]"bot = commands.Bot(command_prefix=bot_prefix)bot.run("*")@bot.eventasync def on_ready():    print("ok")@bot.eventasync def on_message(message):    print(message.content)@bot.command()async def ping(ctx):    latency = bot.latency    await ctx.send(latency)个人信息以“*”代替机器人应该在用户的频道中发送一条消息,说明机器人的延迟,但我只是收到一条错误消息:“忽略命令中的异常无:discord.ext.commands.errors.CommandNotFound:命令“ping”不是找到”即使我在代码中定义了 ping 命令。另外,应该注意的是 on_ready 事件永远不会运行;我从来没有在控制台日志中得到打印语句。
查看完整描述

2 回答

?
米琪卡哇伊

TA贡献1998条经验 获得超6个赞

bot.run必须是代码中的最后一行。Python 按顺序执行,因此bot.run在机器人完成运行之前不会调用下面的所有内容。


查看完整回答
反对 回复 2021-12-26
?
手掌心

TA贡献1942条经验 获得超3个赞

好的,我搞定了!!

显然 on_message 函数存在问题,我想我只是在常见问题解答中跳过了它。任何对此感到困惑的人,只需添加以下行:

等待 bot.process_commands(消息)

进入你的 on_message 函数。当您定义自己的 on_message 函数时,它会覆盖将消息传递到命令处理程序的原始函数。

还要确保在代码末尾,在函数声明之后使用 bot.run()。简单的错误,但现在它们都已修复:)


查看完整回答
反对 回复 2021-12-26
  • 2 回答
  • 0 关注
  • 141 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信