@YuriyCherniy

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

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

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

Войти через центр авторизации
Похожие вопросы
ZClick Москва
от 50 000 до 100 000 руб.
Protoplan Краснодар
от 80 000 до 150 000 руб.
23 июл. 2019, в 00:54
1000 руб./за проект
23 июл. 2019, в 00:45
1200 руб./за проект
22 июл. 2019, в 23:38
35000 руб./за проект