@Sanezek

Можно ли с помощью KeyboardButton отправлять что-то подобное callback_data в InlineKeyboardButton?

у меня есть поле кнопок с одинаковым текстом, но которые должны выполнять разные команды, в самом апи я такого не нашел и в ботах не видел, но может кто-нибудь промышлял подобным?
P.S пишу на telepot
  • Вопрос задан
  • 1050 просмотров
Пригласить эксперта
Ответы на вопрос 1
Berloga
@Berloga
Студент IT-специальности. Люблю python
В общем случае - нет. Для ботов с "широким" деревом ответов или с ожиданием ввода не подходит плоская система проверки по тексту.
Есть плохой и хороший способ обойти эти:
- плохой - вставлять уникальный эмодзи / уникальный набор пробельных символов и эмулировать payload data таким образом (проблему с ожиданием ввода не решает)
- введение FSM - нужно хранить связь telegram_id -> state, где state - состояние, этап; и каждый раз когда приходит новое сообщение - доставать состояние пользователя, и обрабатывать согласно состоянию, а после - переключать состояние на следующее. Таким образом обработка сообщения зависит не только от содержимого сообщения (как сейчас), но также и от некоего параметра, что позволяет ветвить структуру меню и добавлять ожидание ввода
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы