Ответы пользователя по тегу Telegram
  • Как сделать ссылку на Телеграм Бота с командой?

    Berloga
    @Berloga
    Студент IT-специальности. Люблю python
    Нет, deep linking поддерживает только /start payload. Но никто не мешает добавить в обработчик команды /start редирект в другую функцию по второму слову:
    /start info -> обработать как /info
    Ответ написан
    Комментировать
  • Как изменить вид inline-кнопки?

    Berloga
    @Berloga
    Студент IT-специальности. Люблю python
    1. Нужно внимательно глядеть в документацию и также внимательно читать ошибки: ты отправляешь InlineKeyboardMarkup с массивом из KeyboardButton, а там нужны InlineKeyboardButton, которые содержат text и callback_data: https://core.telegram.org/bots/api#inlinekeyboardmarkup
    2. Используй не .add, а два .row, в первом передай две кнопки, во втором - одну
    Ответ написан
    Комментировать
  • Можно ли с помощью KeyboardButton отправлять что-то подобное callback_data в InlineKeyboardButton?

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