python - 从不和谐的消息中选择单词不起作用
问题描述
编码很新。想用 python 做一个不和谐的机器人。我有这个代码。一切似乎都很好,但是当键入关键字时,机器人只会发送垃圾邮件响应。我做错了什么?
@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')
解决方案
您的单词匹配/选择工作正常。
你只有一个逻辑错误:机器人也会监听自己发送的消息。由于 bot 发出的消息还包含单词donate
(between To
and click
),因此您的 bot 将递归地回复自己。要解决此问题,请将这些行添加到on_message
函数的开头:
if message.author == client.user:
return
这将过滤掉机器人发送的消息。
推荐阅读
- filter - 在地图视图中过滤特征 React-Map-gl React Hooks
- javascript - 具有相似日期的相同时刻语法给出完全不同的结果
- php - 我正在尝试显示文件夹中的多个随机非重复图像,但我得到空白图像
- python - >比较中的ValueError
- python - 使用 Python 绘制已经计算好的混淆矩阵
- python - 如果 B 中存在 A 的 ID,如何使 dataframeA 无
- javascript - javascript 需要 ewelink-api 不起作用?
- android - 颤振“包获取”失败并出现错误“无法读取文件 LocalFile ...”
- phalcon - 在哪里为 phalcon 4 中的自定义过滤器 css 代码创建文件?
- azure - 如何在 Azure DevOps 管道中使用 terraform 输出作为变量