Бот принимает задачи, определяет приоритет по тексту, хранит их в SQLite и присылает периодические напоминания о задачах с высоким приоритетом. Команды:
- /start: приветствие и краткая инструкция
- /add <текст>: добавить задачу (приоритет определяется по словам — например, «срочно», «важно» ⇒ высокий)
- /list: показать список активных задач (группируется по приоритету)
- /delete <номер>: удалить задачу по номеру из списка /list
- /done <номер>: пометить задачу как выполненную
- /done_list: показать выполненные задачи
- /clear: удалить все выполненные задачи
- /today: показать задачи на сегодня
- /help: помощь
- Файл базы данных:
tasks.db. - Схема:
CREATE TABLE users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
chat_id INTEGER UNIQUE,
username TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE tasks (
id INTEGER PRIMARY KEY AUTOINCREMENT,
user_id INTEGER,
text TEXT,
priority TEXT,
date TEXT,
timestamp INTEGER,
is_done INTEGER DEFAULT 0,
FOREIGN KEY (user_id) REFERENCES users (id)
);
- При добавлении задачи пользователь автоматически создаётся в таблице
users, если отсутствует.
- Бот каждые 15 минут отправляет в чат напоминание со списком задач с высоким приоритетом (данные из БД).
- Создайте бота через
@BotFatherи получите токен. - Склонируйте репозиторий и перейдите в каталог проекта.
- Создайте файл
.envна основе примера:
BOT_TOKEN=ВАШ_ТОКЕН_ОТ_BOTFATHER
- Установите зависимости (включая JobQueue):
pip install -r requirements.txt- Запустите бота:
python bot.pyПо умолчанию запускается polling. Убедитесь, что у процесса есть доступ на запись к
tasks.dbв корне проекта.
- Поддерживаются ключевые слова приоритета: высокий — «срочно», «важно»; средний — «скоро», «желательно». Если слов нет, приоритет — низкий.
- Файл
tasks.dbбудет создан автоматически при добавлении первой задачи.