Telegram Bot API:TelegramError:400:错误请求:在另一个聊天中回复消息时找不到要回复的消息

问题描述 投票:0回答:1

我正在使用 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。测试了 forwardMessagecopyMessage 方法来发送用户发送给机器人的消息(这是对我尝试在之前

reply_parameters
中指定的另一个聊天中的消息的回复),without通过reply_parameters
,成功了!

    如何:

注意: User1 和 User2 之前都已启动过机器人

  1. 用户1使用“在另一个聊天中回复”功能向机器人发送了一条消息(

    这是对我之前提到的消息的回复

  2. 机器人使用
  3. forwardMessage

    copyMessage
    方法将其发送给 User2,并且都有效!
    
    

我的问题:

    即使
  1. message_id

    chat_id
    正确,为什么还是会出现此错误?
    
    

  2. 是否有我可能错过的额外设置或限制?
  3. 这可能是 Telegram Bot API 本身的问题吗?
telegram telegram-bot
1个回答
0
投票
chat_id

中的

reply_parameters
的成员。
    

© www.soinside.com 2019 - 2024. All rights reserved.