PHP 电报机器人:错误请求:找不到要编辑的消息
PHP telegram bot : Bad Request: message to edit not found
我使用这个 GitHub 包构建了我的 Telegram 机器人。我想编辑我从机器人发送的消息。我很困惑,因为我认为一切都是对的!!!
$content = array('chat_id' => $chat_id, 'text' => "
some text
" );
// sending message, it will return Telegram JSON's reply, contains message_id which is used further to //edit sent message (https://core.telegram.org/bots/api#message)
$newmess= $telegram->sendMessage($content);
// in order to edit the message we should provide the //(https://core.telegram.org/bots/api#editmessagetext) keys
// message_id is achieved by the last message sent ($newmess the message_id key)
$content = array('chat_id' => $newmess['chat']['id'],'message_id'=>$newmess['message_id'],'text' => "
some text 2
");
$telegram->editMessageText($content);
但是当我看到日志时,$newmess['message_id'] 是空的!根据 Telegram 文档,如果消息发送成功,则响应包含诸如 message_id 之类的键! (https://core.telegram.org/bots/api#message)
这是日志:
确定:错误
error_code: 400
描述:错误请求:未指定消息标识符
已解决:$newmess['result']['message_id']
需要结果键。
当用户在一段时间后单击内联键盘按钮时,也可能会收到 未找到要编辑的消息 错误。在这种情况下,由于删除消息而发生错误。 Telegram 可以随时从服务器上删除您的消息(与 Bot API 相关)。在这种情况下,您将收到格式错误的响应。
{
"update_id":23******9,
"callback_query":{
"id":"14*****11",
"from":{
"id":34*****0,
"is_bot":false,
"first_name":"*****",
"last_name":"*****",
"username":"*****",
"language_code":"uk"
},
"message":{
"message_id":74*****77,
"chat":{
"id":34*****10,
"first_name":"*****",
"last_name":"*****",
"username":"*****",
"type":"private"
},
"date":0
},
"chat_instance":"-26***736",
"data":"con***920"
}
}
我使用这个 GitHub 包构建了我的 Telegram 机器人。我想编辑我从机器人发送的消息。我很困惑,因为我认为一切都是对的!!!
$content = array('chat_id' => $chat_id, 'text' => "
some text
" );
// sending message, it will return Telegram JSON's reply, contains message_id which is used further to //edit sent message (https://core.telegram.org/bots/api#message)
$newmess= $telegram->sendMessage($content);
// in order to edit the message we should provide the //(https://core.telegram.org/bots/api#editmessagetext) keys
// message_id is achieved by the last message sent ($newmess the message_id key)
$content = array('chat_id' => $newmess['chat']['id'],'message_id'=>$newmess['message_id'],'text' => "
some text 2
");
$telegram->editMessageText($content);
但是当我看到日志时,$newmess['message_id'] 是空的!根据 Telegram 文档,如果消息发送成功,则响应包含诸如 message_id 之类的键! (https://core.telegram.org/bots/api#message)
这是日志:
确定:错误 error_code: 400 描述:错误请求:未指定消息标识符
已解决:$newmess['result']['message_id'] 需要结果键。
当用户在一段时间后单击内联键盘按钮时,也可能会收到 未找到要编辑的消息 错误。在这种情况下,由于删除消息而发生错误。 Telegram 可以随时从服务器上删除您的消息(与 Bot API 相关)。在这种情况下,您将收到格式错误的响应。
{
"update_id":23******9,
"callback_query":{
"id":"14*****11",
"from":{
"id":34*****0,
"is_bot":false,
"first_name":"*****",
"last_name":"*****",
"username":"*****",
"language_code":"uk"
},
"message":{
"message_id":74*****77,
"chat":{
"id":34*****10,
"first_name":"*****",
"last_name":"*****",
"username":"*****",
"type":"private"
},
"date":0
},
"chat_instance":"-26***736",
"data":"con***920"
}
}