/Expenses

Primary LanguageJavaScript

Expenses

Программа для ведения домашних расходов. Используется телеграм бот, гугл таблица и гугл скрипт.

Пользователь пишет в чат боту текст (например: продукты 350), который переносится в таблицу на 2 листа. На первом листе формируется общий поток входящей информации (дата, отправитель, текст), а втором листе происходит сортировка текста по колонкам (категориям расходов). После того как операции выполнились - отправляется обратно в чат эмодзи.

У бота есть команды:

  • /report - спрашивает дополнительно "За какой период сформировать отчёт?" и выдаёт в чат сумму расходов по категориям за месяц или на текущий момент с начала месяца;
  • /category - выдаёт в чат список ключевых слов по категорям, которые помогают скрипту сортировать входящий текст

Если входящий текст будет уникальным и под него не предусмотрена категория, то сумма расхода будет размещена в "прочее". Если входящий текст не содерщит цифр (сумма расхода), то вернется эмодзи обратно, а данные не будут обрадатываться и записываться в таблицу.

База категорий расходов состоит из двух частей для вывода в чат и предотвращения ошибок по количеству символов.

Когда данные сортируются, то выполняется проверка на последний день месяца. Если получается последний день, то скрипт делает новую строку желтого цвета (итоговую) и вычисляет сумму столбцов, а потом записывает в ячейки.

В таблице есть страница "Статистика" в неё данные копируем в ручном режиме.

На данный момент написан скрипт по приёмке фотографий (чеков) и загрузке их в таблицу в странице "Чеки". Но как показала практика - телеграмм удаляет фотографии с своих серверов и полученные ссылки потом не актуальны. Разработка в этом направления остановилась.

Также пытался уставить проверку пользователя. Сначала создал базу пользователей и потом проверял по ней отправителя прежде чем обрабатывать информацию. Возникали проблемы с условиями проверки массивов. Позже оказалось проблемным обрабатывать вызовы кнопок из чата с ботом. Когда сигнал идет с командой - одни ключи, а без команды другие. Получалось много ошибок, поэтому разработка в этом направлении остановилась.

Оновлення версій

  1. Після змін в коді - треба опублікувати нову версію img
  2. Встановити вебхук img
  3. Закинути повідомлення в телеграм чат і переконатись в історіїї що працює нова версія img