我目前正在开发一个 discord pinger bot(用 python 编写),当服务器中的不同机器人发送某个 webhook 时,它会 ping 某个角色。然后它继续发送一个 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 的实际嵌入,因为我不认为这是解决问题的必要信息(老实说是很多面条代码)但让我知道我是否错了。