Научная статья на тему 'Описание концепции Telegram ботов и их разработка'

Описание концепции Telegram ботов и их разработка Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
3623
444
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
программирование / Telegram / чат-боты / Python. / programming / Telegram / chat-bots / Python.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Бийбосунов Б. И., Бийбосунова С. К., Жолочубеков Н. Ж.

В данной статье подробно описана концепция Telegram ботов, история появления самого мессенджера и ботов для него, а также будет рассмотрен способ их создания. Разработан Telegram бот, дающий прогноз погоды, и исходя из нее дает советы пользователям.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

DESCRIPTION OF THE TELEGRAM BOT CONCEPT AND ITS DEVELOPMENT

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 ботов и их разработка»

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/.

i Надоели баннеры? Вы всегда можете отключить рекламу.