如何解决如果源消息被删除,如何删除目标电报消息
我正在使用Telethon创建python程序,以找到一种在删除源消息后在目标通道中删除消息的方法。
例如:
A-源频道
B-目标频道
A发布一条消息X,该消息X转发到目标频道B。过了一段时间,A删除了消息X,B也应删除该消息。
我的代码如下:
@client.on(events.MessageDeleted)
async def edit_message_bot(event):
...
但是问题是,当我使用此方法时,源和目标通道的event msg_id有所不同,因此找不到删除它的方法。
请帮助
解决方法
我在MessageDeleted
事件中发现了source code,文档显示:
电报不发送有关哪里消息的信息 如果发生在与其他用户的私人对话中,则被删除 或小组聊天中,因为消息ID是唯一 如果保存了聊天,则可以仅使用消息ID来识别聊天 以前。
Telethon 不保存有关消息发生位置的信息, 因此它不知道消息在哪个聊天中被删除(这将 仅适用于存在频道ID 的频道。
这意味着
chats=
参数将无法可靠运行, 除非您打算只与频道和超级群组一起使用。
对于您而言,应该获取chats
参数,该参数可以提供帮助。另外,您应该使用deleted_ids
,而不是msg_id
。 Link
我认为您应该将原始消息的消息ID和消息的ID存储在目标通道中,以便轻松找到它。因此,您将拥有一本类似于字典的东西,原始ID和一个新ID一起存储。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。