Telegram-бот «Ритм»
Соберите бота, который держит ваши привычки: разбор команд, журнал отметок, серии, календарь месяца и утренний дайджест. Каждая задача — модуль бота, финал — работающий бот на чистом Python: свой токен, python3 main.py, и «Ритм» отвечает в Telegram.
Что тебя ждёт в этом пути
Что ты построишь
Рабочий Telegram-бот на чистом Python, без единой сторонней библиотеки. Ты напишешь разбор команд /done и /track с датами вида «вчера» и 12.08, журнал отметок с защитой от дублей, расчёт серий с рекордами и заморозками, календарь месяца прямо в сообщении и утренний дайджест. В финале соберёшь модули в маршрутизатор, возьмёшь токен у @BotFather, запустишь python3 main.py — и «Ритм» ответит в твоём Telegram. Состояние переживает перезапуск: книга привычек хранится в JSON.
Для кого
Ты знаешь базовый Python — функции, словари, списки — и хочешь довести код до вещи, которой пользуешься сам, а не до зелёной галочки в тренажёре. Опыт с Telegram Bot API не нужен: транспорт уже написан, твои модули — разбор, данные и логика.
Чему научишься
- Разбор команд: /done@ritm_bot, аргументы, относительные и числовые даты
- Канонизация пользовательского ввода и коды ошибок вместо падений
- Журнал отметок: инварианты, идемпотентность, снимки для JSON
- Серии: текущая, личный рекорд и серия с заморозками
- Генераторы дат, ISO-недели и календарная математика через границы месяцев
- Тексты бота: склонение числительных и тепловая карта месяца символами
- Сборка: маршрутизатор апдейтов, состояние чатов, long polling на urllib
Что вы получите: бота «Ритм»
После финальной задачи у тебя будет рабочий Telegram-бот: он отмечает привычки, считает серии, показывает календарь и сам присылает утренний план.
- Команды без дублей. «Ритм» понимает «сегодня», «вчера» и даты, а повторная отметка не создаёт дубль.
- Серии и заморозки. Бот считает текущую серию и личный рекорд, а пропущенный день можно защитить заморозкой.
- Календарь и дайджест. В сообщении видно весь месяц, а утром приходит короткий план на день.
- Твой код и твои данные. Чистый Python без сторонних библиотек, привычки хранятся в JSON и переживают перезапуск.
Задачи пути — 5 модулей, 23 задач
Каждый модуль — навык. Решаешь задачи по порядку, и к финалу из них собирается рабочий результат.
Готов начать этот путь?
Зарегистрируйся — откроем путь прямо на первой задаче. Без установки и настройки, всё в браузере.