https://github.com/s00inx/aiogram-simple-todo-bot
asynchronous to-do-list bot with reminders, using python, postgresql, sqlite.
https://github.com/s00inx/aiogram-simple-todo-bot
aiogram postgres postgresql python sqlite telegrambot
Last synced: 2 months ago
JSON representation
asynchronous to-do-list bot with reminders, using python, postgresql, sqlite.
- Host: GitHub
- URL: https://github.com/s00inx/aiogram-simple-todo-bot
- Owner: s00inx
- Created: 2025-08-21T18:49:27.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-08-22T19:50:27.000Z (10 months ago)
- Last Synced: 2026-02-21T23:28:57.293Z (4 months ago)
- Topics: aiogram, postgres, postgresql, python, sqlite, telegrambot
- Language: Python
- Homepage:
- Size: 21.5 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 🗓️ Aiogram Simple Todo Bot


Простой и эффективный телеграм-бот для управления задачами.
## Возможности
- удобное управление задачами через интерфейс телеграм-бота
- управление напоминаниями
- приоритизация: пометка важных задач приоритетом
## Особенности
- быстрая работа благодаря ассинхронной архитектуре
- интеграция с СУБД postgres и sqlite и возможность выбора между ними
- безопасность: защита данных и аккуратная обработка ошибок
- работа с чистым sql без orm
- удобный вывод логов в консоль (пока только для основной программы)
## В разработке
- админ-панель
- докер контейнер для быстрого запуска и деплоя
- экспорт данных в csv
## Технологический стек
Python 3.11+, PostgreSQL/SQLite, asyncpg/aiosqlite, aiogram 3.22+
## Пререквизиты
- Python 3.11+
- Telegram bot token (можно получить у @BotFather)
- PostgreSQL (опционально)
## Установка (локально на ваше устройство)
Windows:
### 1. Клонируйте репозиторий
``` bash
git clone https://github.com/kfcemployee/aiogram-simple-todo-bot.git
cd aiogram-simple-todo-bot
```
### 2. Настройте виртуальное окружение
``` bash
python -m venv .venv
venv\Scripts\activate
```
### 3. Установите зависимости
``` bash
pip install -r requirements.txt
```
### 4. Настройте переменные окружения
Создайте .env файл в корне проекта
``` env
BOT_TOKEN=ваш токен, полученный у @BotFather
```
Если собираетесь использовать sqlite (подойдёт для быстрого старта и локальной работы):
``` env
DB_TYPE=SQLITE
SQLITE_PATH=путь у уже существующей бд, если она есть
```
Если собираетесь использовать postgres:
``` env
DB_TYPE=POSTGRES
DB_USER=ваш суперюзер, чтобы создать новую БД
DB_PASSWORD=ваш пароль суперюзера
DB_NAME=todo_db
DB_HOST=localhost
DB_PORT=5432
```
### 5. Инициализируйте базу данных
Если у вас нет готовой бд, этот скрипт ни на что не повлияет, он создаст бд в зависимости от переменной DB_TYPE, которую вы указали в предыдущем шаге.
``` bash
python -m bot.database.init_db
```
Новая база данных создастся в каталоге проекта под именем todo_db.db, если вы используете sql, или на localhost:5432, если используете postgres.
### 6. Запустите бота локально
Все таблицы создадутся сами, если их не было.
```
python -m bot.main
```
Готово✅
## Использование
Список команд:
- /start - запуск или перезапуск бота
- /list - список всех заданий
- /listuncompleted - список невыполненных заданий
- /reminders - список напоминаний
- /add - добавить напоминание
## В будущем:
- деплой на сервер
- докер-контейнер для быстрого развёртывания
- админ-панель
- более насыщенный и подробный README
- ещё много всего
Этот бот будет обновляться, можете предложить свою идею, улучшение, зарепортить ошибку. Хорошего пользования!