当输入某些关键字时,bot 在使用 @client.event discord 时不会返回消息

时间:2021-05-21 00:40:13

标签: python discord discord.py

所以,我正在编写一个不和谐的机器人。我试图让它响应一个关键字,例如说“Pong!”出于某种原因,这不起作用。我已经尝试了一个小时的解决方案,但我很累。如果有人可以提供帮助,那就太好了。当有人说 ping 作为关键字时,我想要的只是让机器人说 pong。 这是代码。

# if anyone says keywords
@client.event
async def on_message(message):
    if "Ping" in message.content:
        await ctx.send('Pong!')

谢谢
-杰克

1 个答案:

答案 0 :(得分:1)

错误非常明显。

错误究竟在哪里?

问题出在这个语句中:

await ctx.send('Pong!')

ctx其实就是你使用discord库的Command API时传递的context参数。但是当您使用简单的 Client 时,您真的可以使用它。

在这一行:

async def on_message(message):

参数是 message,我们将使用它来发送我们的消息。

所以很简单。

把上面提到的错误语句改成:

await message.channel.send("Pong!")

这将解决您的问题!

谢谢! :D