Бот для ВК показывающий расписание занятий. Вы можете протестировать его работу, перейдя по ссылке: VkScheduleBot
Проект разделён на модули. Такая структура, позволяет устанавливать лишь необходимые разработчику части проекта. Ниже представлен список основных модулей бота:
- Модуль ВК бота: VkScheduleBot - Бот для ВК показывающий расписание занятий. Основной модуль проекта, осуществляющий обработку пользовательских запросов и формирование ответов на них.
- Модуль для автоматической отправки расписания: autoposting
- Модуль для работы с базой данных бота (просмотр/добавление/изменение/удаление групп и файлов расписания): api_server
- Программа для взаимодействия с сервером API бота (просмотр/добавление/изменение/удаление групп и файлов расписания): api_client
- Панель управления базой данных бота: VkScheduleBot Control Panel. Предоставляет веб-интерфейс для взаимодействия с БД расписания, а также позволяет редактировать пользователей API бота (модуль api_server). Панель управления является модулем для VkScheduleBot и UniversityScheduleBot
Также бот совместим с ботом для Telegram (UniversityScheduleBot) - боты могут использовать одну базу данных для хранения расписания и информации о пользователях.
Для всех модулей проекта уже собраны готовые Docker образы.
Docker Hub: paladin705/vk_schedule_bot
Docker Hub: paladin705/vk_schedule_bot_autoposting
Docker Hub: paladin705/vk_schedule_bot_api
Docker Hub: paladin705/vk_schedule_bot_db_control_panel
Пример рассчитан на использование Linux.
Для запуска бота из готовых Docker образов вам понадобятся файлы deploy
, docker-compose.yml
, nginx.conf
и db/schema.sql
расположенные в папке репозитория. Клонируйте репозиторий и перенесите эти файлы в новую папку (в примере используется папка bot
):
git clone https://github.com/paladin-705/VkScheduleBot.git
mkdir bot
mkdir bot/db
cp VkScheduleBot/deploy bot/deploy
cp VkScheduleBot/docker-compose.yml bot/docker-compose.yml
cp VkScheduleBot/nginx.conf bot/nginx.conf
cp VkScheduleBot/db/schema.sql bot/db/schema.sql
rm -r VkScheduleBot
Перейдите в папку bot
и сделайте файл deploy
исполняемым:
cd bot
chmod +x deploy
Запустите скрипт deploy
для установки параметров бота и запуска Docker контейнеров:
./deploy <PG_DB> <PG_USER> <PG_PASSWORD> \
<VK_CONFIRMATION_TOKEN> <VK_API_TOKEN> \
<STATISTIC_TOKEN> <WEEK_TYPE> <ADMIN_VK_ID> \
<DB_USER_TAG> <FLASK_ROUTE_PATH>
PG_DB
- Название базы данных (БД) PostgreSQLPG_USER
- Имя пользователя БДPG_PASSWORD
- Пароль пользователя БДVK_CONFIRMATION_TOKEN
- Токен для подтверждения адреса сервера. Параметр VK Callback APIVK_API_TOKEN
- Ключ доступа к сообщениям сообщества. Параметр VK APISTATISTIC_TOKEN
- Токен для отправки статистики на chatbase.com. На данный момент не используется - Chatbase прекращает работу 27 сентября 2021 года. Можно задать любое значение, но для скриптаdeploy
данный параметр не должен быть пустымWEEK_TYPE
- Тип первой недели семестра 0 - числитель, 1 - знаменательADMIN_VK_ID
- VK ID страницы администратора (только номер) для отправки информации о состоянии сервераDB_USER_TAG
- Идентификатор пользователей бота (используется для разделения пользователей, при общей базе данных для нескольких ботовFLASK_ROUTE_PATH
- Опредлеляет адрес сервера бота для VK Callback API
В дальнейшем, если изменение настроек не требуется, можно запускать бота с помощью команды:
docker-compose up -d