пользователь нажимает на кнопку загрузить файл и следующим сообщением юзер загружает файл. Вопрос в том, как реализовывается вот такой вот контекст. То есть юзер может загрузить файл только тогда, когда нажмет на кнопку "Загрузить файл", но в остальных случаях будет распознаваться как несуществующая команда.
Я так понимаю это нужно через fsm делать, но я не понимаю как вот эти контексты расписать. Есть какой-то пример, где вот такое реализовано ?
как вариант: создайте несколько констант которые хранят типа "статус" и у вас будет статус "ждёт загрузки файлов" или "статус ждёт команды" и обрабатывайте свич кейсом
Хорошо, попробую. Еще вопрос. Лучше стейты хранит где-то по типу Redis или NoSql какая
в зависимости от размера бота и задач. У меня боты маленькие, храню в памяти просто какой-нибудь []Users{ID int64 Status string}
Тут вопрос в том, что будет, если бот упадет
И почему не мапа, а массив структур ?
храните как вам удобно в зависимости от задач
храните как вам удобно в зависимости от задач
В базе лучше хранить. Пример сцен без фреймворков тут https://github.com/vahter-robot/backend/blob/8f68e56285a342945318bbc1610117e67100588d/pkg/parent_bot/service.go#L288
Обсуждают сегодня