转发来自 Telegram Bot 的消息

Posted

技术标签:

【中文标题】转发来自 Telegram Bot 的消息【英文标题】:Forwarding messages from Telegram Bot 【发布时间】:2021-06-07 14:00:42 【问题描述】:

我需要做以下事情:

用户向我的机器人发送各种消息; bot 应该将特定消息转发到我的频道,如下所示:
bot.forward_message(chat_id='my_chat_id', from_chat_id='my_chat_id_from_which_I_am_forwarding', message_id=message.message_id)

但是,我收到此错误:

ERROR - init:__threaded_polling:515 - 对 Telegram API 的请求不成功。错误代码:400。说明:错误请求:找不到要转发的消息,2021-03-09 18:44:15,950

当我调试时,message.message_id 和 message.text 是正确的。有人有什么想法或建议吗?

【问题讨论】:

发送到频道时,chat_id 应该是:in the format @channelusername 对我不起作用。我尝试了它的名称和链接中的名称 其实,没关系。你完全正确。在您的帮助下,我设法解决了问题。 最终解决方案是什么?频道用户名格式? 是的,我是这样做的:从您频道配置中的链接获取名称并添加 @ 作为前缀。例如,如果链接是 t.me/channelname,那么生成的 chat_id 就是 @channelname 【参考方案1】:
bot.forward_message(
chat_id="@channel", 
from_chat_id="chat_id_from_which_I_am_forwarding", 
message_id=message.message_id)

您需要在频道中将机器人添加为管理员!

【讨论】:

是的,我就是这样做的,但我对 chat_id 感到困惑。最后,我做对了,但还是谢谢你

以上是关于转发来自 Telegram Bot 的消息的主要内容,如果未能解决你的问题,请参考以下文章

使用python-telegram-bot模块转发telegram机器人消息到钉钉平台

getUpdates Telegram bot API 中忽略的偏移量参数

我的 Telegram Bot 无法读取另一个 Telegram Bot 发送的消息

将Telegram bot与jenkins集成

Telegram bot 消息读取回调

Telegram Bot 收到“错误请求:消息文本为空”