DOI: 10.12731/2227-930X-2023-13-4-128-141 УДК 004.67
Научная статья | Системный анализ, управление и обработка информации
АВТОМАТИЗАЦИЯ ПРОЦЕССА ПЕРЕВОДА ВАЛЮТЫ В РУБЛИ НА ОСНОВЕ TELEGRAM
А.Л. Назмеев, Г.А. Гареева, Д.Р. Григорьева, Б.Р. Каримуллин, Э.М. Кузнецова
В данной статье описано создание Telegram бота, который помогает быстро переводить любые валюты в рубли. Главным для пользователя будет простота и быстрота использования данного бота. И в значительной степени это упрощает работу для многих сотрудников, которым часто приходится переводить иностранную валюту в рубли.
Цель - создание удобной среды, в котором пользователи могут быстро и без особого труда перевести валюты в рубли.
Метод или методология проведения работы: в статье рассматривается метод, в котором любой пользователь, указав буквенный код валюты, может узнать курс на сегодня в рублях. Для реализации используется язык программирования Python и среда программирования PyCharm.
Результат: разработан инструмент, при помощи которого пользователь может узнать курс рубля в выбранной валюте.
Область применения результатов: данные будут применять работники банка или любые другие пользователи, которым интересен курс рубля.
Ключевые слова: Python; Telegram бот; автоматизация; программирование; валюта; экономика; рубли; информация; мессен-джер; приложение; диалог; интернет; банк
Для цитирования. Назмеев А.Л., ГарееваГ.А., ГригорьеваД.Р., Каримуллин Б.Р., Кузнецова Э.М. Автоматизация процесса пере-
вода валюты в рубли на основе Telegram //International Journal of Advanced Studies. 2023. Т. 13, № 4. С. 128-141. DOI: 10.12731/2227-930X-2023-13-4-128-141
Original article | System Analysis, Management and Information Processing
AUTOMATION OF THE PROCESS OF CONVERTING CURRENCIES INTO ROUBLES ON THE BASIS OF TELEGRAM
A.L. Nazmeev, G.A. Gareeva, D.R. Grigoreva, B.R. Karimullin, E.M. Kuznetsova
This article describes the creation of a Telegram bot that will help us quickly convert any currency into rubles. The main thing for the user will be the simplicity and speed of using this bot. And to a large extent it simplifies the work for many employees who often have to convert foreign currency into rubles.
The goal is to create a convenient environment in which users can quickly and without much difficulty convert currencies into rubles.
Method or methodology of work: the article considers a method in which any user, specifying the letter code of the currency, can find out the exchange rate for today in rubles. For realization the programming language Python and programming environment PyCharm are used.
Result: a tool is developed by which the user can find out the ruble exchange rate in the selected currency.
Scope of the results: the data will be used by bank employees or any other users who are interested in the ruble exchange rate.
Keywords: Python; Telegram bot; automation; programming; currency; economy; ruble; information; messenger; application; dialogue; Internet; bank
For citation. Nazmeev A.L., Gareeva G.A., Grigoreva D.R., Karimullin B.R., Kuznetsova E.M. Automation of the Process of Convert-
ing Currencies into Roubles on the Basis of Telegram. International Journal of Advanced Studies, 2023, vol. 13, no. 4, pp. 128-141. DOI: 10.12731/2227-930X-2023-13-4-128-141
Введение
Для упрощения работы многих сотрудников и любых других пользователей, которым часто приходится переводить иностранную валюту в рубли необходимо создать удобную среду, в которой пользователи могут быстро и без особого труда это сделать. И для этого удобнее всего использовать Telegram бот. Пользователь может легко получать актуальный курс иностранной валюты в рублях.
Цель работы: разработать программный продукт, который мог бы содержать всю необходимую информацию для работника банка или пользователя, которому нужно узнать курс рубля по отношению к другим валютам.
Для решения поставленных целей исследования выбран способ создания Telegram бота. Для начала необходимо провести анализ информации с сайта центрального банка; разработку проекта, который позволил бы посредством диалога обеспечить необходимой информацией пользователя; проверку работоспособности готового проекта.
Готовый проект состоит из главной страницы и модуля взаимодействия с сайтом. После краткого описания будущего проекта, необходимо:
• проанализировать, каким образом осуществляется диалог между пользователем и самим Telegram ботом;
• провести итоговое тестирование.
Пользователь может легко получать курс валюты в рублях в Telegram боте и узнавать об актуальной информации, перейдя к простому поиску в самом приложении «Telegram», как на рисунке 1.
Для запуска Telegram бота необходимо нажать кнопку «Начать», либо вручную ввести команду при помощи клавиатуры «/ start» (рис. 2).
nameasdbot
H)
Chats Media Links Files Music Voi
Global search
ename_bot
@nameasdbot
Рис. 1. Результат поиска Telegram бота
После старта бот приветствует пользователя и дает подсказки использования бота и список всех буквенных кодов валют. Необходимо будет написать буквенный код валюты. После чего автоматически будет приходить курс написанной валюты в рублях.
Алгоритм работы Telegram бота представлен на рисунке 3.
Рис. 2. Начальная страница
Нажать кнопку '"Начать", либо вручную ввести команду при помощи клавиатуры '7§&гГ
Ввести буквенной код валюты
Получить нужную информацию
Рис. 3. Алгоритм работы Telegram бота
Для создания самого Telegram бота необходимо:
• найти в поиске @BotFather;
• нажать кнопку «Начать»;
• задать название бота (рис. 4);
• получить HTTP API бота (рис. 5).
Рис. 4. Создание Telegram бота
Рис. 5. Получение HTTP API
Далее необходимо написать код на платформе Ру^агт:
• Скачиваются и импортируются все нужные библиотеки как на рисунке 6.
• После этого пишется код, как на рисунках 7 и 8.
• Далее проверяется работа кода в самой телеграмме, как на рисунках 9 и 10.
import telebot import requests import re
from bs4 import BeautifulSoup as BS
Рис. 6. Импортирование нужных библиотек
(abot.message_handler(commands=[ 'start'])
def start(message):
bot.send_message(message.chat.id, text: 'Букв К°Д Вадиты - Единиц - Валюта'
'\nAUD Австралийский доллаГГ
'\nAZN Азербайджанский манат'
'\nAMD 00 Армянских драмов'
'\nBYN Белорусский рубль'
'\nBGN Болгарский лев'
'\nBRL Бразильский реал1
4nHUF 00 Венгерских форинтов'
'\nKRW 000 Вон Республики Корея'
'\nVND 0000 Вьетнамских донгов'
■\nHKD Гонконгский доллар'
'\nGEL Грузинский лари'
' \nDKK Датская крона'
Рис. 7. Первая часть кода
gbot.message.handlerQ A 7 ¡¡J 101 a
def get_user_text(message):
haref = re.findall( pattern: r'\D+', message.text) global usd.price
url = "https://www.cbr.ru/curr8riCY_ba5e/dailv/"
soup = BS(requests.get(url).content, features: "html.parser")
table - soup,find( name: "table", attrs={"class": "data"}) usd.row = table.find_all("tr") for gru in usd_row:
if g ru.text.lower().find(ha ref[0].lower()) != -1: usd.price = gru.find_all("td")[1].text usd_price2 = gru.find_all("td")[3].text replaced.string = usd.price.replace(1,', '.')
bot.send_message(message.chat.id, text: f"{usd.price2> в рублях: -(replaced.stririg}.", parse_mode='html')
bot.polling(ro-e_:-,T3p=True)
Рис. 8. Вторая часть кода
Рис. 9. Проверка команды "/start"
Рис. 10. Проверка работы основного кода
Работа с Telegram ботом включает в себя следующие этапы: 1. Пользователь отправляет в текстовом формате буквенный код, иными словами три буквы иностранной валюты.
2. Программа распознает валюту.
3. Запускается поиск в официальном сайте центрального банка.
4. При обнаружении программа предоставит информацию. В противном случае отобразится надпись: «Ошибка!!!».
5. Далее, при любых изменениях валюты пользователь может узнать актуальный курс любой иностранной валюты.
Результат работы
Таким образом, на основе языка программирования Python был разработан программный продукт, в котором любой пользователь может с легкостью получить нужную информацию, потратив минимальное количество времени. Удобством этого бота является то, что не нужно искать актуальный курс иностранной валюты по сайтам. Нужно просто написать три буквы и бот сам выдаст нужный курс в рублях.
Список литературы
1. Джеймс Р. Грофф. SQL. Полное руководство / Джеймс Р. Грофф, Пол Н. Вайнберг, Эндрю Дж. Оппель. СПб.: Вильямс, 2019.
2. Федоров Д.Ю. Программирование на языке высокого уровня Python: учебное пособие для прикладного бакалавриата / Д. Ю. Федоров. Москва: Издательство Юрайт, 2019.
3. Тугов В.В. Проектирование автоматизированных систем управления: учебное пособие / В.В. Тугов, А.И. Сергеев, Н.С. Шаров. Санкт-Петербург: Лань, 2019. 172 с.
4. Модели и методы исследования информационных систем: монография / А.Д. Хомоненко, А.Г. Басыров, В.П. Бубнов [и др.]. Санкт-Петербург: Лань, 2019. 204 с.
5. Златопольский Д.М. Основы программирования на языке Python. М.: ДМК Пресс, 2017. 284 с.
6. Прохоренок Н.А. Python 3 и PyQt. Разработка приложений. СПб.: БХВ-Петербург, 2012. 704 с.
7. Пономарева Л.А., Чискидов С.В., Ронжина И.А., Голосов П.Е. Проектирование компьютерных обучающих систем: Монография. М-во образования и науки РФ, РАНХиГС, МГПУ ИЦО. Тамбов: Консалтинговая компания Юком, 2018. 120 с.
8. Бенгфорт Б. Прикладной анализ текстовых данных на Python. Машинное обучение и создание приложений обработки естественного языка / Б. Бенгфорт. СПб.: Питер, 2019. 368 с.
9. Виноградова Е.Ю. Интеллектуальные информационные технологии - теория и методология построения информационных систем: монография / М-во образования и науки РФ, Урал. гос. экон. ун-т. Екатеринбург: Изд-во Урал. гос. экон. ун-та, 2011. 263 с.
10. Насибулин Р.О. Создание простого бота модератора для мессен-джера Telegram с помощью языка программирования Python / Р.О. Насибулин, Г.А. Гареева // Молодежь и системная модернизация страны: Сборник научных статей 7-й Международной научной конференции студентов и молодых ученых. В 5-ти томах, Курск, 19-20 мая 2022 года / Отв. редактор М.С. Разумов. Том 3. Курск: Юго-Западный государственный университет, 2022. С. 425-427.
11. Гареева Г.А. Разработка HR-бота для автоматизации процесса подбора персонала в производственном предприятии / Г. А. Гареева, И.М. Сафонов, З. Г. Джибладзе [и др.] // Научно-технический вестник Поволжья. 2023. № 1. С. 52-55.
12. Alex Root Jr. Aiogram Documentation, November 2022 [Электронный ресурс]. https://readthedocs.org/projects/aiogram/downloads/ pdf/latest/
13. David Love. Tkinter GUI Programming by Example. Packt Publishing, 2018. 340 p.
14. Hans-Jürgen Schönig Mastering PostgreSQL 13 - Fourth Edition: Build, administer, and maintain database applications efficiently with PostgreSQL 13. Packt Publishing, 2020. 476 p.
15. Baji Shaik, Avinash Vallarapu Beginning PostgreSQL on the Cloud: Simplifying Database as a Service on Cloud Platforms. Apress, 2018. 381 p.
References
1. James R. Groff. SQL. Polnoe rukovodstvo [SQL. A complete guide] / James R. Groff, Paul N. Weinberg, Andrew J. Oppel. SPb: Williams, 2019.
2. Fedorov D.Yu. Programmirovanie na yazyke vysokogo urovnya Python [Programming in the high-level language Python]. Moscow: Yurait Publishing House, 2019.
3. Tugov V.V. Proektirovanie avtomatizirovannykh sistem upravleniya [Designing automated control systems] / V.V. Tugov, A.I. Sergeev, N.S. Sharov. Saint-Petersburg: Lan, 2019, 172 p.
4. Modeli i metody issledovaniya informatsionnykh sistem [Models and methods of information systems research] / A.D. Khomonenko, A.G. Basyrov, V.P. Bubnov [et al.]. St. Petersburg: Lan, 2019, 204 p.
5. Zlatopol'skiy D.M. Osnovy programmirovaniya na yazyke Python [Fundamentals of programming in the Python language]. M.: DMK Press, 2017, 284 p.
6. Prokhorenok N.A. Python 3 i PyQt. Razrabotka prilozheniy [Python 3 and PyQt. Application development]. SPb.: BKhV-Peterburg, 2012, 704 p.
7. Ponomareva L.A., Chiskidov S.V., Ronzhina I.A., Golosov P.E.
Proektirovanie komp'yuternykh obuchayushchikh sistem [Designing computer learning systems]. Tambov: Consulting company Yukom, 2018, 120 p.
8. Bengforth B. Prikladnoy analiz tekstovykh dannykh na Python. Mash-innoe obuchenie i sozdanie prilozheniy obrabotki estestvennogo ya-zyka [Applied textual data analysis in Python. Machine learning and the creation of natural language processing applications]. SPb.: Piter, 2019,368 p.
9. Vinogradova E.Yu. Intellektual'nye informatsionnye tekhnologii - te-oriya i metodologiya postroeniya informatsionnykh sistem [Intellectual information technologies - theory and methodology of building information systems]. Yekaterinburg: Ural State University of Economics, 2011, 263 p.
10.Nasibulin R.O., Gareeva G.A. Molodezh'i sistemnaya modernizatsi-ya strany: Sbornik nauchnykh statey 7-y Mezhdunarodnoy nauchnoy konferentsii studentov i molodykh uchenykh. V 5-ti tomakh, Kursk, 19-20 maya 2022 goda [Youth and system modernization of the country: Collection of scientific articles of the 7th International Scientific Conference of Students and Young Scientists. In 5 volumes, Kursk, May 19-20, 2022] / Ed. M.S. Razumov. Vol. 3. Kursk: South-West State University, 2022, pp. 425-427.
11. Gareeva G.A., Safonov I.M., Dzhibladze Z.G. [et al.] Nauchno-tekh-nicheskiy vestnikPovolzh'ya, 2023, no. 1, pp. 52-55.
12. Alex Root Jr. Aiogram Documentation, November 2022. https:// readthedocs.org/projects/aiogram/downloads/pdf/latest/
13. David Love. Tkinter GUI Programming by Example. Packt Publishing, 2018, 340 p.
14. Hans-Jürgen Schönig Mastering PostgreSQL 13 - Fourth Edition: Build, administer, and maintain database applications efficiently with PostgreSQL 13. Packt Publishing, 2020, 476 p.
15. Baji Shaik, Avinash Vallarapu Beginning PostgreSQL on the Cloud: Simplifying Database as a Service on Cloud Platforms. Apress, 2018, 381 p.
ВКЛАД АВТОРОВ
Назмеев А.Л.: разработка программного продукта, обработка результатов исследований.
Гареева Г.А.: формулирование основных направлений исследования, разработка теоретических предпосылок, формирование общих выводов.
Каримуллин Б.Р.: проведение сбора данных, подготовка начального варианта статьи.
Григорьева Д.Р.: анализ и интерпретация полученных данных, литературный анализ.
Кузнецова Э.М.: научное редактирование текста статьи и окончательное утверждение версии для публикации.
AUTHOR CONTRIBUTIONS
Aynaz L. Nazmeev: development of the program product, processing of research results.
Gulnara A. Gareeva: formulation of the main directions of the research, development of theoretical assumptions, formation of general conclusions.
Bulat R. Karimullin: carrying out data collection, preparation of the initial version of the article.
Diana R. Grigoreva: analyzing and interpreting the obtained data, literary analysis.
Evelina M. Kuznetsova: scientific editing of the text of the article and final approval of the version for publication.
ДАННЫЕ ОБ АВТОРАХ
Назмеев Айназ Ленарович, студент
Казанский национальный исследовательский технический
университет им. А.Н. Туполева-КАИ
ул. Академика Королева, 1, г. Набережные Челны, 423814,
Российская Федерация
Гареева Гульнара Альбертовна, заведующий кафедрой Информационных систем, канд. пед. наук, доцент Казанский национальный исследовательский технический университет им. А.Н. Туполева-КАИ ул. Академика Королева, 1, г. Набережные Челны, 423814, Российская Федерация gagareeva1977@mail. ru
Григорьева Диана Рамилевна, доцент кафедры экономики предприятий и организаций, канд. пед. наук, доцент Казанский (Приволжский) федеральный университет, На-бережночелнинский институт
проспект Мира, 68/19, Набережные Челны 423812, Российская Федерация [email protected]
Каримуллин Булат Равилевич, студент
Казанский национальный исследовательский технический
университет им. А.Н. Туполева-КАИ
ул. Академика Королева, 1, г. Набережные Челны, 423814,
Российская Федерация
Кузнецова Эвелина Максимовна, студент
Казанский национальный исследовательский технический
университет им. А.Н. Туполева-КАИ
ул. Академика Королева, 1, г. Набережные Челны, 423814,
Российская Федерация
DATA ABOUT THE AUTHORS Aynaz L. Nazmeev, student
Kazan National Research Technical University named after A.N. Tupolev-KAI
1, Akademika Koroleva Str., Naberezhnye Chelny, 423814, Russian Federation [email protected]
Gulnara A. Gareeva, Head of the Department of Information Systems, Candidate of Pedagogical sciences, Associate professor
Kazan National Research Technical University named after A.N. Tupolev-KAI
1, Akademika Koroleva Str., Naberezhnye Chelny, 423814, Russian Federation gagareeva1977@mail. ru
SPIN-code: 3279-8465
Scopus Author ID: 36801593200
ResearcherID: M-1728-2015
ORCID: https://orcid.org/0000-0002-8539-4541
Diana R. Grigoreva, Associate Professor of the Department of Economics of Enterprises and Organizations, Candidate of Pedagogical Sciences, Associate Professor
Kazan Federal University, Naberezhnochelninsk Institute 68/19 Prospekt Mira, Naberezhnye Chelny 423812, Russian Federation
Bulat R. Karimullin, student
Kazan National Research Technical University named after A.N. Tupolev-KAI
1, Akademika Koroleva Str., Naberezhnye Chelny, 423814, Russian Federation [email protected]
Evelina M. Kuznetsova, student
Kazan National Research Technical University named after A.N. Tupolev-KAI
1, Akademika Koroleva Str., Naberezhnye Chelny, 423814, Russian Federation [email protected]
Поступила 11.10.2023
После рецензирования 10.11.2023
Принята 30.11.2023
Received 11.10.2023 Revised 10.11.2023 Accepted 30.11.2023