Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TaskFlow Telegram Bot

Python Aiogram Redis Docker

TaskFlow Bot — это телеграм-бот для управления задачами через Task Manager API.
Проект построен на Aiogram 3, использует Pydantic и Redis, полностью работает через Docker. Предоставляет удобный интерфейс с помощью комбинации inline и reply клавиатур, что позволяет управлять процессом практически без ручного ввода и использования /command.

Проект является частью планируемой комплексной экосистемы для управления задачами, которая будет включать:

  • REST API — основной бэкенд для управления пользователями, задачами и категориями.
  • Telegram-бот (этот репозиторий) — пользовательский интерфейс для взаимодействия с задачами через мессенджер.
  • MCP - для взаимодействия LLM с сервисом.

🔹 Основные возможности

  • Главное меню и справка, которые позволяют управлять ботом без слеш-команд.
  • Просмотр задач с группировкой по статусу и приоритетам, фильтры, поиск и пагинация.
  • Создание и редактирование задач через инлайн-клавиатуру: приоритет, дедлайн, категория.
  • Управление категориями (создание, переименования, быстрый переход к связанным задачам).
  • Поддержка архивирования, восстановления и индикации активных фильтров.

🔧 Технологии

  • Python 3.11 + aiogram 3.7.0
  • Redis (FSM storage)
  • httpx для общения с Task Manager API
  • Pydantic settings и типизированные сервисы
  • Docker & Docker Compose для развёртывания

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

  1. Установите Python 3.11+, Redis 5+ и клонируйте репозиторий.
  2. Создайте виртуальное окружение и установите зависимости:
    python -m venv .venv
    source .venv/bin/activate
    pip install -r requirements.txt
  3. Скопируйте .env.example в .env и заполните переменные окружения (см. ниже).
  4. Запустите бота:
    python main.py

Переменные окружения

  • BOT_TOKEN — токен Telegram-бота от @BotFather (обязателен).
  • API_BASE_URL — базовый URL Task Manager API, по умолчанию http://localhost:8000.
  • REDIS_URL — строка подключения к Redis, по умолчанию redis://localhost:6379/0.
  • LOG_LEVEL — уровень логирования (INFO, DEBUG и т.д.).

🐳 Docker-развёртывание

  1. Создайте общую сеть (нужно один раз):
    docker network create task_manager_network
  2. Соберите и запустите контейнер:
    docker compose up --build bot
  3. Остановить:
    docker compose down

Бот будет доступен в Telegram, используя токен из .env.

About

Pet-project: TG-bot implementing Task Manager API

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages