Skip to content

danilovsnnv/financial_analyzer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Чат-бот для анализа доходов и расходов на Python

Функции бота:

  • Добавление расходов и доходов
  • Чтение информации из QR кодов
  • Вывод диаграмм со статистикой
  • Вывод .xlsx таблиц

Используемые технологии и библиотеки

  • Python 3.9
  • pyTelegramBotAPI
  • SQLAlchemy
  • OpenCV
  • Pandas
  • Matplotlib

Описание работы

Принцип работы бота

Для начала работы в файле bot.py вводится ip и запускается функция main(). База данных инициализируется автоматически. Работа с ботом осуществляется через чат в telegram, через отправку текста, фотографий и нажатия клавиш на Inline клавиатуре

Схема работы бота

схема

Структура проекта

структура

База данных

База данных реализована при помощи библиотеки SQLAlchemy, что позволяет работать с объектами базы данных как с объектами Python. База данных представлена в виде связанных таблиц. База данных содержит таблицу с информацией о доходах и расходах, таблицу с информацией о пользователях, таблицы с названиями категорий.

база

Функции для инициализации и работы с БД находятся в файле module.py

Работа с командами

Бот поддеживает команды /start, /help, а также команды /add и /statistics, дублирующие работу через меню

старт

Inline клавиатуры

Бот использует Inline клавиаутры, что позволяет не засорять переписку и удобно перемещаться по меню. Функции для создания клавиатур хранятся в файле keyboards.py

клавиатуры

Добавление доходов и расходов

Позиции всех пользовталей хранятся в базе данных. Добавление позиций происходит по следующей схеме

добавление

При добавлении расхода возможно чтение информации из QR кода на чеке, функция для распознавания и чтения находится в файле qr.py. Распознение происходит при помощи библиотеки OpenCV. Изображение обесвечивается и очищается от шумов, затем при помощи встренной функции происходит чтение информации из кода. Обработка фотографии предстаавлена ниже

чтение

Вывод статистики

Выбор информации для вывода статистики осуществляется через меню статистики в боте. Схема меню статистики представлена ниже

статистика

В боте присутсвует 2 вида статистики: по категориям и общая статистика. В статистике по категориям выводятся диаграммы, в общей статистике выводится таблица .xlsx. Доступен выбор периода статистики: месяц или всё время.

Пример общей статистики

общ

Пример статистики по категориям

кат 0

кат1

Круговая диаграмма отображает соотношение затраченной суммы по категориям, стобчатая диаграмма отображает количество позиций по каждой категории

About

Chatbot for income and expenses analysis

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages