➡️ПЕРВЫЙ ПОСТ ПО ПРОЕКТУ
➡️ЧАСТЬ 1
➡️ЧАСТЬ 2
➡️ЧАСТЬ 3
Привет, кодеры! Разбираем финальную часть Telegram-бота для планирования задач. В первом посте — идея и функционал, в Части 1 — база данных (config.py, db.py, models.py), в Части 2 — хелперы и напоминания (utils.py, scheduler.py), в Части 3 — обработчики команд (bot_handlers.py). Сегодня завершаем разбор с main.py — точкой старта бота — и подводим итоги.
🗂 main.py: Запуск бота
Этот файл инициализирует базу данных, загружает напоминания и запускает бота в режиме polling.
🫥 Что происходит:
— init_db: Создаёт таблицы в БД (используя Base.metadata из models.py).
— load_all_jobs: Загружает активные задачи и занятия в APScheduler для напоминаний (из scheduler.py).
— start_bot: Запускает бота в режиме бесконечного polling через telebot.
👀 Как всё работает вместе:
— main.py инициализирует БД (db.py, models.py).
— Загружает напоминания (scheduler.py) для существующих задач/занятий.
— Запускает бота (bot_handlers.py), который обрабатывает команды и диалоги, используя хелперы (utils.py).
🔧 Советы по запуску:
💎Локально: Установите зависимости (pip install telebot sqlalchemy apscheduler python-dotenv pytz), настройте .env с BOT_TOKEN, запустите python main.py.📊 Итоги проекта:
💎Продакшен: Используйте Docker или Heroku, настройте PostgreSQL вместо SQLite, добавьте SQLAlchemyJobStore для APScheduler.
💎Тестирование: Проверьте команды (/start, /done <id>), добавление задач и расписания. Логируйте ошибки (например, блокировку бота юзером).
Бот готов для использования! Он поддерживает задачи с напоминаниями, еженедельное расписание, отчёты и настройки. Код компактный, но масштабируемый. Что дальше? Можно добавить Google Calendar, графики отчётов (Matplotlib) или голосовые заметки. Скоро выложу код на GitHub — следите за каналом!🧠 Что бы ты доработал в боте? Пиши в комментах!
💎 Если наберёте 7 реакций под последним постом — выкладываю полный код проекта в канал 💪
#CodeShadow #TelegramBot #Python #Планировщик