【问题标题】:Telegram Bot API error when try to edit message: "Bad Request: message not found"尝试编辑消息时 Telegram Bot API 错误:“错误请求:未找到消息”
【发布时间】:2017-05-13 10:15:43
【问题描述】:

我尝试编辑大约 2 小时前发送的 bot 消息并收到此错误,并认为此消息太旧,无法编辑。然后我尝试编辑稍后发送的另一条消息,它成功了。但在此之后,我尝试编辑最近发送的一条消息,并再次收到此错误。现在看起来请求的结果是随机的。

这是什么意思?

这是我的 POST 查询示例:

https://api.telegram.org/bot{token}/editMessageText?chat_id=12345&message_id=370&text=New text

这里的结果:

{
  "ok": false,
  "error_code": 400,
  "description": "Bad Request: message not found"
}

【问题讨论】:

  • 您应该提供更多详细信息,例如示例 API 调用和响应。
  • 不确定它是否有效,但尝试提供没有chat_id的message_id。
  • @Vladimir message_id 我认为只有在聊天区是独一无二的
  • 试了就知道了。或者我可以尝试分析我所有的电报机器人日志,但这需要一段时间。试一试,然后告诉我。
  • @CharlesOkwuagwu 感谢您的调查,但消息已完全由机器人发送和发送。而且这种情况还不止一次。

标签: telegram telegram-bot


【解决方案1】:

这是因为您尝试编辑的消息不是由机器人发送的。

我也有这个问题。就我而言,我试图编辑由三位管理员发送的频道上的一些帖子;两个人类管理员和一个机器人。

机器人只能编辑自己的消息。

编辑的时间限制仅适用于人类用户。

机器人可以随时编辑自己的消息。

【讨论】:

  • 是否可以编辑来自所有管理员的所有消息?
  • 据我所知,您无法编辑其他管理员的消息。人工管理员也不能编辑其他人工管理员的消息。当我尝试使用 bot 删除其他管理员的消息时,这是我自己的问题,我找到了支持此功能的 API。建议你上网搜索一下,看看有没有支持编辑的API。但我认为这是不可能的。
【解决方案2】:

时间限制为48小时source

您将在已删除邮件或已过期邮件下收到此错误代码。

我已经有一段时间没有使用 Telegraph API,但我确实记得看到过您提到的一些不一致的行为。我最终不得不在我的 API 调用上实现重试逻辑来绕过它。

您可以先手动进行试验,看看是否对您有帮助。我不知道他们是否解决了我过去遇到的问题,但重试确实对我有所帮助。

【讨论】:

  • 请注意,一条消息不时有不同的编辑操作结果,在问题中提到了这一点
  • 编辑消息时间限制只对普通用户有效。机器人不受此类限制的影响。
猜你喜欢
  • 2018-07-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-16
  • 2021-12-18
  • 2016-09-29
  • 2016-03-04
相关资源
最近更新 更多