Telegram Finance Tracker — бот для учёта личных финансов в Telegram. Он помогает добавлять доходы, расходы и переводы между кошельками, а данные сохраняются через Notion API.
Проект сделан как Telegram-бот для удобного ведения личных финансов без отдельного приложения.
Пользователь подключает свой шаблон в Notion, после чего может:
- посмотреть баланс по кошелькам;
- добавить запись расхода;
- добавить запись дохода;
- добавить перевод между кошельками;
- обновить данные для подключения.
Бот ведёт пошаговые сценарии через FSM, а для хранения пользовательских данных использует PostgreSQL.
Сначала бот помогает пользователю подключить шаблон в Notion и добавить данные для доступа.
После подключения можно:
- узнать баланс одного кошелька или всех сразу;
- записать расход с категорией и суммой;
- записать доход;
- записать перевод между счетами.
Сами финансовые записи создаются в Notion, а служебные данные пользователя хранятся в PostgreSQL.
Клонируйте репозиторий:
git clone https://github.com/Jlychee/tg_bot_finance.git
cd tg_bot_financeУстановите зависимости:
pip install -r requirements.txtПодготовьте данные для запуска:
- добавьте Telegram Bot Token в конфиг;
- настройте подключение к PostgreSQL;
- убедитесь, что у вас есть шаблон в Notion для работы с ботом.
Запуск:
python run.py- Python
- aiogram
- Notion API
- PostgreSQL
- psycopg2
- FSM в aiogram
run.py— точка входа и запуск ботаapp/handlers.py— базовые команды и основные действияapp/expense_FSM.py— сценарий добавления расходовapp/income_FSM.py— сценарий добавления доходовapp/transfer_FSM.py— сценарий переводовapp/create_FSM.py— добавление данных пользователяapp/update_FSM.py— обновление данных пользователяapp/keyboards.py— inline-клавиатурыadditional_features/notion_integration.py— работа с Notion APIadditional_features/db_working.py— работа с PostgreSQLimg/— изображения для инструкций