База данных
Боту нужна база, если надо помнить пользователей, баллы, настройки. Для небольших проектов хватает SQLite, для нагрузки - PostgreSQL.
Что хранить
Заголовок раздела «Что хранить»- Пользователь:
telegram_id, имя, дата регистрации, роль. - События: что сделал пользователь и когда (для начисления баллов).
- Настройки: тексты, лимиты, параметры уровней.
Порядок работы
Заголовок раздела «Порядок работы»- Нарисуйте таблицы и связи.
- Используйте миграции или хотя бы скрипт создания таблиц.
- Все запросы - параметризованные, без склейки строк.
- Делайте резервную копию базы по расписанию.
Типичные ошибки
Заголовок раздела «Типичные ошибки»- Хранение данных в переменных: после перезапуска всё теряется.
- SQL-инъекции из-за склейки строк.
- Нет индекса по
telegram_id.
Чек-лист
Заголовок раздела «Чек-лист»- Таблицы описаны
- Запросы параметризованы
- Есть бэкап