Skip to content

ArtemKarmanov/TelegramBot_exchange_rates

Repository files navigation

Телеграм-бот «Курсы валют»

Содержание

Краткое описание

Телеграм-бот «Курсы валют» позволяет составить список валют, узнать актуальные курсы валют либо составить график курса валюты указанного периода.
Пользователь с помощью специальных команд бота может выполнить следующие действия:

  • Запустить бота (команда /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)

  • Найдите бота BotFather в телеграм и создайте нового бота командой /newbot
  • Следуя инструкции, укажите название и username бота. Скопируйте отправленный вам токен бота.

Ключ и хост от API

Файл .env

  • Скопируйте файл .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 в папке проекта

Команды

Команда /start

Создается сущность в БД, если ранее пользователь не был зарегистрирован и добавляются по умолчанию 2 валюты (USD, EUR) в список валют пользователя.

Функционал:

  1. Выводится приветствие пользователя

Команда /help

Список команд для работы с ботом

Функционал:

  1. Выводится весь список команд работающие с ботом

Команда /currencies

Выводит список валют пользователя с возможностью редактирования. Максимальное кол-во валют в списке — 5.

Функционал:

  1. Выводится список сохраненных валют
  2. Кнопка «Добавить» выводит весь список валют с API, которые возможно добавить пользователю.
    После запрашивает ввод пользователя, какую валюту добавить.
  3. Кнопка «Удалить» выводит inline кнопки добавленных валют.
    При нажатии на валюту, она удаляется из списка пользователя.
  4. Кнопка «Очистить» запрашивает у пользователя подтверждение на очистку всего списка.
    При подтверждении очищается весь список, либо отменяется запрос.

Изображение

Команда /low

Выводит текущие курсы валют.

Функционал:

  1. Выводится список сохраненных валют пользователя.
  2. Показывает курс по соотношению 1 единицы валюты к рублям на текущий момент

Изображение

Команда /high

Калькуляция средств по текущему курсу валют.

Функционал:

  1. Запрашивает ввод суммы, которую необходимо рассчитать по курсу валют
  2. Выводит список валют пользователя
  3. Рассчитывает курсы валют с введенной суммы пользователем

Изображение

Команда /custom

Формирование графика курса валюты за период в виде картинки.

Функционал:

  1. Запрашивает начальную дату с помощью календаря
  2. Запрашивает конечную дату с помощью календаря,
  3. Выводит список валют пользователя в виде кнопок, чтобы выбрать определенную валюту
  4. Формирует график курса указанной валюты в виде картинки за указанный период

Изображение

Команда /history

История запросов пользователя.

Функционал:

  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

About

Телеграм-бот с выводом и конвертацией курсов валют

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages