Даже не знаю как можно подойти к этому вопросу. Пишу бота, дошел до команды настроек (чтобы пользователь мог подстраивать его под себя). Планируется делать через "диалог":
-/settings
-Укажите регион (и тут вылазит инлайн клавиатура с регионами)
Проблема в том, что при нажатии на клавиатуру, телеграм отсылает новый запрос и он обрабатывается уже новым процессом (если я правильно понимаю логику, то одно обращение = один процесс), который не знает, что пользователь занимается настройками.
Весь код прилагать не буду, вот обработчик команд:
//тут еще свич и тд
case '/settings':
$keyboard = array(
array(
array('text' => '1', 'callback_data' => 'callback'),
array('text' => '2', 'callback_data' => 'callback'),
array('text' => '3', 'callback_data' => 'callback')
)
);
if($bot->sendMessage($in->from->id, 'Укажите регион для которого хотели бы получать новости:', 'markdown', false, null, $bot->replyKeyboardMarkup($keyboard, true, true))){
}
break;
default:
$bot->sendMessage($in->from->id, "Команда не распознана, проверьте ее актуальность нажав */* и повторите.", 'markdown');
break;
Возможно есть у кого-то бот с такими "возможностями"? Сам класс бота отсюда
тык