МГКЦТ Бот расписаний - это бот для удобного просмотра расписания в Минском государственном колледже цифровых технологий. Если у вас возникли проблемы с использованием бота или вы нашли ошибку, пожалуйста, создайте issue в репозитории проекта или внесите свои изменения через Pull Request.
Я хотел бы также упомянуть, что ранее этот проект размещался в отдельном приватном репозитории, который насчитывал 223 коммита. Однако, в процессе разработки в старом репозитории были хранены конфиденциальные данные, что потребовало отделить проект и разместить его в новом, открытом репозитории.
При переносе проекта в новый репозиторий я постарался убедиться, что все конфиденциальные данные были удалены и заменены соответствующими конфигурационными файлами и примерами для облегчения работы других разработчиков с проектом.
Хотя некоторые коммиты могут быть потеряны, я надеюсь, что текущий репозиторий будет полезным и доступным для всех заинтересованных разработчиков.
Я хочу предупредить и извиниться перед теми, кто заинтересован в этом проекте, что код был написан мной без строгого следования лучшим практикам разработки и стандартам качества. В результате, некоторые части кода могут показаться громоздкими, сложными для понимания или неэффективными. Я осознаю, что это может затруднить работу с проектом и его доработку.
Тем не менее, я приглашаю всех желающих присоединиться к разработке и внести свой вклад в улучшение кода, оптимизацию и переписывание отдельных компонентов. Я буду рад любой помощи в улучшении качества проекта и сделаю все возможное, чтобы поддержать участников в этом процессе.
Еще раз приношу извинения за возможные неудобства и надеюсь на ваше понимание и содействие в развитии проекта.
- Viber бот: https://mgke.keller.by/viber
- Telegram бот: https://t.me/mgke_slave_bot
- ВК бот: https://vk.com/mgke_slave
- Мини-приложение ВК: https://vk.com/app8071219
Проект состоит из различных модулей и компонентов, важные из которых описаны ниже:
-
Папка команд (src/services/bots/commands) - здесь находятся все команды для различных платформ (ВК, Telegram и Viber). Команды разделены по категориям, таким как
admin
,main_menu
,rasp
,settings
, и другим. -
Папка сервисов (src/services) - содержит различные сервисы для работы с Алисой, API, ботами и созданием изображений. В каждой подпапке находятся специфичные файлы для каждого сервиса:
- Alice: обработка навыков и пользовательских запросов
- API: обработка методов API
- Bots: реализация абстрактных классов и методов для ботов
- Image: создание изображений с расписанием
- VK App: обработка методов для мини-приложения ВКонтакте
- Parser: отвечает за обновление данных расписания и кэширование
- Timetable: хранение данных о расписании. В папке types находятся типы данных для расписания преподавателей и групп.
Дополнительно к этим ключевым папкам, следует обратить внимание на следующие файлы и папки:
- db/ - подключение базы данных
- http.ts - настройка и работа с HTTP-сервером
- src/formatter - форматировщик расписания
- src/services/bots/abstract - содержит абстрактные классы и методы для ботов
- src/utils - содержит различные утилиты, такие как сортировка, преобразование времени, проверка подписи и другие функции
Это краткое описание ключевых компонентов и структуры проекта. Ознакомьтесь с этими папками и файлами для более глубокого понимания работы бота и его возможностей.
Для запуска бота требуется Node.js. Следуйте приведенным ниже шагам для установки и запуска:
-
Убедитесь, что у вас установлен Node.js. Если нет, установите его с официального сайта: https://nodejs.org/
-
Клонируйте репозиторий проекта:
git clone https://github.com/Keller18306/MgkeTimetableBot.git
-
Перейдите в каталог проекта:
cd MgkeTimetableBot
-
Установите зависимости проекта с помощью Yarn:
yarn
-
Скопируйте файл
config.example.ts
и переименуйте его вconfig.ts
. Откройтеconfig.ts
и заполните необходимые значения переменных, согласно схеме из файлаconfig.scheme.ts
. В конфиге можно настраивать различные сервисы, такие как ВКонтакте, Telegram, Viber и API.ВАЖНО! По умолчанию в конфиге включены следующие сервисы:
http
,api
,timetable
,parser
. Для того, чтобы запустить бота/ботов необходимо указать сервисbot
, а также сервис соц-сети (напримерtg
,vk
,viber
).Некоторые сервисы требуют наличия других сервисов, например:
Сервис Обязательные сервисы Второстепенные tg bot, timetable image, google vk bot, timetable image, google viber bot, http, timetable image, google vkApp http, timetable api http, timetable alice http, timetable google_calendar timetable bot, http parser timetable bot image http Пример для запуска телеграм (без апи, но с генерацией изображения):
export const config: ConfigScheme = { dev: false, services: ['timetable', 'parser', 'bot', 'tg', 'image'], db: { ...
Полный список сервисов можно найти в src/app.ts
-
Добавьте в конфиг 32-байтный ключ шифрования. Вы можете сгенерировать его, выполнив следующую команду в консоли:
node -e "console.log(require('crypto').randomBytes(32).toString('base64'))"
Скопируйте полученный ключ и добавьте его в соответствующее поле в файле config.ts.
-
Запустите бота:
yarn start
Поздравляем, ваш МГКЦТ Бот расписаний успешно запущен и готов к работе!
Данный проект распространяется под MIT лицензией. Если вы хотите создать свою версию бота, обязательно указывайте авторство оригинального проекта.