Телеграм-бот «Курсы валют» позволяет составить список валют,
узнать актуальные курсы валют либо составить график курса валюты указанного периода.
Пользователь с помощью специальных команд бота может выполнить следующие действия:
- Запустить бота (команда /start)
- Обратиться к справке по командам (команда /help)
- Сделать изменения в своем списке валют (команда /currencies)
- Узнать курс валют на текущий момент (команда /low)
- Рассчитать свои средства по текущему курсу валют (команда /high)
- Составить график курса валюты за период в виде картинки (команда /custom)
- Посмотреть историю запросов (команда /history)
Телеграм-бот составлен на основе библиотеки pyTelegramBotAPI
Для разработки и функционирования использовался открытый API Currency Conversion, который расположен на сайте rapidapi.com.
Эти инструкции помогут развернуть проект на локальном компьютере для использования.
- Проверьте, что у вас установлен
Python
и есть виртуальное пространство
- Перейдите в папку проекта и выполните команду
git clone
, чтобы скопировать файлы репозитория
git clone https://github.com/PanicNyan/TelegramBot_exchange_rates.git
- Найдите бота BotFather в телеграм и создайте нового бота командой
/newbot
- Следуя инструкции, укажите название и username бота. Скопируйте отправленный вам токен бота.
- Получите ключ и хост с API Currency Conversion and Exchange Rates на сайте rapidapi.com
- Скопируйте файл
.env.template
или его содержимое и сохраните под именем нового файла.env
- Укажите все полученные данные в файле
.env
в ковычках- Токен созданного бота в BotFather в переменной BOT_TOKEN
- Ключ от API в переменной RAPID_API_KEY
- Хост от API в переменной RAPID_API_HOST
BOT_TOKEN = "Ваш токен для бота, полученный от @BotFather"
RAPID_API_KEY = "Ваш ключ полученный от API"
RAPID_API_HOST = "Ваш хост полученный от API"
- Запустите файл main.py в папке проекта
Создается сущность в БД, если ранее пользователь не был зарегистрирован и добавляются по умолчанию 2 валюты (USD, EUR) в список валют пользователя.
Функционал:
- Выводится приветствие пользователя
Список команд для работы с ботом
Функционал:
- Выводится весь список команд работающие с ботом
Выводит список валют пользователя с возможностью редактирования. Максимальное кол-во валют в списке — 5.
Функционал:
- Выводится список сохраненных валют
- Кнопка «Добавить» выводит весь список валют с API, которые возможно добавить пользователю.
После запрашивает ввод пользователя, какую валюту добавить. - Кнопка «Удалить» выводит inline кнопки добавленных валют.
При нажатии на валюту, она удаляется из списка пользователя. - Кнопка «Очистить» запрашивает у пользователя подтверждение на очистку всего списка.
При подтверждении очищается весь список, либо отменяется запрос.
Выводит текущие курсы валют.
Функционал:
- Выводится список сохраненных валют пользователя.
- Показывает курс по соотношению 1 единицы валюты к рублям на текущий момент
Калькуляция средств по текущему курсу валют.
Функционал:
- Запрашивает ввод суммы, которую необходимо рассчитать по курсу валют
- Выводит список валют пользователя
- Рассчитывает курсы валют с введенной суммы пользователем
Формирование графика курса валюты за период в виде картинки.
Функционал:
- Запрашивает начальную дату с помощью календаря
- Запрашивает конечную дату с помощью календаря,
- Выводит список валют пользователя в виде кнопок, чтобы выбрать определенную валюту
- Формирует график курса указанной валюты в виде картинки за указанный период
История запросов пользователя.
Функционал:
- Выводит 10 последних совершенных действий пользователя.
pyTelegramBotAPI==4.9.0
python-dotenv==0.21.1
peewee==3.16.2
requests~=2.31.0
matplotlib==3.7.2
telebot-calendar==1.2