A simple Telegram bot for managing personal tasks using SQLite. Supports adding, listing, updating, and completing tasks with optional metadata (who, category, tags).
- Add tasks with free-text and optional metadata
- List tasks with filters (by text, who, category, tags)
- Mark tasks as completed
- Update task fields
- All data stored locally in
tasks.db(SQLite) - Telegram command autocomplete
/add <task description> [who=..., category=..., tags=...]
Add a new task. Free-text first, optional key=value after.
/list [task=..., who=..., category=..., tags=..., show_completed=1]
List tasks with optional filters. By default completed tasks are hidden.
/done <task_id>
Mark a task as completed.
/update <task_id> <new task description> [who=..., category=..., tags=...]
Update task fields.
/help
Show help message.
- Clone the repository and enter the project folder.
- Install dependencies:
pip install -r requirements.txt - Copy
.env.templateto.envand add your Telegram bot token:TELEGRAM_BOT_TOKEN='your_token_here' - Run the bot:
python tbot.py
tbot.py— Main bot source coderequirements.txt— Python dependencies.env.template— Environment variable templatetasks.db— SQLite database (created automatically)
- Python 3.10+
- Telegram bot token
See LICENSE for details.