gpt4 book ai didi

python - 马拉松 : delete a message

转载 作者:行者123 更新时间:2023-12-01 02:52:46 26 4
gpt4 key购买 nike

我正在尝试使用 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com