После анализа требований и утверждения технического задания и схем мы разработали оптимальный алгоритм работы бота, который опирается в том числе на высокую нагрузку на бота. Бот разработан на языке Python для того, чтобы он мог размещаться на сервере заказчика и быть более быстродейственным, чем бот, выполненный на конструкторе.
Для работы с ботом на стороне компании мы разработали функциональную административную панель, доступ к которой есть только у определенных лиц компании. На стороне админ панели разработаны 3 вида рассылок:
1) Рассылка для зарегистрированных пользователей – для всех, кто зарегистрировал чек для участия в розыгрыше
2) Для незарегистрированных пользователей – для тех, кто по каким-либо причинам не завершил один из этапов регистрации в розыгрыше.
3) Для победителей розыгрыша – реализована индивидуальная рассылка пользователям по telegram_id
Каждому пользователю после регистрации чека присваивается номер билета. Для актуализации данных бота нами была предусмотрена функция исправления текста сообщений бота. Для пользователей, нарушающих правила, был разработан бан-лист с возможностью блокировки и разблокировки пользователя. Также был разработан таймер для отключения части функционала бота в день завершения регистрации в розыгрыше. Текст по окончанию акции также автоматически менялся.
Выгрузка данных пользователей производилась в excel-формате. Фотографии чеков, загруженных пользователями, хранились в Яндекс.Диск. В базу данных попадала ссылка на фотографию каждого пользователя. Для манипулирования базой данных техническими специалистами компании заказчика был подключен фреймворк FastAPI. Было настроено время сессии 15 минут для обеспечения безопасности данных.