Skip to content

Egas88/SelectelHack

Repository files navigation

Хакатон Selectel

Телеграм бот / Кейс "Для людей" для DonorSearch

Описание проекта

В данном проекте представлен Telegram-бот для платформы DonorSearch. В функционал данного бота входит

  • Регистрация и авторизация на платформе
    • Изменение регистрационных данных
    • Смена пароля
  • Функционал донаций
    • Добавление донации
    • Планирование донации
    • Запрос конкретной донации
  • Запрос информации о центрах крови
    • Запросить потребности в крови по адресам
    • Запросить информацию по центрам
  • Получение данных о геймификации
    • Узнать статус геймификации
    • Получить последнюю информацию о различных играх и спецпроектах

Также вы сможете поддержать проект и запросить статус почётного донора!

Структура проекта

.
└── SelectelHack/
    ├── auth_register/
    │   ├── change_creds/
    │   │   └── change_creds.py
    │   ├── auth.py
    │   ├── register.py
    │   ├── users.py
    │   └── validators.py
    ├── blood_station/
    │   └── blood_station.py
    ├── sities/
    │   └── cities.py
    ├── donation/
    │   ├── donation.py
    │   ├── donation_planning.py
    │   └── guide.py
    ├── img/
    │   └── logo.jpg
    ├── menu/
    │   ├── menu.py
    │   └── menu_handlers.py
    ├── start/
    │   └── start.py
    ├── api.py
    ├── bot.py
    └── handlers.py

Сам бот создается в файле bot.py:

bot = telebot.TeleBot(os.getenv('BOT_TOKEN'))

BOT_TOKEN это специальный токен, получаемый от бота @BotFather в Telegram. Он передается в переменных окружения

Файл handlers.py содержит информацию о глобальых хэндлерах бота: главное и стартовое

В папке auth_register сождержатся файлы для регистрации и авторизации.

  • auth.py описывает авторизацию зарегистрированных пользователей
  • register.py описывает регистрацию пользователей; поддерживается регистрация по Email и телефон
  • users.py содержит тестовое поле для хранения аутентификационных данных о пользователе, вместо использования БД для временного хранения
  • validators.py содержит различные валидаторы телефона, Email и пароля пользователя

В blood_station находится информация о центрах крови:

  • blood_station.py описывает выбор Центров сбора крови для просмотра тех, которым нужны определённые группы крови, а также тех, где можно сдать кровь группы пользователя

В donation описан функционал планирования донации и:

  • donation.py позволяет добавить/запланировать/удалить/просмотреть донации

Папка menu содержит файлы основного меню приложения:

  • menu.py описывает главное меню, получаемое при успешной авторизации
  • menu_handlers.py выписаны хэндлеры для кнопок из главного меню

Ссылка на презентацию по проекту, где также можно ознакомиться с тем, как польователю взаимодействовать с ботом! А вот и ссылочка!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages