gluck59
@gluck59
Виртуальный глюк

Почему клавиатура в Telegram bot работает выборочно?

Привет

Пишу бота, есть задача показать юзеру клавиатуру с колбеком.
Код клавиатуры выглдяит так:
apiRequestJson("sendMessage", array('chat_id' => $chat_id, "text" => $out, 'parse_mode' => 'HTML',
        'reply_markup' => array(
            'keyboard' => array(
                array(
                    array('text' => '11', 'url' => 'https://google.com'), 
                    array('text' => '33', 'request_contact' => true),       // работает 
                    array('text' => '22', 'callback_data' => 'callback')
            )),
            'one_time_keyboard' => true,
            'resize_keyboard' => true
        )
    ));

Кнопка "33" работает как описано в доке, остальные тупо передают свой text и больше ничего. Урл не открывается, колбек не вызывается.
Я что-то не учел?
  • Вопрос задан
  • 2433 просмотра
Решения вопроса 1
@nllm
Вы намешали в одном обычную клавиатуру и инлайн клавиатуру.
url и callback для кнопок можно указать только для инлайн клавиатуры

https://core.telegram.org/bots/api#keyboardbutton
...
'keyboard' => array(
                array(
                    array('text' => '33', 'request_contact' => true),       // работает 
            )),
...


https://core.telegram.org/bots/api#inlinekeyboardbutton
...
'inline_keyboard' => array(
                array(
                    array('text' => '11', 'url' => 'https://google.com'), 
                    array('text' => '22', 'callback_data' => 'callback')
            )),
...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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