当前位置: 首页 > 知识库问答 >
问题:

如何删除邮件,如果我有message.iddyscord.py?

韩彦君
2023-03-14

假设我有一个消息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()

或:

等待客户端。http。删除消息(频道,消息)

什么都不管用。

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

我也不想听到告诉我使用on_message监听器函数在里面删除的答案,这不是我对机器人的用途。我不想立即删除消息,只有当删除侦听器被调用时。谢谢你。

共有2个答案

蓝飞
2023-03-14

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

msg = await channel.fetch_message(id)
await msg.delete()
贺栋
2023-03-14

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

 类似资料:
  • 是否还有其他地方需要删除模块依赖项?如果是,它位于哪个文件的哪个位置?

  • 我有一个名为df1的Python代码数据帧: 这样的排有5000排 我想删除包含TYPE=Artificial的行,我编写了以下代码,但它给出了一个错误 它给出的错误为:

  • 如何删除我的如果我把它弄丢了?我必须加入一个新项目,但如果我试图提交、添加或推送任何内容,我会收到一个错误: 另一个git进程似乎正在该存储库中运行,例如,由“git提交”打开的编辑器。请确保所有进程都已终止,然后重试。如果仍然失败,那么git进程可能已经在此存储库中崩溃:手动删除该文件以继续。 有任何git comand重置我所有的用户设置,并开始使用git像在新计算机上?

  • 我对此真的很困惑。如果我以编程方式删除Firest集合中的所有文档,集合本身也会被删除: 但是,如果我在线使用Firebase控制台删除所有文档,我并不总是看到集合被删除!我从字面上删除了集合中的所有文档,但它仍然在控制台中。我可以立即在集合中创建另一个文档。但有时集合确实会消失......?! 我读了一些帖子,比如删除Firestore收藏中的所有文件,但没有看到任何解释这一点的内容。 因为一个

  • 我想创建一个文件;如果它已经存在,我想删除它并重新创建它。我尝试这样做,但它抛出一个Win32错误。我做错了什么?

  • 问题内容: 如果要删除某个事件,我需要查询类似的内容, 但是我找不到一次删除所有事件的命令,必须逐个删除事件。是否有一些SQL可以一次删除所有事件? 也不工作。 问题答案: 示例一: https://dev.mysql.com/doc/refman/5.1/zh-CN/events- privileges.html 如果您可以使用删除事件,然后使用新的预定时间重新添加事件。 要自己永久删除某个事件