@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