Python 如果在dyscord.py中有message.id,如何删除邮件?

Python 如果在dyscord.py中有message.id,如何删除邮件?,python,discord.py,Python,Discord.py,假设我有一个消息id,我将如何通过它在另一个频道中的id删除该特定消息 我目前有一个bot将用户消息发送到另一个discord服务器,其中包含原始消息id和bot消息id。现在,当用户从原始服务器删除消息时,我希望bot通过消息id在我的另一个服务器中删除该消息 具有两个消息id的数组如下所示: allmessages = [[id1,id2],[id1,id2],[id1,id2]] #. . . so on 我使用它来查看用户何时删除消息: @client.event async def

假设我有一个消息id,我将如何通过它在另一个频道中的id删除该特定消息

我目前有一个bot将用户消息发送到另一个discord服务器,其中包含原始消息id和bot消息id。现在,当用户从原始服务器删除消息时,我希望bot通过消息id在我的另一个服务器中删除该消息

具有两个消息id的数组如下所示:

allmessages = [[id1,id2],[id1,id2],[id1,id2]] #. . . so on
我使用它来查看用户何时删除消息:

@client.event
async def on_message_delete(message):
在那里,我有一个for循环,循环遍历我的消息,查看哪个Id被删除了,然后我获取我想要删除的另一个Id。按消息Id删除消息的部分。。。我什么都试过了:

if message.channel.id == idGoesHere:
   channel = client.get_channel(theOtherChannelID)
   msg = IDIwantToDelete
   await msg.delete()
或:

wait client.http.delete_消息(频道,消息)

什么都不管用

如何在一个频道中通过消息的id删除消息,简单易行

我也不想听到答案告诉我使用
on_message
侦听器功能删除内部,这不是我对bot的用途。我不想立即删除消息,只有在调用delete listener时才删除。谢谢。

您可以使用检索消息对象,然后调用其删除方法:

msg = await channel.fetch_message(id)
await msg.delete()

存储消息对象而不是ID(有效):

也许有个解决办法。我想我将存储message对象,而不是Id。我想,当我删除邮件时,这应该会起作用。