这个程序有问题。我试图做到这一点,当有人在 Discord 中输入“嗨”时,两个机器人会做出响应。问题是机器人一直在向另一个人打招呼。代码如下:
msg = message.content# Makes sure that the author of the message isn't itself
if message.author == client.user:
return
if message.author.id != '818469783891607562':
if any(word in msg for word in common_Greetings_List):
time.sleep(2)
await message.channel.send("Hey!")```
答案 0 :(得分:1)
您正在阻止机器人对其自己的消息做出反应,但您并未说明任何阻止它们对彼此的消息做出反应的内容。
您可以在第一个 if 块中使用附加条件轻松解决此问题:
if message.author.id in [client.user.id, other_bot_id_here]:
return
(我假设 “嘿!” 属于 common_Greetings_List
)。
如果您希望您的机器人继续对彼此的消息做出反应(问候除外),您可以在某个不属于问候列表的字符串中更改机器人的回复。
答案 1 :(得分:0)
User
对象具有您可以检查的 bot
属性。这样您的机器人就可以忽略所有机器人消息。
if message.author.bot:
return