【问题标题】:Forwarding messages from Telegram Bot转发来自 Telegram Bot 的消息
【发布时间】:2023-11-08 07:39:01
【问题描述】:

我需要做以下事情:

  • 用户向我的机器人发送各种消息;
  • 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

标签: python-3.x telegram py-telegram-bot-api


【解决方案1】:
bot.forward_message(
chat_id="@channel", 
from_chat_id="chat_id_from_which_I_am_forwarding", 
message_id=message.message_id)

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

【讨论】:

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