PushCron — это мощный бот для создания напоминаний и регулярных задач. В отличие от простых "будильников", он сочетает дружелюбный интерфейс для обычных пользователей и мощь Cron-синтаксиса для профессионалов.
Умеет отправлять не только текст, но и фото, видео, голосовые и стикеры по расписанию. Поддерживает часовые пояса, работу в группах и шаринг задач.
- Пресеты: Быстрое создание задач: "Ежедневно", "Еженедельно" (с выбором дней), "Ежемесячно", "Ежегодно".
- Cron Power: Полная поддержка Cron-выражений (5 полей) для сложной логики (например,
*/15 9-18 * * 1-5). - Smart Time: Учет персонального часового пояса пользователя (UTC+X).
Бот отправляет любые типы контента. Просто перешлите ему файл при создании задачи:
- 🖼 Фото и Картинки
- 📹 Видео и "Кружочки" (Video Notes)
- 🎤 Голосовые сообщения и Аудио
- 👻 Стикеры
- Групповой режим: Добавьте бота в чат, и он будет управлять расписанием группы (настройка происходит в ЛС админа, чтобы не засорять чат).
- Шаринг задач: Создайте полезную привычку и отправьте ссылку другу. Задача добавится ему в один клик.
- Sticky Session: Удобный режим управления группой без ввода команд.
- Бэкапы: Импорт и Экспорт всех задач в текстовом формате (с сохранением ссылок на медиа).
- Пауза: Возможность поставить задачу (или все сразу) на паузу, не удаляя её.
- Docker: Полная контейнеризация, база данных SQLite (легко мигрируется на PostgreSQL).
- Язык: Python 3.10+
- Фреймворк: Aiogram 3.x (полностью асинхронный)
- Планировщик: APScheduler
- База данных: SQLAlchemy + aiosqlite (Асинхронная ORM)
- Деплой: Docker & Docker Compose
- Установленный Docker и Docker Compose.
- Токен бота от @BotFather.
git clone https://github.com/your-username/telegram-cron-bot.git
cd telegram-cron-botСоздайте файл .env в корне проекта:
cp .env.example .envВставьте ваш токен:
BOT_TOKEN=123456789:AAH...Ваш_Токен...
Это рекомендуемый способ. Бот сам создаст базу данных и применит миграции.
# Сборка и запуск в фоновом режиме
docker compose up -d --build
# Просмотр логов
docker logs -f my_cron_bot# Создать виртуальное окружение
python3 -m venv venv
source venv/bin/activate # Для Windows: venv\Scripts\activate
# Установить зависимости
pip install -r requirements.txt
# Запустить миграции (первый раз)
python migrate_media.py
python migrate_share.py
# Запустить бота
python main.py| Команда | Описание |
|---|---|
/add |
✨ Создать новую задачу (Запуск мастера настройки) |
/list |
📋 Интерактивный список ваших задач |
/timezone |
🌍 Настроить ваш часовой пояс |
/export |
📤 Получить все задачи текстом (Бэкап) |
/import |
📥 Загрузить задачи из текста |
/help |
ℹ️ Справка и инструкция |
Управление задачами (Пауза, Удаление, Редактирование, Шаринг) доступно через кнопки в команде
/list.
.
├── handlers/ # Логика бота (Модули)
│ ├── adding.py # Сценарий создания задачи (FSM)
│ ├── list_view.py # Просмотр списка и Карточки задач
│ ├── task_actions.py # Действия (Удалить, Пауза, Редактировать)
│ ├── backup.py # Импорт/Экспорт
│ └── common.py # Общие хелперы и настройки
├── services/ # Бизнес-логика
│ └── cron_manager.py # Обертка над APScheduler и БД
├── database/ # Модели SQLAlchemy
├── keyboards.py # Генераторы клавиатур
├── main.py # Точка входа
└── docker-compose.yml # Конфиг Докера
MIT License. Вы можете свободно использовать и модифицировать этот код.