33 lines
1.6 KiB
Markdown
33 lines
1.6 KiB
Markdown
# 2026-09-09 — Telegram-бот «от зарплаты до зарплаты»
|
|
|
|
## Запрос
|
|
Сделать бота: ввод суммы и даты «до зарплаты», расчёт дневного лимита, быстрый учёт дневных трат.
|
|
|
|
## Решение
|
|
С нуля собран Telegram-бот на **aiogram 3** + **SQLite (aiosqlite)**.
|
|
|
|
### Структура
|
|
- `bot/main.py` — точка входа, polling
|
|
- `bot/config.py` — `BOT_TOKEN` из `.env`
|
|
- `bot/db/` — схема, репозиторий
|
|
- `bot/services/budget.py` — лимит дня от остатка на утро (`(остаток+траты_сегодня)/дней`), модель «утреннего конверта»
|
|
- `bot/services/parsing.py` — парсинг сумм/дат/трат
|
|
- `bot/handlers/budget.py` — команды и FSM настройки бюджета
|
|
|
|
### UX
|
|
- `/budget` → сумма → дата
|
|
- Трата одним сообщением: `250`, `250 кофе`, `кофе 250`
|
|
- `/status`, `/today`, `/undo`
|
|
- Reply-клавиатура: Статус / Сегодня / Новый бюджет / Отмена траты
|
|
|
|
### Запуск
|
|
1. Токен от BotFather в `.env`
|
|
2. `pip install -r requirements.txt`
|
|
3. `python -m bot.main`
|
|
|
|
## Не сделано (можно следующим шагом)
|
|
- Категории трат и отчёты за период
|
|
- Напоминание вечером, если лимит не выбран
|
|
- Мультивалютность / несколько бюджетов
|
|
- Деплой (systemd / Docker)
|