作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 telegram API 和 Telethon 删除消息。
这是我的代码:
from telethon import InteractiveTelegramClient
from telethon.tl.types.input_peer_channel import InputPeerChannel
from telethon.tl.functions.messages.delete_messages import DeleteMessagesRequest
#...
total_count, messages, senders = client.get_message_history(
chat, limit=1)
msg = messages[0]
result = client.invoke(DeleteMessagesRequest([msg.id]))
但首先什么都没有发生,其次,它看起来不正确,因为 msg.id 就像 5 或 220 并且它看起来不像一个唯一的数字。
这是消息:
msg: (message (ID: 0xc09bexxx) = (out=None, mentioned=None, media_unread=None, silent=None, post=True, id=5, from_id=None, to_id=(peerChannel (ID: 0xbdddexxx) = (channel_id=1234)), fwd_from=None, via_bot_id=None, reply_to_msg_id=None, date=2017-06-14 14:39:23, message=test33, media=None, reply_markup=None, entities=None, views=1, edit_date=None))
我也尝试过使用十六进制数字 0xc09bexxx,但这给出了一个异常(exception)。
那么如何删除 channel 中的消息呢?
到目前为止我看过这个github issue开始删除消息。我的猜测是,也许下面的导入不是正确的,我应该导入 Channels 包中的版本,它获取 channel id 和消息 id?
from telethon.tl.functions.messages.delete_messages import DeleteMessagesRequest
最佳答案
使用 channel 包中的其他删除,我能够使删除消息正常工作,但我仍然很好奇如何使 messages.delete_messages 中的删除正常工作。
from telethon.tl.functions.channels.delete_messages import DeleteMessagesRequest
channel = InputPeerChannel(channel_id, access_hash)
result = client.invoke(DeleteMessagesRequest(channel, [msg.id]))
它将从 channel 中删除该消息。
关于python - 马拉松 : delete a message,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44555613/
我是一名优秀的程序员,十分优秀!