Skip to content

kiryazb/tg_bot

Repository files navigation

FinanceControlBot

Телеграм бот для учета расходов в Google таблицах

Основная идея заключается в хранении данных не где-то на сервере, а на Google диске пользователя в таблице. Сам же бот предоставляет удобный интерфейс в Telegram для взаимодействия с таблицей: добавление расходов/доходов, настройка категорий трат/доходов, настройка счетов.

Установка

Клонируем репозиторий: git clone https://github.com/savlagood/FinanceControlBot.git

Получение доступа к API для проекта

  1. Переходим в Google Developers Console и создаем новый проект (или выбираем уже существующий).
  2. Далее нажимаем на "enable apis and services" и в поле ввода (Search for APIs and Services) вводим: "Google Drive API" и подключаем его.
  3. Затем вводим в том же поле: "Google Sheets API" и подключаем его.

Теперь сгенерируем файл с правами доступа: google_token.json

  1. Переходим "APIs & Services > Credentials" и выбираем "Create credentials > Service account key".
  2. Заполняем форму и нажимаем "Done"
  3. Нажимаем "Manage service accounts" над таблицай "Service Accounts"
  4. В стоблице "Actions" у только что созданного сервисного аккаунта нажимаем на ⋮ (три вертикальный точки) и выбираем "Manage keys", затем “ADD KEY > Create new key”.
  5. Выбираем JSON тип и нажимаем "Create". Автоматически должен скачаться json-файл с правами доступа
  6. Переместите полученный файл в директорию с проектом и переименуйте: "google_token.json"

Настройка файла конфигураций: config.py

В данной файле хранится несколько настроек, необходимый для работы бота.

  1. Переименуйте файл "template_config.py" в "config.py"
  2. TELEGRAM_TOKEN: телеграм токен бота, с которым будет взаимодействовать приложение. Создать бота можно у отца всех ботов.
  3. CREATOR: ссылка на ваш телеграм аккаунт.
  4. BOT_EMAIL: email адрес бота, который можной найти в файле "google_token.json" в поле "client_email".
  5. LINK_TO_GOOGLE_SHEET: ссылка на эталонную Google таблицу. Данное поле не нужно менять, тк бот привязан к конкретной структуре таблицы.

Установка зависимостей

  1. Создаем виртуальное окружение python -m venv venv и активируем его venv\Scripts\activate (пример для Windows).
  2. Устанавливаем зависимости: pip install -r requirements.txt.

Создание базы данных

Без серверной базы данных не обойтись, в ней хранятся ссылки на Google таблицы пользователей.
Для инициализации базы данных в директории проекта выполните команду: python create_db.py

Запуск бота

Ура! Теперь можно запустить бота следующей командой (выполняется в папке с проектом): python server.py

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •