Я сделал Telegram-бота, который наводит порядок в расписании
Я сделал Telegram-бота, который наводит порядок в расписании
Если в семье есть школа, кружки, секции и репетиторы, расписание очень быстро перестает быть «расписанием» и превращается в хаос:
скриншоты из чатов, заметки в телефоне, таблицы, которые никто не открывает, и вечный вопрос — «а сегодня у тебя что?».
В какой-то момент я понял, что хочу одно простое место, где:
уроки и внеурочка собраны вместе;
видно день и неделю целиком;
нельзя случайно налепить пересекающиеся занятия;
расписанием можно поделиться с семьей за минуту.
Так появился Telegram-бот @ClassMatePlannerBot.
Кому он реально пригодится
Родителям, которые ведут расписание ребенка и хотят видеть общую картину.
Школьникам и студентам с плотным графиком.
Семьям, где расписание нужно быстро передать друг другу — без объяснений и переписывания.
Что делает бот
@ClassMatePlannerBot — это не «умный ассистент», а аккуратный инструмент:
хранит уроки и внеурочку отдельно,
но показывает их в одном списке;показывает расписание на сегодня и на всю неделю;
проверяет пересечения и не дает сохранить конфликтные занятия;
ограничивает размер дня
(до 12 уроков и 6 внеурочек — чтобы список оставался читаемым);умеет делиться расписанием по ссылке
(срок действия — 24 часа).
Как это выглядит в жизни
Сценарий 1. Собрать день за 5 минут
Я просто копирую расписание и вставляю его боту:
08:30-09:15 Математика 204 (Иванова) 09:25-10:10 Русский 312 10:30-11:15 Английский
Затем добавляю внеурочку:
16:00-17:00 Робототехника к.12 18:30-19:30 Плавание бассейн
Бот сам проверяет, что ничего не пересекается, и сохраняет только корректный вариант.
Без ручных проверок и «ой, не заметил».
Сценарий 2. Один раз ввел — все пользуются
Я вызываю /share, отправляю ссылку маме или папе —
и у них появляется то же расписание, без повторного ввода.
Можно делиться:
уроками + внеурочкой;
или только уроками.
Быстрый старт
Откройте @ClassMatePlannerBot.
Нажмите /start.
Добавьте занятия через /set_lessons и /set_extras.
Проверяйте:
день — /today;
неделю — /week.
Формат ввода — максимально простой
08:30-09:15 Математика 204 (Иванова) 16:00-17:00 Робототехника к.12
Можно указывать кабинет, локацию и комментарии.
Разделители — пробелы, | или ;, как удобнее.
Команды, которые используются чаще всего
/set_lessons — задать уроки на выбранный день
/set_extras — задать кружки и секции
/today — все занятия на сегодня
/week — расписание на неделю
/share — ссылка для передачи расписания
/edit — отредактировать или удалить запись
Почему это удобно
все занятия в одном месте;
никаких дублей и накладок по времени;
быстрый текстовый ввод — без таблиц и форм;
простая синхронизация между родителями и ребенком;
Telegram — ничего устанавливать не нужно.
Немного «кухни»: на чем это работает
Для тех, кому интересно, что под капотом:
Python 3.11 + aiogram 3 — логика бота и команды;
PostgreSQL 15 + asyncpg — хранение расписаний;
Docker + docker-compose — развертывание и обновления;
есть health-endpoint для мониторинга контейнера;
WebApp-часть вынесена в отдельный FastAPI-сервис
Где попробовать
Бот уже доступен: @ClassMatePlannerBot
Если вам кажется, что в расписании чего-то не хватает — пишите в комментариях.
Проект живой, и большинство функций в нем появилось именно из реальных сценариев использования.

