mrNiKitus

"Я придумал такие костыли для этой функции, что..."

https://mrnikitus.ru/schedule – Браузер CuteChrome

Бот расписания занятий ПИЭ

В начале ноября 2020 года был запущен Telegram-бот под названием "Расписание занятий ПИЭ". Изначально он просто показывал расписание и уведомлял о парах, но потом он оброс довольно большим количеством функций...

В данный момент работа данного бота приостановлена на неопределенный срок.

Используемые технологии

  • Язык программирования: Python 3.x
  • Библиотеки:
  • Хранение данных: MySQL

Содержание

  1. Первая версия
  2. Функции для администратора
  3. Техподдержка и ответы на вопросы
  4. Крупное обновление
  5. Отключение бота и планы на будущее

Первая версия

Самая первая версия была выпущена 2 ноября 2020 года после примерно месяца разработки (с учетом того, что язык Python был для меня первым и я занимался проектом по вечерам по пару часов в день).

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

Первичная настройка бота

Справка

Расписание занятий

Уведомления

Настройка уведомлений

Функции для администратора

В первой версии бота присутствовали некоторые функции, которые позволяли заполнять расписание, выполнять рассылки, а также отвечать на вопросы людей. В будущих обновлениях, когда были добавлены новые функции, список команд расширился.

Сервисное меню

Изменение расписания

Рассылка сообщений

Техподдержка и ответы на вопросы

Бот поддерживает отправку текстовых сообщений администратору, а также ответ на них.

Отправка вопроса

Просмотр вопросов и отправка ответа

Крупное обновление

22 ноября того же года вышло довольно крупное обновление для сервиса. Основные новшества можно перечислить ниже.

  • Добавление собственных занятий и событий в расписание
  • Добавление домашних заданий и заметок
  • Более расширенные настройки уведомлений

23 ноября была исправлена ошибка состояния гонки, которая приводила к краху бота в некоторых случаях и могла приводить к утечке данных и путанице между пользователями.

Описание новой версии представлено на скриншотах ниже.

Новые функции представлены ниже.

Список домашних заданий

Расписание занятий с пользовательскими событиями

Расширенные настройки уведомлений

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

Добавление пользовательских занятий в расписание и их редактирование

Добавление прочих занятий (вне расписания) и их редактирование

Добавление и редактирование заметок и д/з

Отключение бота и планы на будущее

В конце 3-го семестра (в конце января 2021) бот был отключен. Изначально планировалось его переписать на новую платформу (либо Django с использованием Python-telegram-bot, либо только последний), проведя полный рефакторинг, и запустить его к началу 4 семестра (конец февраля 2021), но проект был отложен до лучших времен. У него были серьезные уязвимости и отсутствие защиты от SQL-инъекций (плюс очень большая "костыльность" и сложность добавления новых функций), поэтому старая версия запущена больше не будет.

Осенью 2022 года был запущен новый сервис NKSchedule, который имеет web-интерфейс и большую настраиваемость.

© 2026 mrNiKitus