/UniversityScheduleBot

Schedule bot for Telegram

Primary LanguagePythonApache License 2.0Apache-2.0

UniversityScheduleBot

Бот для Telegram показывающий расписание занятий. Вы можете добавить его себе в Telegram, перейдя по ссылке: @UniversityScheduleBot

Проект разделён на модули. Такая структура, позволяет устанавливать лишь необходимые разработчику части проекта. Ниже представлен список основных модулей бота:

  • Модуль Telegram бота: UniversityScheduleBot - Бот для Telegram показывающий расписание занятий. Основной модуль проекта, осуществляющий обработку пользовательских запросов и формирование ответов на них.
  • Модуль для автоматической отправки расписания: autoposting
  • Модуль для работы с базой данных бота (добавление/изменение/удаление групп и файлов расписания): api_server
  • Панель управления базой данных бота: VkScheduleBot Control Panel. Предоставляет веб-интерфейс для взаимодействия с БД расписания, а также позволяет редактировать пользователей API бота (модуль api_server). Панель управления является модулем для UniversityScheduleBot и VkScheduleBot.

Также бот совместим с ботом для ВК (VkScheduleBot) - боты могут использовать одну базу данных для хранения расписания и информации о пользователях.

Wiki проекта: UniversityScheduleBot Wiki

Готовые Docker образы

Для всех модулей проекта уже собраны готовые Docker образы.

Модуль Telegram бота

Docker Cloud Build Status

Docker Hub: paladin705/telegram_schedule_bot

Модуль для автоматической отправки расписания

Docker Cloud Build Status

Docker Hub: paladin705/telegram_schedule_bot_autoposting

Модуль для работы с базой данных бота

Docker Cloud Build Status

Docker Hub: paladin705/vk_schedule_bot_api

Панель управления базой данных бота

Docker Cloud Build Status

Docker Hub: paladin705/vk_schedule_bot_db_control_panel

Структура репозитория

.
├── autoposting                       # Модуль для автоматической отправки расписания
│   ├── auto_posting_thread.py            # Основной скрипт модуля
│   ├── scheduleCreator.py                # Функции для генерации сообщения с расписанием
│   ├── scheduledb.py                     # Класс для работы с БД
│   ├── statistic.py                      # Отправка статистики на chatbase.com (На данный момент не используется - Chatbase прекращает работу 27 сентября 2021 года)
│   ├── helpers.py                        # Вспомогательные функции
│   ├── config.py                         # Настройки модуля 
│   ├── requirements.txt                  # Список используемых библиотек
│   ├── deploy                            # Скрипт для запуска Docker контейнера 
│   ├── Dockerfile
│   └── README.md
├── bot                               # Модуль бота для Telegram
│   ├── UniversityScheduleBot.py          # Основной скрипт модуля
│   ├── scheduleCreator.py                # Функции для генерации сообщения с расписанием
│   ├── scheduledb.py                     # Класс для работы с БД
│   ├── statistic.py                      # Отправка статистики на chatbase.com (На данный момент не используется - Chatbase прекращает работу 27 сентября 2021 года)
│   ├── helpers.py                        # Вспомогательные функции
│   ├── config.py                         # Настройки модуля 
│   ├── requirements.txt                  # Список используемых библиотек
│   ├── deploy                            # Скрипт для запуска Docker контейнера 
│   ├── Dockerfile
│   ├── commandsList.txt                  # Лист команд для @BotFather
│   └── README.md
├── db                                # Файлы для базы данных
│   └── schema.sql                        # Схема базы данных
├── docs                              # Файлы Wiki проекта
│   └── gifs                              # Gif'ки с примерами использования команд
│       ├── auto_posting_off_instruction.gif
│       ├── auto_posting_on_instruction.gif
│       ├── get_schedule_instruction.gif
│       ├── registration_instruction.gif
│       └── send_report_instruction.gif
├── .gitignore  
├── LICENSE
└── README.md