转发来自 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 中忽略的偏移量参数