首页 > 解决方案 > 从不和谐的消息中选择单词不起作用

问题描述

编码很新。想用 python 做一个不和谐的机器人。我有这个代码。一切似乎都很好,但是当键入关键字时,机器人只会发送垃圾邮件响应。我做错了什么?

https://imgur.com/a/iJFDwVp

@client.event
async def on_message(message):
    channel = message.channel
    if 'donate' in message.content:
        await client.send_message(channel, 'To donate click this link http://www.test.com')

标签: pythonbotsdiscorddiscord.py

解决方案


您的单词匹配/选择工作正常。

你只有一个逻辑错误:机器人也会监听自己发送的消息。由于 bot 发出的消息还包含单词donate(between Toand click),因此您的 bot 将递归地回复自己。要解决此问题,请将这些行添加到on_message函数的开头:

if message.author == client.user:
    return

这将过滤掉机器人发送的消息。


推荐阅读