Ping 命令在 Discord.py 机器人中不起作用

Ping command not working in Discord.py bot

我刚开始制作一个不和谐的机器人,我试图让它响应使用事件的 ping,但我读到正确的方法是使用命令,所以我也试过了,但我的机器人不会响应前缀 + 'ping' 在频道上。终端或任何东西都没有任何错误,但它只是在应该的时候没有响应。我真的很感激任何帮助,因为我真的不知道我做错了什么,我附上了我开始使用的代码,它有两种 ping 方法,只是事件有效而命令无效,我不知道为什么。当我 运行 代码时,我还在块中附加引用了我的机器人在频道上的响应。

import discord
from discord.ext import commands
token = 'NzM4DNc3MDI5OTA4ODA3NzMy.XyMeVA.8oopIfcva4IFuhJwO7pkFXy9j7g'
client = commands.Bot(command_prefix='.')


@client.event
async def on_message(message):
    channel = message.channel
    if message.content.startswith('..ping'):
        await channel.send('pong..')


@client.command(pass_context=True)
async def ping(ctx):
    await ctx.send('pong.')

client.run(token)

nandini Today at 11:00

.ping

..ping

balalala BOT Today at 11:01

pong..

当你定义一个事件时,你正在覆盖内置的默认事件。on_message() 的默认事件中有 bot.process_commands(message),它允许你调用命令你可能猜到了。 你明白我在这里得到了什么,你需要添加一个
等待 bot.process_commands(消息)
添加 on_message 活动的结尾。

另外,请更改您的令牌,任何人都可以使用它登录您的机器人。
如果您需要更多帮助,我还建议加入 discord.py discord 支持服务器,因为他们通常非常活跃,可以立即回答您的问题。这是邀请:https://discord.gg/r3sSKJJ