Skip to content

IldarRakiev/UrRoutine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🤖 urRoutine

Персональный Telegram-бот для управления временем и задачами с утренними брифингами и напоминаниями.

Python Telegram Firebase


✨ Возможности

Управление задачами

  • Создание задач с приоритетами (🔴 срочно / 🟠 высокий / 🟡 средний / ⚪ низкий)
  • Автоматическое распределение задач по свободным слотам
  • Ручное назначение времени
  • Отметка задач как выполненных
  • Дедлайны и заметки к задачам

Умное расписание

  • 30-минутные временные блоки
  • Отображение свободных окон
  • Учёт времени сна
  • Очистка слотов по команде

Повторяющиеся события

  • Еженедельные лекции, тренировки, встречи
  • Кастомные события
  • Автоматическое добавление в расписание

Уведомления

  • Напоминания за 30 минут до важных задач (🔴 urgent / 🟠 high приоритеты)
  • Утренние брифинги
  • Персонализированные приветствия

Настройки

  • Включение/выключение уведомлений
  • Настройка времени брифинга
  • Часовой пояс (МСК ± смещение)
  • Время сна
  • Персональное имя для обращения

🚀 Быстрый старт

1. Клонирование

git clone https://github.com/IldarRakiev/urRoutine.git
cd urRoutine

2. Установка зависимостей

pip install -r requirements.txt

3. Настройка окружения

Файл .env в корне проекта:

TELEGRAM_TOKEN=your_telegram_bot_token
FIREBASE_KEY={"type":"service_account","project_id":"...весь JSON ключ в одну строку..."}

Получение токенов:

  • TELEGRAM_TOKEN — через @BotFather
  • FIREBASE_KEY — Firebase Console

5. Запуск

python main.py

📱 Команды бота

Команда Описание
/start Главное меню
/help Список команд
/addtask Добавить задачу
/done <имя> Отметить задачу выполненной
/deletetask <имя> Удалить задачу
/schedule Расписание на сегодня
/clearslot ЧЧ:ММ Очистить временной слот
/settings Настройки бота
/events Повторяющиеся события
/addevent Добавить событие
/delevent <имя> Удалить событие
/cancel Отменить текущее действие

🏗️ Архитектура

urRoutine/
├── main.py                 # Точка входа
├── requirements.txt        # Зависимости
├── .env                    # Переменные окружения (не в git)
└── src/
    ├── config.py           # Конфигурация
    ├── database/
    │   └── firebase.py     # Работа с Firebase
    ├── models/
    │   ├── task.py         # Модель задачи
    │   ├── time_block.py   # Модель временного блока
    │   ├── user_settings.py # Настройки пользователя
    │   └── recurring_event.py # Повторяющиеся события
    ├── services/
    │   ├── task_service.py     # Бизнес-логика задач
    │   ├── schedule_service.py # Управление расписанием
    │   ├── settings_service.py # Настройки
    │   ├── recurring_service.py # Повторяющиеся события
    │   └── reminder_service.py # Напоминания
    ├── handlers/
    │   ├── start.py        # /start, /help
    │   ├── tasks.py        # Задачи
    │   ├── schedule.py     # Расписание
    │   ├── settings.py     # Настройки
    │   └── recurring.py    # События
    └── utils/
        └── formatters.py   # Форматирование сообщений

🛠️ Технологии

  • Python 3.10+
  • python-telegram-bot — Telegram Bot API
  • firebase-admin — Firebase Realtime Database
  • APScheduler — Планировщик задач
  • python-dotenv — Переменные окружения

📝 TODO

  • Веб-интерфейс для просмотра расписания
  • Интеграция с Google Calendar
  • Статистика продуктивности
  • Голосовые напоминания
  • Многопользовательские проекты

About

Персональный бот для управления временем и задачами с утренними брифингами и напоминаниями. Поддерживает операции с единичными задачами, повторяющимися событиями, автоматизацию добавления задач и вывод статистики по активностям.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages