How veloleha/tg-task-manager works
TakeYourTask is a Telegram support-task workflow built from three cooperating bots and Redis. Users submit text or media; the User Bot aggregates messages into tasks and maintains personal forum topics. The Task Bot handles task intake and support-side management, while the Mover Bot organizes work by status and assignee. Staff replies and status changes are relayed to users; completed work is archived and contributes to live and period-based statistics. README descriptions establish the broader capabilities; sampled source confirms Redis persistence, topic management, and Pub/Sub mechanics, but not every bot-to-bot handler path.
Main entry points: user_bot.py User Bot · task_bot.py Task Bot · redis_client.py Redis task store · mover_bot.py Mover Bot
Components 18
User intake
- User Bot
bots/user_bot/user_bot.py - Message aggregation
bots/user_bot/message_aggregator.py - Personal topics
bots/user_bot/topic_manager.py
Task workflow
- Task Bot
bots/task_bot/task_bot.py - Task commands
bots/task_bot/handlers/commands.py - Task controls
bots/task_bot/keyboards.py - Mover Bot
bots/mover_bot/mover_bot.py - Mover controls
bots/mover_bot/topic_keyboards.py - Status topics
bots/mover_bot/mover_bot.py
Shared services
- Redis task store
core/redis_client.py - Task persistence
bots/task_bot/redis_manager.py - Redis Pub/Sub
core/pubsub_manager.py - Task Pub/Sub
bots/task_bot/pubsub_manager.py
Reporting
- Live statistics
core/enhanced_statistics.py - Period reports
commands/period_stats.py
Other components
- Telegram users
- Support staff
- Telegram forum
Connections 24
- Telegram users → User Bot: send messages
- User Bot → Message aggregation: aggregate messages
- User Bot → Personal topics: manage topics
- User Bot → Redis task store: save tasks
- Personal topics → Redis task store: cache topic links
- Personal topics → Telegram forum: create topics
- Redis task store → Task Bot: new-task events
- Task Bot → Task persistence: manage task data
- Task persistence → Redis task store: read and write
- Task Bot → Task commands: dispatch commands
- Task commands → Task controls: present controls
- Support staff → Task Bot: manage tasks
- Support staff → Mover Bot: change task status
- Mover Bot → Mover controls: present controls
- Mover Bot → Status topics: organize by status
- Mover Bot → Redis task store: update task state
- Mover Bot → Telegram forum: move forum tasks
- Redis task store → User Bot: task updates
- User Bot → Telegram users: send replies and reactions
- Task Bot → Redis Pub/Sub: publish task events
- Redis Pub/Sub → Task Pub/Sub: deliver channel events
- Task persistence → Live statistics: update counters
- Live statistics → Task Bot: provide counts
- Period reports → Task persistence: query task statistics