如何使用 Discord.py 库让机器人忽略彼此的消息

时间:2021-03-10 18:04:23

标签: python discord.py

这个程序有问题。我试图做到这一点,当有人在 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!")```

2 个答案:

答案 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