Уже довольно долго мучаюсь, решил зарегистрироваться уже тут. К сути. Использую библиотеку Telegram Bot PHP SDK. Вот куски кода.
<?php
include('vendor/autoload.php'); //Подключаем библиотеку
use Telegram\Bot\Api;
$telegram = new Api('ххх'); //Устанавливаем токен, полученный у BotFather
$updates = $telegram->getWebhookUpdates(); //Передаем в переменную $updates полную информацию о сообщении пользователя
$text = $updates["message"]["text"]; //Текст сообщения
$chat_id = $updates["message"]["chat"]["id"]; //Уникальный идентификатор пользователя
$name = $updates["message"]["from"]["username"]; //Юзернейм пользователя
$callback_query = $updates['callback_query'];
$data = $callback_query['data'];
...
}elseif ($text == "Work plz") {
require('keyboard.php');
$telegram->sendMessage([ 'chat_id' => $chat_id, 'text' => "Test", 'reply_markup' => $replyMarkup1 ]);
if ($data == "1") {
$telegram->sendMessage([ 'chat_id' => $chat_id, 'text' => "1" ]);
} else {
$telegram->sendMessage([ 'chat_id' => $chat_id, 'text' => "2" ]);}
keyboard.php
<?php
// Inline keyboard #1
$inline_button0 = array("text"=>"0","callback_data"=>"1");
$inline_button1 = array("text"=>"1","callback_data"=>'/2');
$inline_button1 = array("text"=>"2","callback_data"=>'/3');
$inline_keyboard = [[ $inline_button0,$inline_button1,$inline_button2],
];
$keyboard1=array("inline_keyboard"=>$inline_keyboard);
$replyMarkup1 = json_encode($keyboard1);
?>
Она впринципе (как и всё остальное) работает исправно. Могу ответственно сказать что я пересмотрел все темы тут, и заходил ДАЖЕ на вторую страницу гугла. Что тут может быть не так, хз. Версия не dev, пробовал ставить её, так код переставал работать вообще, делал как тут -> Как обработать нажатие на кнопку клавиатуры бота, созданном на Telegram Bot API — PHP SDK? толку - 0.
Если кому понадобится, то вот как я это решил. (я всё таки обновился до dev версии, также у @botfather включил inline mode) Kod :
$inline_id = $updates["callback_query"]["message"]["chat"]["id"];
$data = $updates["callback_query"]["data"];
if (isset($data)) {
$telegram->sendMessage([ 'chat_id' => $inline_id, 'text' => "Test" ]);
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Заказчик поставил цель: создать для салона красоты онлайн запись на какую то услугуТ
Как в PHP перебрать массив, который содержит как простые элементы, так и элементы, которые тоже являются массивами? То есть мне нужно получить...