@YuriyCherniy

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

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

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

Войти через центр авторизации
Похожие вопросы
KRIT Санкт-Петербург
от 160 000 ₽
YLab Москва
от 180 000 ₽
Большая Тройка Москва
от 120 000 до 200 000 ₽
08 апр. 2020, в 10:58
10000 руб./за проект
08 апр. 2020, в 10:23
8000 руб./за проект
08 апр. 2020, в 08:47
1000 руб./за проект