我正在使用 Telegram Bot API,并尝试通过在
sendMessage方法的
message_id
参数中指定 chat_id
和 reply_parameters
来回复来自另一个聊天的消息。尽管验证了 message_id
和 chat_id
都是正确且有效的,但我仍然遇到此错误:
TelegramError: 400: Bad Request: message to be replied not found
1。已验证
message_id
和 chat_id
,两者均正确。
2。通过邮递员测试:
https://api.telegram.org/bot<TOKEN>/sendMessage
{
"chat_id": 0, // Replace it with a real chat_id
"text": "This is a reply to a message from another chat",
"reply_parameters": {
"message_id": 361,
"chat_id": -1001005640892
}
}
{
"ok": false,
"error_code": 400,
"description": "Bad Request: message to be replied not found"
}
3.检查机器人权限:
机器人在两次聊天中都有足够的权限:
chat_id
中指定的reply_parameters
属于Telegram的官方频道,并且是公共频道。4。检查交叉聊天限制:
这不是企业帐户,因此应该支持跨聊天回复。
5。测试了 forwardMessage 和 copyMessage 方法来发送用户发送给机器人的消息(这是对我尝试在之前
reply_parameters
中指定的另一个聊天中的消息的回复),without通过reply_parameters
,成功了!
注意: User1 和 User2 之前都已启动过机器人
这是对我之前提到的消息的回复)
forwardMessage
和
copyMessage
方法将其发送给 User2,并且都有效!
message_id
和
chat_id
正确,为什么还是会出现此错误?
chat_id
中的
reply_parameters
的成员。