Skip to content

devmanorg/finance-bot

Repository files navigation

Lebowski — менеджмент личных финансов

Основной бот — Lebowski.

Бот находится в активной разработке:

  • Ручная проверка портфеля акций
  • Автоматическая загрузка акций в портфеле
  • Торговые сигналы в случае резких изменений цены
  • Покупка-продажа активов из интерфейса бота
  • Интеграции с банковскими приложениями для подсчёта общей суммы активов

Содержимое

  1. Как развернуть local-окружение
  2. Как вести разработку
    1. Как обновить local-окружение
    2. Как закоммитить код
    3. Как запустить линтеры Python
    4. Как запустить тесты
  3. Как развернуть в production-режиме

Как вести разработку

Как развернуть local-окружение

Для запуска ПО вам понадобятся консольный Git и Python версий 3.10 или выше. Инструкции по их установке:

Скачайте репозиторий командой:

$ git clone https://github.com/devmanorg/finance-bot
$ cd finance-bot

Установите менеджер зависимостей Poetry, если ещё не установлен. Cоберите зависимости:

$ poetry install

Затем, активируйте окружение:

$ poetry shell

Далее, создайте тестового бота у @BotFather, получите от него токен такого вида:

9387204215:QELDaGlFj-l9IUfB2rpk-CANFub4B8g3

Создайте файл .env и положите в него токен:

TELEGRAM_BOT_TOKEN=9387204215:QELDaGlFj-l9IUfB2rpk-CANFub4B8g3

Запустите бота:

$ python bot.py --autoreload

Зайдите в чат к ранее созданному боту и отправьте ему команду /start, он должен вам ответить.

Как закоммитить код

В репозитории используются хуки pre-commit, чтобы автоматически запускать линтер и тесты. Перед началом разработки установите pre-commit package manager.

В корне репозитория запустите команду для настройки хуков:

$ pre-commit install

Чтобы хуки сработали, работайте из виртуального окружения:

poetry shell

Как запустить линтеры Python

Активируйте окружение:

poetry shell

Для тестирования используется mypy, линтер запускается такой командой::

mypy .

Если вы хотите проверить один конкретный файл, передайте аргументом название файла, пример:

pytest bot.py

Как запустить тесты

Активируйте окружение:

poetry shell

Для тестирования используется pytest, тесты запускаются просто:

$ pytest

Если вы хотите запустить один конкретный тест, передайте аргументом "{название_файла}::{название_функции}", пример:

$ pytest test_sample.py::test_yesterday_trading_prices

Как развернуть в production-режиме

Для запуска ПО вам понадобятся консольный Git и Python версий 3.10 или выше. Инструкции по их установке:

Скачайте репозиторий командой:

$ git clone https://github.com/devmanorg/finance-bot
$ cd finance-bot

Установите менеджер зависимостей Poetry, если ещё не установлен. Cоберите зависимости:

$ poetry install

Затем, активируйте окружение:

$ poetry shell

Создайте файл .env и положите в него токен (укажите настоящий, текущий для примера):

TELEGRAM_BOT_TOKEN=9387204215:QELDaGlFj-l9IUfB2rpk-CANFub4B8g3

Запустите бота

#TODO: systemd

Зайдите в чат к ранее созданному боту и отправьте ему команду /start, он должен вам ответить.

Проверьте, что запустился job_queue командой /yesterday_stocks. Он должен прислать сообщение с информацией по акциям.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages