Основной бот — Lebowski.
Бот находится в активной разработке:
- Ручная проверка портфеля акций
- Автоматическая загрузка акций в портфеле
- Торговые сигналы в случае резких изменений цены
- Покупка-продажа активов из интерфейса бота
- Интеграции с банковскими приложениями для подсчёта общей суммы активов
Для запуска ПО вам понадобятся консольный 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
Активируйте окружение:
poetry shell
Для тестирования используется mypy
, линтер запускается такой командой::
mypy .
Если вы хотите проверить один конкретный файл, передайте аргументом название файла, пример:
pytest bot.py
Активируйте окружение:
poetry shell
Для тестирования используется pytest
, тесты запускаются просто:
$ pytest
Если вы хотите запустить один конкретный тест, передайте аргументом "{название_файла}::{название_функции}", пример:
$ pytest test_sample.py::test_yesterday_trading_prices
Для запуска ПО вам понадобятся консольный 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
. Он должен прислать сообщение с информацией по акциям.