Этот репозиторий содержит код Telegram-бота, который получает актуальные курсы валют с сайта Центробанка РФ и сравнивает их с данными за 30 дней назад. Бот предоставляет простую аналитику изменения курса и рекомендации по фиксации прибыли или покупке валюты.
- Получение актуальных курсов валют с ЦБ РФ
- Получение курсов валют за 30 дней назад для сравнения
- Анализ изменения курса: увеличение или уменьшение цены с расчётом разницы и процента
- Интерактивное управление с помощью кнопок в Telegram (используются команды
/start,/descriptionи/currency) - Использование библиотеки aiogram для взаимодействия с API Telegram
- Python 3.7 - 3.11 (очень важно/иначе фреймворк 2.23.1 не будет поддерживаться)
- aiogram==2.23.1
pip install CurrBotmxvbe
Запускает бота, отправляет приветственное сообщение и активирует клавиатуру с командой для запроса курса валют.
Выводит подробное описание функционала бота и показывает кнопку для получения информации о валютах.
Вызывает инлайн-клавиатуру с выбором валют:
- Доллар США
- Евро
- Белорусский рубль
- Китайский юань
- Фунт стерлингов
- Дирхам ОАЭ
- Выйти – возвращает к стартовому сообщению
При выборе валюты бот отправляет сообщение с текущим курсом и курсом за 30 дней назад, а также рекомендует фиксировать прибыль или задуматься о покупке валюты в зависимости от динамики изменения курса.
-
Источник данных:
Данные о курсах валют получаются с сайта Центробанка РФ через XML API. -
Парсинг XML:
Для разбора XML используется модульxml.etree.ElementTree. -
Анализ динамики курса:
Сравнение значений производится после конвертации строковых представлений курсов в числовой формат, что позволяет вычислить разницу и процентное изменение.
Если у вас есть предложения или вы хотите улучшить функциональность бота, вы можете создать issue или отправить pull request.
Этот проект распространяется под MIT License.