@edlirius
Инженер телекоммуникационной компании

Как в Telegram Bot правильно сделать editMessageText?

Здравствуйте уважаемые знатоки.
Имеется телеграм бот в котором реализована InlineKeyboard:
$message_id = $data['message']['message_id']; // ID сообщения
$bot_message_id = (int)$message_id+1;     

$main_keyboard = json_encode([
            "inline_keyboard" => [
                [
                    [
                        "text" => "Button 1",
                        "callback_data" => "btn1"
                    ],
                    [
                        "text" => "Button 2",
                        "callback_data" => "btn2"
                    ],
                    [
                        "text" => "Button 3",
                        "callback_data" => "btn3"
                    ]
                ]
            ]
        ]);

        if ($message_in == "test") {
                $message_out = "Test InlineKeyboard";
                $params = ['chat_id' => $chat_id, 'text' => $message_out, 'reply_markup' => $main_keyboard];
                file_get_contents($SOURCE_URL.$TOKEN_BOT.$METHOD_SENDMESSAGE.http_build_query($params)); 
            }

        if ($callback_data == "btn1") {
                $edit_message_out = 'Edited message!';
                $params = ['chat_id' => $callback_id, 'message_id' => $bot_message_id, 'text' => $edit_message_out, 'reply_markup' => $main_keyboard];
                file_get_contents($SOURCE_URL.$TOKEN_BOT.$METHOD_EDITMESSAGE.http_build_query($params));
            }


Вопрос в следующем - при нажатии на кнопку сообщение не изменяется совсем, но если 'message_id' выставить вручную то сообщение изменяется. Подскажите куда копать?
(int) убирать пробовал, добавил для теста. Если задать просто /sendMessage и отправить ему переменную $bot_message_id то он нормально её переваривает и выводит. Но при составлении параметра массива для отправки /editMessageText не хочет вообще ничего делать.
  • Вопрос задан
  • 73 просмотра
Решения вопроса 1
@alekssamos
Программист любитель
$message_id = $data['query']['message']['message_id']; // ID сообщения
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы