Телеграм бот позволяет подписаться на биржевые бумаги.
- Если происходит резкое изменение цены - бот уведомит об этом.
- Периодически бот рассылает новости по бумагам в подписке
Официальный бот: https://t.me/QuoteBeholderBot
- Переходим по ссылке выше и подписываемся на бота
- Пишем ему
/startпосле чего бот готов к работе - Для того чтобы подписаться на нужную бумагу указываем
/subscribeи нужный тикер (или список): - Для того чтобы отписаться от бумаг, все тоже самое только с
/unsubscribe: - Для просмотра своего списка тикеров
/show_subscribes - Информацию о конкретном тикете можно взглянуть через
/show_ticker: - 🔒 В боте так же имеется
/subscribe_portfolioи/unsubscribe_portfolioДанные функции позволят на автоматически подписываться на акции из вашего в портфеля в Тинькофф Инвестиции: возможность пока не доступна. В разработке
- Клонируем на машину репозиторий
- Создаем в репозитории auth.env:
- TINKOFF_TOKEN - Токен для Тинькофф API (подойдет для sandbox)
- TINKOFF_ACCOUNT_ID - ID вашего аккаунта в Тинькофф Инвестиции
- TELE_TOKEN - Токен вашего Телеграм бота
- Заходим в каталог и создаем виртуальное окружение
python3.9 -m venv ./venv - Активируем его
source venv/bin/activate
echo "source ~/QuoteBeholderBot/venv/bin/activate" >> ~/.bashrc
exec bash
- Устанавливаем все необходимые пакеты и зависимости
pip install . - Запускаем
pytest .вqbot/tests, проверяем что все ок и готово к работе (сломается один шаг наAssertionError: DB file is not exist, это не страшно, файл БД создастся после первого запуска приложения) - Запускаем
qbot/quotebeholder.py
Логи приложения будут складываться в /var/log/quotebeholder/
Доступные настройки лежат в qbot/config/default-config.yml
- ticker_interval - Через сколько будет производится проверка цены тикера (5 мин по-умолчанию)
- news_interval - Через сколько будет производится проверка новостей по тикеру (5 мин по-умолчанию)
- reaction_percent - Уровень реакции на изменения цены в % (2% по-умолчанию)
- exceptions - Исключения для тикеров, новости которых не удается распознать.
Новости берутся с сайта по ссылке https://bcs-express.ru/category?tag=[ticker]
Но иногда tag не равен названию тикера.
Например валютная пара Евро-Рубль имеет тикер EUR_RUB__TOM, а tag для новостей по доллару и евро - eur-usd.
В конфиге это можно указать так:
exceptions:
EUR_RUB__TOM: eur-usd
Информацию о том что бот не смог распознать тикер можно будет увидеть в /var/log/quotebeholder/quotebeholder.log