@YuriyCherniy

Как сохранять состояние пользователя телеграм бота?

Пишу Telegram бота на Python в учебных целях без использования сторонних библиотек. Бот реализует словарные карточки для изучения иностранного языка. Алгоритм работы: есть набор из 100 слов, бот одновременно тренирует 10 слов из набора до тех пор, пока пользователь не по пометит какое-нибудь слово выученным, затем это слово удаляется из тренируемых и добавляется новое из оставшихся 90. Вопрос: как реализовать возможность использования бота несколькими юзерами? Думаю подключить SQlite базу данных и записывать состояние после каждого изменения. Но изменения могут быть слишком частыми и читать придется базу при каждом взаимодействии с пользователем. Не слишком ли это накладно для производительности бота?
  • Вопрос задан
  • 284 просмотра
Решения вопроса 2
inoise
@inoise
Solutions Architect, AWS Certified, Hybrid Cloud
Возьми нормальную базу. MySQL или Postges, например. Можно какую-то другую, но только не sqlite
Ответ написан
@imvo
Можно и json файлах хранить это дело. Если строк меньше миллиона, то проблем со скоростью не будет
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Gersog
Возьмите обыкновенные txt файлы. В один будет записываться база юзеров, и один принадлежит каждому юзеру, где хранится текущее состояние его. При каждом запросе проверяйте есть ли юзер в первом файле, если есть то идет проверка какое сейчас состояние. В БД всегда можно будет потом все перенести, чтобы сейчас не тратить кучу времени на изучение.
Ответ написан
Ваш ответ на вопрос

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

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