Как обрабатывать callback от телеграмм бота по условию?



@lucsieus

Здравствуйте, умные люди. Прошу вас помочь.

Логика бота такая с битрикс24 отправляется запрос к скрипту бота (юзал эту библиотеку), бот принимает данные с битрикс24 через GET.
Затем отправляет параллельно с данными, кнопки в группу — в таком виде. По логике когда юзер нажимает кнопку должен меняться текст в поле стадия заказа.

Вот в этом моменте зашел в тупик, вопрос такой: как обрабатывать входящий callback по условию. Например когда я сейчас нажимаю на кнопку код полностью обрабатывается, и сообщения падает в группу.

Как сделать так чтобы, когда юзер нажимал на кнопку текст менялся и сообщение не падали (и чтобы они падали только в том случае если идет запрос с битрикс24). Примерно по логике понимаю, но не хватает знании (а времени мало). Можете помочь по коду…

<?php
//Подключаем библиотеку
include('vendor/autoload.php');
use TelegramBotApi;
//Указываем токен телеграм бота
$telegram = new Api('******');
$result = $telegram->getWebhookUpdates();
$result = json_decode($result, True);
//получаем данные с callback_query
$callback_data = $result['callback_query']['data'];
$callback_id = $result['callback_query']['message']['chat']['id'];
$callback_message_id = $result['callback_query']['message']['message_id'];
//собираем инлайн кнопки в объект
$text="Отправлен в группу";
$keyboard = json_encode([
    "inline_keyboard" => [
        [
            [
                "text" => "Готовится",
                "callback_data" => "Готовится"
            ],
            [
                "text" => "Отправлен",
                "callback_data" => "Отправлен"
            ],
            [
                "text" => "Отменен",
                "callback_data" => "Отменен"
            ]
        ]
    ]
]);

$telegram->sendMessage([
    'chat_id' => -*****,
    'text' => 'Стадия заказа: '.$text,
    'reply_markup' => $keyboard
]);


if ($callback_data = true){
    $telegram->editMessageText([
        'chat_id' => -*******,
        'message_id' => $callback_message_id,
        'text' => 'Стадия заказа: '.$callback_data,
        'reply_markup' => $keyboard
    ]);}


Решения вопроса 0


Ответы на вопрос 0

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *