Простой и удобный бот для управления задачами в команде, написанный на Python с использованием библиотеки aiogram.
- ➕ Добавление задач в общий список
- 📝 Просмотр всех задач
- 📊 Экспорт задач в CSV-файл
- 💾 Хранение данных в SQLite3
- 👥 Отслеживание автора каждой задачи
- 📅 Автоматическое сохранение даты создания
- Python 3.8+
- aiogram 3.x - асинхронная библиотека для Telegram Bot API
- SQLite3 - встроенная база данных
- python-dotenv - управление переменными окружения
telegram_task_bot/
├── main.py # Точка входа, запуск бота
├── config.py # Конфигурация (токен, настройки)
├── requirements.txt # Зависимости проекта
├── .env.example # Пример файла с переменными окружения
├── database/ # Пакет для работы с БД
│ ├── __init__.py
│ └── db.py # Класс для работы с SQLite
├── handlers/ # Пакет с обработчиками команд
│ ├── __init__.py
│ ├── start.py # Обработчик /start
│ ├── add_task.py # Обработчик /add
│ └── list_tasks.py # Обработчики /list и /list_csv
└── keyboards/ # Пакет с клавиатурами
├── __init__.py
└── main_kb.py # Основная клавиатура
cd telegram_task_botУбедитесь, что у вас установлен Python 3.8 или новее.
pip install -r requirements.txt- Создайте нового бота через @BotFather в Telegram
- Скопируйте полученный токен
- Создайте файл
.envна основе.env.example:
copy .env.example .env- Откройте файл
.envи вставьте ваш токен:
BOT_TOKEN=ваш_токен_от_BotFather
python main.pyПри успешном запуске вы увидите:
🚀 Запуск бота...
✅ Все обработчики зарегистрированы
📡 Бот начал получать обновления
| Команда | Описание | Пример |
|---|---|---|
/start |
Приветствие и список команд | /start |
/add |
Добавить новую задачу | /add Купить продукты |
/list |
Показать все задачи | /list |
/list_csv |
Получить CSV-файл с задачами | /list_csv |
/add Подготовить презентацию к понедельнику
Ответ бота:
✅ Задача #1 добавлена!
📝 Текст: Подготовить презентацию к понедельнику
👤 Автор: @username
/list
Ответ бота:
📋 Всего задач: 2
#1 | 👤 @username
📝 Подготовить презентацию к понедельнику
📅 2025-10-27 19:00:00
----------------------------------------
#2 | 👤 @another_user
📝 Купить продукты
📅 2025-10-27 18:30:00
----------------------------------------
/list_csv
Бот отправит файл tasks_export.csv со всеми задачами.
Бот использует SQLite3. База данных создаётся автоматически при первом запуске.
| Поле | Тип | Описание |
|---|---|---|
id |
INTEGER | Уникальный идентификатор (автоинкремент) |
text |
TEXT | Текст задачи |
user |
TEXT | Имя пользователя (username или first_name) |
created_at |
TIMESTAMP | Дата и время создания |
Бот предоставляет удобную клавиатуру с кнопками:
- 📋 Список задач - быстрый доступ к
/list - ➕ Добавить задачу - подсказка для
/add - 📊 Экспорт CSV - быстрый доступ к
/list_csv
Все настройки находятся в файле config.py:
BOT_TOKEN- токен бота (загружается из .env)DATABASE_PATH- путь к файлу базы данных (по умолчаниюtasks.db)
Код написан с подробными комментариями на русском языке:
- 📘 Описание каждой функции и класса
- 💡 Пояснения к сложным моментам
- 🔍 Комментарии к важным строкам кода
- Проверьте правильность токена в файле
.env - Убедитесь, что токен скопирован полностью
- Установите зависимости:
pip install -r requirements.txt
- Проверьте права на запись в текущей директории
- Убедитесь, что путь в
config.pyкорректен
Проект создан для обучения и демонстрации:
- Работы с Telegram Bot API через aiogram
- Асинхронного программирования на Python
- Работы с SQLite3
- Структурирования кода в модули и пакеты
Свободное использование в образовательных и коммерческих целях.
Проект открыт для улучшений! Вы можете:
- Добавить новые команды
- Улучшить интерфейс
- Добавить фильтры задач
- Реализовать удаление/редактирование задач
- Добавить приоритеты задач
Удачи в использовании бота! 🚀