{
ok: true,
result: {
message_id: 2322,
from: {
...
},
chat: {
...
},
date: 1601566929,
dice: { emoji: '', value: 6 }
}
}
composer require irazasyed/telegram-bot-sdk:dev-master
<?php
use Telegram\Bot\Commands\Command;
use Telegram\Bot\Keyboard\Keyboard;
$telegram = new Telegram\Bot\Api('MY_KEY');
$update = $telegram->getWebhookUpdates();
// данные сообщения в зависимости от callback_query
if ( isset($this->update['callback_query'])) {
$message = $update['callback_query'];
} else {
$message = $update;
}
$chatId = $message['message']['chat']['id'];
// правильно формируем клавиатуру:
$keyboard = [
[
Keyboard::inlineButton(['callback_data'=>'/butt1','text'=>'Кнопка 1']),
Keyboard::inlineButton(['callback_data'=>'/buut2','text'=>'Кнопка 2'])
]
];
$reply_markup = $telegram->replyKeyboardMarkup([
// 'keyboard' => $keyboard, // вместо этого используем:
'inline_keyboard' => $keyboard,
'resize_keyboard' => true,
'one_time_keyboard' => false
]);
// если нажали кнопку:
if ( isset($this->update['callback_query'])) {
$telegram->sendMessage(array(
'chat_id' => $chatId,
'text' => "Вы нажали на кнопку с кодом: " . $message['data'], // именно в $message['data'] - будет то что прописано у нажатой кнопки в качестве callback_data
'reply_markup' => $reply_markup,
));
} else {
$telegram->sendMessage(array(
'chat_id' => $chatId,
'text' => 'Нажмите на одну из кнопок:',
'reply_markup' => $reply_markup,
));
}
location ~ \.php$ {
try_files $uri =404;
location ~ ^/(.*\.php)$ {
try_files $uri /index.php?_route_=$1;
$keyboard = [
'keyboard'=>[
[['text'=>'Кнопка 1'],['text'=>'Кнопка 2']] // Первый ряд кнопок
,['Простая кнопка',['text'=>'Кнопка 4']] // Второй ряд кнопок
]
];
$post_fields = [
'chat_id' => 12121211,
'text' => 'бла бла бла текст',
'reply_markup' =>Json::encode($keyboard)
];
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_fields);