TECHNICAL SCIENCE
УДК 681.5
Бийбосунов Б.И.
д. физ-мат. наук, профессор, Кыргызский государственный университет имени И.Арабаева
Бишкек, Кыргызстан Бийбосунова С.К.
к.э.н., доцент, Кыргызский государственный университет имени И.Арабаева
Бишкек, Кыргызстан Жолочубеков Н.Ж.
Аспирант, Кыргызский государственный университет имени И.Арабаева
Бишкек, Кыргызстан DOI: 10.24411/2520-6990-2020-11485 ОПИСАНИЕ КОНЦЕПЦИИ TELEGRAM БОТОВ И ИХ РАЗРАБОТКА
Biibosunov B.I.
Doctor of Physics&Math, Professor, Kyrgyz State University named after I. Arabaev
Bishkek, Kyrgyzstan Biibosunova S.K.
Candidate of Economics, Docent, Kyrgyz State University named after I. Arabaev
Bishkek, Kyrgyzstan Jolochubekov N.J.
Post-graduate student, Kyrgyz State University named after I.Arabaev
Biskek, Kyrgyzstan
DESCRIPTION OF THE TELEGRAM BOT CONCEPT AND ITS DEVELOPMENT Аннотация
В данной статье подробно описана концепция Telegram ботов, история появления самого мессен-джера и ботов для него, а также будет рассмотрен способ их создания. Разработан Telegram бот, дающий прогноз погоды, и исходя из нее дает советы пользователям. Abstract
This article describes in detail the concept of Telegram bots, the history of the appearance of the messenger and bots for it, and will consider how to create them. There is designed Telegram bot, which gives the weather forecasting, and afterwards submitting advice towards users.
Ключевые слова: программирование, Telegram, чат-боты, Python. Key words: programming, Telegram, chat-bots, Python.
Введение
Telegram - мессенджер, получивший большую популярность и был создан в 2013 году Павлом Дуровым, также известным за создание социальной сети ВКонтакте. Широкую известность мессенджер получил за счет высокой степени анонимности, которой удалось достичь внедрением шифрования передаваемых данных. Был создан специальный протокол обмена данными, конкретно для Telegram -
MTProto, включающий в себя систему алгоритмов шифрования. В данном протоколе использовали DH (Криптографический протокол Диффи - Хелл-мана) и асимметричный алгоритм шифрования RSA для авторизации, а для передачи данных - AES (Advanced Encryption System). В новой версии протокола MTProto 2.0 стали использовать хеширование по алгоритму SHA-256 [1].
TECHNICAL SCIENCE /
Рис 1 Android версии Telegram. Анонимный опрос в группе Telegram
В 2015 году Telegram добавил собственный API для разработки пользователями собственных ботов. На данный момент Telegram боты широко используются в различных целях: продвижение бизнеса (Бот от компании "Нова Пошта", позволяет отслеживать свои посылки), доп. функции для канала/группы (Бот для проведения опросов -Pollbot), проведение операций с криптовалютой (К
примеру, от cryptorussia.ru. Однако надежность подобных ботов не полностью достоверна) и прочие (К примеру, бот "Флибуста", который позволяет сразу скачать книгу, которую вы запросили). В общем, Telegram боты очень даже актуальная тема, которая позволяет добавить множество полезных функций. В 2016 году был проведен конкурс по созданию Telegram ботов botprize с призовым фондом 200.000$ [2].
(5) Message
4>
Рис 2 Пример реализации интерактивного Telegram бота с выбором кнопок
Способ создания Telegram ботов
Для создания Telegram бота необходимы базовые знания языка программирования Python [3]. Первым делом, необходимо установить сам Python на ПК. Делается это через официальный сайт Python.
¿i python
About Downloads Docui
Community Success Stones News Events
Download for Windows
Source code Python 3.8.2
Windows Note that Python 3.S* cannot bt used on Windows XP
['ВДИДИД', 'АРР MacOSX or earlier.
Oü»er Platforms Not the OS you are looking for? Python can be used on many operating systems and environments. V*h the full list of downloads.
[(в, 'Banana'), Alternative Implementations
Python is a programming language that lets you work quickly and integrate systems more effectively. >>> Learn More
Whether you're new to programming or an experienced ".onj'acww*!!/ tn (earn and itv
Python source code and installers are available for download for all
©Does
Documentation tor Python's standard library, along with tutorials
В Jobs
looking (or work or have a Python related position that you're tryvtg to
Рис 3. Официальный сайт Python
Далее необходимо зайти в командную строку (В случае, если в качестве ОС используется один из дистрибутивов Linux - открыть терминал). Необходимо иметь интернет подключение для корректной работы. Вводим:
python3 -т pip install pyTelegramBotAPl
31 Вы&ратв C:\Window5\5y5tem3Z\cmd.eae — 0 >'■
Downloading https://files■pvthonhosted.org/packaBes/62/ab/g9c686f69fcdaS7e35788b913dd34c9dgacb48dd263491^^ (65kB)
| | 71kB s
Collecting requests (from pyTelegramBotAPl)
Downloadin^i^p^/^ne^p^hon^ (58kB)
Collecting six (from pyTelegramBotAPl)
Downloading https://files.pythonhosted.ong/packages/65/eb/lf97cb97bfc2390a276969c6fael6075da282f5058082d4cbl0c6c5cldba/six-l.14.8-py2.pyB-none-any.whl Collecting urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 (from requests->pyTelegramBotAPI)
Downloadin^i^p^^ilesj^honl^ (125kB)
Collecting chardet<4,>=3.0.2 (from requests->pyTelegramBotAPI) Downloading https://files.pythonhosted.ors/packages/bc/a9/&lffebfb562e4274b6487b4bblddec7ca55ec751Sb22e4c51fl4&98443b8/chardet-3.e.4-py2.py3-none-any.whl (133kB) I I 143kB 819kB/s
Collecting idna<3,>=2.5 (from requests->pyTelegramBotAPI) Downloading https://files.pythonhosted.Qrg/packages/89/e3/afebe61c546dl8fbl7Q9a61bee788254b4ae736cff7271c7de5de2dc4128/idna-2.9-py2.py3-none-any.whl (58kB) sikB
Collecting certifi>=2017.4.17 (from requests->pyTelegramBotAPI) Downloading https://files.pythonhosted.org/packages/b9/63/df50cac98ea0d5b006c55a399c3bfIdb9da7b5a24de7890bc9cfd5dd9e99/certifi-2019.11.28-py2.руЗ-попе-апу.whl (156kB)
| I 819kB/s
Installing collected packages: urllib3, chardet, idnaj certifi, requests, six, pyTelegramBotAPl
Running setup.py install for pyTelegramBotAPl ... done Successfully installed certifi-2019.11.28 chardet-3.0.4 idna-2.9 pyTelegramBotAPl-3.6.7 requests-2.23.0 six-1.14.0 urllib3-l.25.8
Рис 4 Результат загрузки pyTelegramBotAPI через командную строку
После завершения, открываем IDLE (Специальный встроенный IDE для написания программного кода на Python), создаем новый файл и прописываем следующее (Также возможно использовать IDE, как PyCharm, Visual Studio или же редакторы кода - Visual Studio Code, Sublime Text, Notepad++ и т.д. в связке с командной консолью): import telebot
def send welcome(message): bot.reply_to(message, "Howdy, how are you doing?")
@bot.message_handler(func=lambda message:
True)
def echo_all(message): bot.reply_to(message, message.text)
bot = telebot.TeleBot("TOKEN")
@bot.message_handler(commands=['start', 'help'])
Нью-Йорк
Итак, мы прописали простого Telegram бота, который на ваше сообщение отвечает этим же сообщением, т.е. "эхо-бот".
neu robot
3 гсроде "ечгеоагу'ра 13 градусов
6:39:54 Af
Влажность воздуха 30% £ове-ы:
На улице прохпэлчо, оден=_есь сл€-ка потеплее
6:39:54 AM 6:39:55 AM 6:39:55 AM
Рис 5 Разработанный Telegram бот, дающий прогноз погоды, и исходя из нее дает советы
TECHNICAL SCIENCE / <<Ш1ШетУМ~^®УГМа1>#7(1Ш,2©2©
Заключение
В данной статье мы рассмотрели концепцию Telegram ботов, историю их появления и способ их создания на языке программирования Python и специального модуля для него - pyTelegramBotAPI. Следует уточнить, что в последнее время актуальность использования и разработки Telegram ботов очень сильно возросла по сравнению с предыдущим годом. Можно сделать вывод, что это очень перспективное направление.
Список литературы:
1. Общая информация про Telegram [Электронный ресурс]. - Режим доступа: https://en.wikipedia.org/wiki/Telegram_(software).
2. API на Python для создания Telegram бота [Электронный ресурс]. - Режим доступа: https ://github.com/eternnoir/pyTelegramBotAPI.
3. Официальный сайт Python [Электронный ресурс]. - Режим доступа: https://www.python.org/.