No description
  • Python 99.1%
  • Roff 0.9%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-05-20 22:35:42 +03:00
addons It's version 0.8.3 bug fix ТЕПЕРЬ УЖ точно восстановлена система слежения расписания 2026-05-20 22:35:42 +03:00
bot it's version 0.7.2 Я используя нейронку создал новый парсер для гугл таблиц. Тем самым востановив работу программы 2026-05-17 19:26:22 +03:00
handlers It's version 0.8.3 bug fix ТЕПЕРЬ УЖ точно восстановлена система слежения расписания 2026-05-20 22:35:42 +03:00
models It's version 0.8.3 bug fix ТЕПЕРЬ УЖ точно восстановлена система слежения расписания 2026-05-20 22:35:42 +03:00
services It's version 0.8.3 bug fix ТЕПЕРЬ УЖ точно восстановлена система слежения расписания 2026-05-20 22:35:42 +03:00
storage It's version 0.8.3 bug fix ТЕПЕРЬ УЖ точно восстановлена система слежения расписания 2026-05-20 22:35:42 +03:00
utils it's version 0.8.1 bug fix 2026-05-17 21:25:47 +03:00
.env.example it's version 0.8 Добавлена возможность выключения хранения логов и баз данных 2026-05-17 21:10:12 +03:00
.gitignore It's version 0.7 I upgrade watcher_service.py 2025-12-09 17:22:53 +03:00
CHANGELOG.md It's version 0.5 2025-10-29 21:46:06 +03:00
config.py it's version 0.8 Добавлена возможность выключения хранения логов и баз данных 2026-05-17 21:10:12 +03:00
main.py it's version 0.8 Добавлена возможность выключения хранения логов и баз данных 2026-05-17 21:10:12 +03:00
model_hash_map.json Доработка гит 2026-03-15 20:36:16 +03:00
Read.me It's my tg bot for schedule. version 0.1 2025-10-04 16:59:38 +03:00
README.md Изменение README.md 2026-04-01 21:14:21 +03:00
requirements.txt it's version 0.7.2 Я используя нейронку создал новый парсер для гугл таблиц. Тем самым востановив работу программы 2026-05-17 19:26:22 +03:00

MyFirstProgramm

Лёгкий Telegram-бот на Python (aiogram + Playwright) для автоматической проверки и рассылки расписаний, а также набора аддонов.

Краткое описание

Проект периодически проверяет расписание на сайте (через Playwright), делает скриншоты нужных фрагментов, вычисляет хеш (MD5) и отправляет/закрепляет изображение в целевых чатах Telegram только при изменении (чтобы не флудить чат). Также в addons/ есть дополнительные модули (мини-приложения).

Структура (важные файлы/папки)

  • main.py — точка входа приложения (запуск бота).
  • config.py — конфигурация (переменные окружения).
  • services/ — сервисы: schedule_service.py, watcher_service.py (логика слежки/хэшей).
  • models/state.py — in-memory состояние бота (кэши, last_clip_hash и т.д.).
  • addons/ — набор дополнительных модулей (каждый аддон экспортирует register / unregister).
  • requirements.txt — зависимости.

Быстрый старт (локально)

  1. Установите зависимости (рекомендуется виртуальное окружение):
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
  1. Создайте .env (или экспортируйте переменные окружения):
  • TELEGRAM_BOT_TOKEN — токен бота
  • (опционально) DEEPGRAM_API_KEY, ACCESS_TOKEN — если используются аддоны

Создайте файл .env рядом с config.py:

TELEGRAM_BOT_TOKEN=your_bot_token_here
#DEEPGRAM_API_KEY=...
#ACCESS_TOKEN=...
  1. Запустите бота (пример):
python main.py

(В вашем окружении запуск может быть оформлен скриптом — например ./Desktop/my.sh.)

Конфигурация

Основные настройки находятся в config.py. Обратите внимание, что Config сейчас поднимает исключение, если TELEGRAM_BOT_TOKEN не задан.

Что изменилось (коротко)

  • Добавлена проверка MD5-хеша скриншота в services/watcher_service.py — теперь бот отправляет фото и закрепляет сообщение только при первом обнаружении и при изменениях.
  • Исправлен импорт в addons/x_days_to/__init__.py (модуль назывался x_days_to.py, вместо отсутствующего handlers).

(Более полный список изменений — в CHANGELOG.md.)