Skip to content

Lu7474/FinanceBot

Repository files navigation

FinanceBot

Tests Python 3.11+ Ruff

Telegram-бот для учёта личных финансов на aiogram 3 + SQLAlchemy 2.0 async. Записи через текст без кнопок, история за любой период, графики по категориям, бюджеты по категориям, накопления и учёт активов/пассивов, финансовые цели, экспорт/импорт в Excel. 312 тестов, модульная архитектура.

Стек

Язык Python 3.11+
Фреймворк aiogram 3
ORM / БД SQLAlchemy 2.0 async + aiosqlite
Графики matplotlib
Тесты pytest + pytest-asyncio

Возможности

  • +5000 зарплата или -200 кофе — запись без кнопок, несколько строк сразу
  • Несколько счетов с выбором при вводе
  • История за 8 периодов + произвольный диапазон дат, постраничная навигация
  • Редактирование записей из истории: сумма, категория, дата, счёт; удаление с подтверждением
  • Столбчатые диаграммы по категориям, топ-5 + «Прочее»
  • Динамика доходов и расходов по месяцам за выбранный год
  • Накопления: снимки баланса по дням, динамика роста
  • Активы и пассивы: учёт имущества и долгов с CRUD-операциями
  • Пользовательские категории: CRUD, лимит 30 шт., умная суггестия по ключевым словам
  • Поиск по записям: текст, >1000, <500, =250; фильтр истории по типу операции и по категории
  • Месячные бюджеты по категориям: установка лимита, прогресс-бар, уведомления при 80% и 100%
  • Отчёт по дням недели: средние траты/доходы по дням, столбчатый график
  • Экспорт записей в Excel (по периоду и типу операции, лист с итогами)
  • Резервная копия через /backup: записи, бюджеты, накопления, активы/пассивы в одном файле
  • Финансовые цели: создание/редактирование (имя/сумма/дедлайн), пополнение и снятие со счёта без засорения истории, быстрые суммы (10%/25%/50%/ежемес/остаток), индикаторы просрочки и достижения, ETA-прогноз, архив завершённых с длительностью накопления
  • Импорт записей из Excel-шаблона: до 1000 строк, валидация, предупреждение о дублях
  • Многошаговые сценарии через aiogram FSM

Команды

Команда Действие
/start Главное меню
/help Справка
/cancel Отмена текущего действия
/backup Полная резервная копия в Excel

Запуск

pip install -r requirements.txt
cp .env.example .env && python bot.py

Токен получить у @BotFather, вставить в .env.

Скриншоты

Главное меню История График отчёта
скоро скоро скоро

About

Асинхронный Telegram-бот для ведения личного бюджета. Быстрый ввод операций (+5000 зарплата), история с пагинацией, столбчатые диаграммы по категориям, сравнение периодов. Python 3.11+ / aiogram 3 / SQLAlchemy 2

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages