@kyklaed

Как написать автомат состояний (api telegram)?

Добрый день, есть такая проблема, не понимаю как написать автомат состояний

есть задача после введенной команд от юзера , ожидать ввода с клавиатуры. как только пользователь вводит нужно выполнить функцию вывода из бд.

как сама конструкция выглядит как ее применить ?
потому как состояний внутри телеграма я не нашел.
и никаких getstate итд
  • Вопрос задан
  • 1612 просмотров
Решения вопроса 1
@nllm
В bot api telegram и не должно быть методов для работы с состояниями.
Состояния это уже логика самого приложения, а api это интерфейс для работы с мессенджером.

Самый простой вариант для состояний:
1. Делаем таблицу state, в которой храним id пользователя и его текущее состояние.
2. При каждом обращении к боту проверяем в каком состоянии пользователь. Если обращение в первые, то создаем запись.
3. В логике бота смотрим при каких состояниях, что должно происходить.

Можно все в базу писать, можно redis использовать, можно в памяти держать (если скрипт бота постоянно работает, а не через вебхуки запускается скрипт и после выполнения завершается).
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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