nice-coding
@nice-coding
веб-программист

Как в telebot (pyTelegramBotAPI) обрабатывать разными функциями одни и те же текстовые сообщения?

например после разных вопросов пользователь будет тыкать "да" или "нет". Как обрабатывать его ответы той функцией, которой нужно? У всех функций одна и та же обертка @bot.message_handler(content_types=['text']). И все они запускаются, если текст, на обработку которого они написаны совпадает. Более подробно данный вопрос раскрыт здесь: Как переключать функции обработчики текстовых сообщений в telebot python?
  • Вопрос задан
  • 6184 просмотра
Решения вопроса 1
nice-coding
@nice-coding Автор вопроса
веб-программист
ответ найден: используется конечный автомат. Описание здесь: https://groosha.gitbooks.io/telegram-bot-lessons/c...
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
vera_ira
@vera_ira
Делаю приложение по изучению Иврит (Python Kotlin)
Думаю, легче воспользоваться модулем fsm_telebot.storage
$ pip install -U FSMTelegramBotAPI

import fsm_telebot
from fsm_telebot.storage.memory import MemoryStorage
storage = MemoryStorage()

В процессе бот задаем нужный параметр. Например так:
bot.set_state('level_1', message.chat.id)
И вызываем хендлер:
@bot.message_handler(state='level_1')
Очень подробно описано тут:
https://github.com/Ars2014/FSMTelegramBotAPI
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы