Делаю inline клавиатуру с помощью библиотеки telegram bot sdk.
Сейчас файл-обработчик выглядит так:
<?php
require __DIR__ .'/vendor/autoload.php';
use Kafkiansky\Engine\Database\Database;
use Kafkiansky\Engine\Progbot\Helper;
use Telegram\Bot\Keyboard\Keyboard;
$params = require 'settings.php';
$token = require 'token.php';
$db = new Database($params);
$bot = new Helper($token["token"]);
$text = $bot->getText();
$chat_id = $bot->chatId();
$first_name = $bot->getFirstName();
$username = $bot->getUsername();
$message = $db->getOne()->content;
$keyboard_default = Keyboard::make()
->inline()
->row(
Keyboard::inlineButton(['text' => 'Создать пост', 'callback_data' => '/get'])
)
->row(
Keyboard::inlineButton(['text' => 'Отложенные', 'callback_data' => '']),
Keyboard::inlineButton(['text' => 'Редактировать', 'callback_data' => ''])
)
->row(
Keyboard::inlineButton(['text' => 'Опубликовать', 'callback_data' => '']),
Keyboard::inlineButton(['text' => 'Назад', 'callback_data' => ''])
);
$keyboard_get_post = Keyboard::make()
->inline()
->row(
Keyboard::inlineButton(['text' => 'Группа', 'callback_data' => ''])
)
->row(
Keyboard::inlineButton(['text' => 'Назад', 'callback_data' => ''])
);
switch ($text) {
case "/start":
$bot->sendMessage([
'chat_id' => $chat_id,
'text' => 'Здесь вы можете создавать публикации',
'reply_markup' => $keyboard_default,
'one_time_keyboard' => true
]);
$db->store($username, $first_name, $chat_id);
break;
}
switch ($data) {
case "/get":
$bot->sendMessage([
'chat_id' => $chat_id,
'text' => 'Выберите канал',
'reply_markup' => $keyboard_get_post
]);
break;
}
Мне нужно получить данные callback_data и по ним проверить соответствие. В issue репозитория с библиотекой я видел примеры получения с помощью метода getCallbackQuery(). у меня в 3 dev master версии нет такого метода. Таким способом:
$output = json_decode(file_get_contents('php://input'), TRUE);
$callback_query = $output['callback_query'];
$data = $callback_query['data'];
callback_data я тоже не могу получить. Кто сталкивался с такой проблем и как решил?