Switch to English?
Yes
Переключитись на українську?
Так
Переключиться на русскую?
Да
Przełączyć się na polską?
Tak
Production Telegram bot for daily task management. The owner forwards content (text, photo, document, video), assigns a performer, and the bot turns the message into a task with recurring reminders. The performer closes the task with one button, and the owner receives a notification.

Why
— Quick task distribution without unnecessary chats and manual "pings."
— Nothing is lost: the bot reminds until the task is closed.
— A unified standard for regular tasks (daily, weekly, monthly triggers).

Capabilities
— Task dispatching: send content → choose performer → performer receives the task with a "Done" button.
— Auto-reminders: repeat every 30 minutes until "Done" is pressed.
— Command /rem for personal reminders of performers (formats HH:MM or DD.MM HH:MM; the bot understands "today/tomorrow").
— Ready-made schedule presets: Mon 10:00; Sat 19:00/19:30; 1/5/15/20 and the last day of the month.
— Preservation of content essence: supports text, photos, documents, and videos; the task retains an important summary of the original message.
— Notifications to the owner upon task closure with a brief report.
— Task storage in SQLite; survives restarts, active tasks and deadlines are restored upon startup.
— Time zone Europe/Kyiv: all schedules operate in local time.

How it works

The owner sends a message and selects a performer.

The bot creates a task, sends it to the performer, and immediately sets reminders.

Every 30 minutes, a reminder is sent until "Done" is pressed.

Performers can set personal reminders via /rem.

Regular tasks are created based on presets (daily/monthly).

User scenarios
— Owner: send content → choose performer → performer receives the task → upon completion, a notification is received.
— Performer: receive the task with a "Done" button → press → task closed, owner notified.
— Personal reminders: "/rem Close report 18:30" or "/rem Bills 05.09 10:00."

Commands
— /start — shows a list of performers and a brief instruction, with hints on schedule presets.
— /rem — create a personal reminder (time/date + description).

Technical details
— Stack: Python 3.12, aiogram 3.x (FSM, filters), APScheduler (cron/interval), SQLite.
— States: FSM at the stage of selecting a performer by the owner.
— Persistence: tasks in the file tasks.db; upon startup, the bot restores active tasks and reminders.
— Content processing: text/photo/document/video, captions, and a brief summary for owner notifications.
— Time parsing: formats HH:MM and DD.MM HH:MM with validation.
— Time zone: Europe/Kyiv.

Reliability and logs
— Two logging channels: bot.log and stdout.
— Robust error handling: cleaning up outdated messages, protection against blocked/deactivated chats, correct deactivation of tasks.
— Idempotent start: active tasks are automatically restored and reminders recreated.

Data schema (SQLite)
Table tasks: task_id (PK), chat_id, type (text|photo|document|video), file_id, text_, caption, next_reminder_delta (minutes), deadline (ISO), status, message_id, source (owner|manager_rem|...), manager_num.

Limitations
— Reminders repeat every 30 minutes and require pressing "Done."
— Owner and performer identifiers are pre-configured (whitelist).

Development plan
— Admin panel (web/bot) with a task feed and filters.
— Flexible repeat intervals (15/30/60 minutes), "quiet hours," SLA goals.
— Task templates by roles and projects.
— Export and reporting (CSV/Google Sheets).
— Notifications in channels/groups for SLA violations.

Tags: #TelegramBot #Python #aiogram #APScheduler #SQLite #TaskManager #ReminderBot #Automation #Cron #FSM #Notifications #KyivTime #CRM #BusinessBot #Freelance #portfolio-website
Work details
Budget 150 USD
Added 5 September 2025
217 views
Freelancer
Vlad Khoroshylov
Ukraine Dnepr  2  0

Available for hire Available for hire
2 Safes completed
On the service 10 months