gpt4 book ai didi

api - 如何在 Telegram API 中转发消息

转载 作者:行者123 更新时间:2023-12-04 03:12:56 86 4
gpt4 key购买 nike

Telegram API 中有两种转发消息的方法:

  • messages.forwardMessage
  • messages.forwardMessages

我想使用forwardMessage 方法将消息从channelgroupuser 转发到另一个一。这个方法的定义是:

messages.forwardMessage#33963bf9 peer:InputPeer id:int random_id:long = Updates;

如您所见,此方法有 3 个输入参数:

  • peer 表示我们将消息转发到的channelgroupuser。 (目的地)
  • idmessage_id
  • random_id 有内部使用。

众所周知,message_id 是聊天中的唯一号码。因此 group 中的 message_id 引用了与其他组中的相同 message_id 不同的消息。

那么主要的问题是我们如何确定转发的来源peer?因为源peer不是由message_id决定的。

P.S:我的问题是关于 Telegram API 中的方法,而不是 Telegram Bot API。

最佳答案

ForwardMessageRequest 似乎有一个问题,它没有指定源聊天。显然 message_id 不是唯一的,通过我的测试我注意到只要指定 message_id 就会转发错误的消息。我注意到 message_id 不是唯一的。

但是 ForwardMessagesRequest 不存在这个问题。以下是如何使用 ForwardMessagesRequest 版本的示例。

转发示例:

这是我用于测试的代码(我正在使用 Python 的 Telethon,但这并不重要,因为它直接调用 Telegram API):

source_chat = InputPeerChannel(source_chat_id, source_access_hash)
total_count, messages, senders = client.get_message_history(
source_chat, limit=10)

for msg in reversed(messages):
print ("msg:", msg.id, msg)

msg = messages[0]
print ("msg id:", msg.id)

dest_chat = InputPeerChat(dest_chat_id)

result = client.invoke(ForwardMessagesRequest(from_peer=source_chat, id=[msg.id], random_id=[generate_random_long()], to_peer=dest_chat))

关于api - 如何在 Telegram API 中转发消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43523018/

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