Discord Python Webhook Bot 不断发送额外的响应消息

时间:2021-06-13 15:56:29

标签: python discord webhooks

我目前正在开发一个 discord pinger bot(用 python 编写),当服务器中的不同机器人发送某个 webhook 时,它会 ping 某个角色。然后它继续发送一个 webhook,将用户引导到不同的频道,在那里他们可以等待某个产品出现在监视器中。我遇到了一个问题,在机器人发送 webhook 之后,它会继续发送另一条带有响应的消息:。在理想情况下,机器人会发送 webhook,而不是额外的消息。任何让这种情况消失的帮助都将是惊人的。谢谢你。下面是我为机器人编写的行为和代码的图片。

不要担心“@deleted-role”,我正在我的个人服务器中测试它,然后再将它带给我另一个服务器的大众

Here is the image of the unwanted behavior(显然我在这个网站上没有足够的声誉哦。)

已经有人建议我在我的代码中做了很多 await message.channel.send(reply) 并且在执行它时可能会点击多个,但是在进行了快速打印测试之后(当某个分支代码)我知道这不是问题。

这是我写的代码:

#The Actual Bot!
@client.event
async def on_ready():
  print("Activated... ready to ping!")

@client.event
async def on_message(message):

  if message.author == client.user:
    return

  else:
    if message.channel.id == :):
      if message.embeds:
        embeds = message.embeds
        for embed in embeds:
          print(embed.to_dict())
          temp_embed_dict = embed.to_dict()
      
        if 'https://www.shoepalace.com/' in temp_embed_dict['description']:
          if 'enabled' in temp_embed_dict['description']:
              print("1")
              reply = sp_initial_webhook.execute()
              await message.channel.send(reply)
              temp_embed_dict = {}
            else:
              reply = sp_restock_webhook.execute()
              print("2")
              await message.channel.send(reply)
              temp_embed_dict = {}
          else:
            reply = sp_deactivated_webhook.execute()
            print("3")
            await message.channel.send(reply)
            temp_embed_dict = {}

client.run(my_secret)

我在这里包含的代码不包括我发送的每个 webhook 的实际嵌入,因为我不认为这是解决问题的必要信息(老实说是很多面条代码)但让我知道我是否错了。

0 个答案:

没有答案