Ping命令在Discord.py bot中不起作用

时间:2020-08-01 06:02:52

标签: python frameworks discord discord.py chatbot

我刚刚开始制作一个Discord机器人,并尝试使用事件使它响应ping,但是我读到正确的方法是使用命令,所以我也尝试过,但是我的机器人不会响应prefix +'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今天11:00

.ping

.. ping

balalala BOT 今天在11:01

pong ..

1 个答案:

答案 0 :(得分:2)

定义事件时,将覆盖内置的默认事件。on_message()的默认事件中包含bot.process_commands(message),它使您可以调用可能会猜到的命令。 您明白我在这里的意思了,您需要添加一个
等待bot.process_commands(消息)
添加on_message事件的结尾。

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