Skip to content

oleneen/tg-bot

Repository files navigation

Общие сведения Этот Telegram-бот автоматизирует процесс оплаты (и в ближайшем будущем записи на проекты) модельного агентства "Happy Kids" в Екатеринбурге. Он взаимодействует с пользователями через простые шаги, предлагает выбрать варианты из списка направляет их на нужные ссылки для оплаты. Бот также интегрирован с облачным хранилищем MEGA для отправки чеков директору и с базой SQLite для хранения и взятия ссылок.

Основные функции Диалоговая система: Приветствует пользователя и объясняет дальнейшие действия. Содержит механизм выбора группы, периода обучения и количества детей.

Работа с базой данных SQLite: Хранение ссылок на оплату для различных комбинаций группы, периода и количества детей. Добавление, получение и удаление записей из базы данных.

Интеграция с MEGA: Авторизация через переменные окружения (MEGA_EMAIL, MEGA_PASSWORD). Загрузка чеков об оплате в облачное хранилище.

Обработка ошибок: Если пользователь делает неверный выбор, бот сообщает об ошибке и перезапускает процесс. А также если ошибка повторяется два раза, пользователю приходит инструкция. Но если пользователь все равно не понимает, как работать с ботом или у него есть вопросы, ему даются мои контакнты для связи.

Гибкость интерфейса: Использование кнопок для удобного выбора ответов. Встроенная помощь через команду /help.

Поддержка мультимедиа: Приём фото чеков и их последующая обработка.

Поддержка многих пользователей одновременно: Любая информация о пользователе сохраняется в объект пользователей, и оттуда же достается, поэтому при параллельном использовании никакая чужая ссылка не прилетает.

Конечно, не обошлось без проблем, которые я не скрываю: Минусы, которые уходят в доработку

  1. При частых ошибках пользователя (неверный выбор из списка, например у него 1 ребенок, а выбрал случайно 2) может быть неудобно постоянно перезапускать диалог. (Буду вводить шаг назад при неверном выборе + подтверждение всех своих выборов. Я пыталась это сделать, но запуталась, поэтому пока отказалась)
  2. Для изменения текстов требуется вмешательство в код. (Собираюсь тексты тоже подключить к БД, как и ссылки для записи на проекты)
  3. Так как это мой первый опыт создания проекта самостоятельно (без курсов и одногруппников), а в написании больших программ я практикуюсь тоже впервые, то скорее всего, код у меня замудренный и сырой, поэтому необходима отладка кода, которой я займусь. + нужно разделение программы на модули.
  4. Список не закончился. Я открыта к критике

Как запустить: Если запускать просто main, то будут ошибки в совместимости библиотек, поэтому работает корректно только через docker, потому что там я настроила requirements и подогнала конфликтные библиотеки(если быть точной, библиотека обл.хранилища mega.py нуждается в tenacity>=5.1.5,<6.0.0, а python 3.10 требует tenacity==8.1.0, я понизила python до 3.8 через Dockerfile). Также, если вдруг будет открыто несколько контейнеров сразу, будет вылетать ошибка после запуска, но бот работает исправно. Исправить с помощью docker ps и docker stop.

Бот можно протестировать: @HappyKidsEkaterinburgBot

Я постаралась расписать все подробно, но если есть вопросы, я отвечу на все. Также есть аналитика проекта, которую могу прикрепить, если она понадобится.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors