繁体   English   中英

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

[英]Command not found error in Discord Python code

每当我运行discord python代码并在discord chat中对其进行测试时,都会说即使我在代码中定义了ping命令,也找不到。

我尝试同时使用Bot和Client,并且都给出了相同的错误。

import discord
from discord.ext import commands


bot_prefix= "]"
bot = commands.Bot(command_prefix=bot_prefix)


bot.run("*")

@bot.event
async def on_ready():
    print("ok")
@bot.event
async def on_message(message):
    print(message.content)


@bot.command()
async def ping(ctx):
    latency = bot.latency
    await ctx.send(latency)

个人信息替换为“ *”

僵尸程序应在用户通道中发送一条消息,说明僵尸程序的延迟时间,但我只是收到一条错误消息:“忽略命令None中的异常:discord.ext.commands.errors.CommandNotFound:命令“ ping”不是找到”,即使我在代码中定义了ping命令。

另外,应该注意,on_ready事件永远不会运行。 我从未在控制台日志中得到打印语句。

任何帮助表示赞赏,谢谢:)

bot.run必须是代码的最后一行。 Python是按顺序执行的,因此直到bot完成运行后,才调用bot.run下面的所有内容。

好吧,我已经解决了!

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

等待bot.process_commands(消息)

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

另外,请确保在函数声明之后,在代码末尾使用bot.run()。 简单的错误,但现在都已解决:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM