Научная статья на тему 'АЛГОРИТМ РАЗРАБОТКИ TELEGRAM -БОТА - ПРОДУКТИВНОГО ПОМОЩНИКА СОВРЕМЕННОГО БИЗНЕСА'

АЛГОРИТМ РАЗРАБОТКИ TELEGRAM -БОТА - ПРОДУКТИВНОГО ПОМОЩНИКА СОВРЕМЕННОГО БИЗНЕСА Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
912
111
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
АЛГОРИТМ РАЗРАБОТКИ / TELEGRAM-БОТ / АККАУНТ / РАЗРАБОТКА ПРИЛОЖЕНИЙ / ИНТЕРФЕЙС

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

В статье приведён алгоритм создания Telegram-бота - сервиса, позволяющего организовать взаимодействие организации с клиентом без привлечения дополнительных сотрудников. По сравнению с мобильными приложениями возможности интерфейса Telegram-бота ограничены, однако даже в таком виде их хватает для решения разнообразных задач. Среди функций данного сервиса можно выделить: ответы на вопросы, рассылка уведомлений, интеграция с другими сервисами, одно- и многопользовательские игры, социальные сервисы, организация приёма платежей и другое. Общение между ботом и сервером происходит в виде http-запросов. Алгоритм создания Telegram-бота рассмотрен в работе, после создания необходимо выбрать IDE, виртуальное окружение, язык программирования и метод создания самого бота. Большинство ботов пишут на языке Python из-за гибкости языка и большого количества фреймворков.

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Валинурова Анна Александровна, Балабанова Наталья Владимировна, Маценков Иван Алексеевич

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

ALGORITHM FOR DEVELOPING A TELEGRAM BOT - A PRODUCTIVE ASSISTANT FOR MODERN BUSINESS

The article presents an algorithm for creating a Telegram bot service that allows you to organize the interaction of an organization with a client without involving additional employees. Compared to mobile applications, the capabilities of the Telegram bot interface are limited, but even in this form they are enough to solve a variety of tasks. Among the functions of this service are: answering questions, sending notifications, integration with other services, single- and multi-user games, social services, organization of payment acceptance, and more. Communication between the bot and the server takes place in the form of http requests. The algorithm for creating a Telegram bot is considered in the work, after creation it is necessary to choose an IDE, a virtual environment, a programming language and a method for creating the bot itself. Most bots write in Python because of the flexibility of the language and the large number of frameworks.

Текст научной работы на тему «АЛГОРИТМ РАЗРАБОТКИ TELEGRAM -БОТА - ПРОДУКТИВНОГО ПОМОЩНИКА СОВРЕМЕННОГО БИЗНЕСА»

DOI: 10.6060/snt.20237402.0006 УДК 004.42

АЛГОРИТМ РАЗРАБОТКИ TELEGRAM -БОТА - ПРОДУКТИВНОГО ПОМОЩНИКА

СОВРЕМЕННОГО БИЗНЕСА

Валинурова А. А., Балабанова Н. В., Маценков И. А.

Валинурова Анна Александровна (ORCID.ORG 0000-0003-4614-7879), Балабанова Наталья Владимировна (ORCID.ORG 0000-0002-1427-2547), Маценков Иван Алексеевич Ивановский государственный университет,

г. Иваново, Россия. 153025, Ивановская область, г. Иваново, ул. Ермака, д. 39. E-mail: avalinurova@mail.ru, nvbalabanova@mail.ru, imatsenkov@mail.ru

В статье приведён алгоритм создания Telegram-6oma - сервиса, позволяющего организовать взаимодействие организации с клиентом без привлечения дополнительных сотрудников. По сравнению с мобильными приложениями возможности интерфейса Telegram-бота ограничены, однако даже в таком виде их хватает для решения разнообразных задач. Среди функций данного сервиса можно выделить: ответы на вопросы, рассылка уведомлений, интеграция с другими сервисами, одно- и многопользовательские игры, социальные сервисы, организация приёма платежей и другое. Общение между ботом и сервером происходит в виде http-запросов. Алгоритм создания Telegram-бота рассмотрен в работе, после создания необходимо выбрать IDE, виртуальное окружение, язык программирования и метод создания самого бота. Большинство ботов пишут на языке Python из-за гибкости языка и большого количества фреймворков.

Ключевые слова: алгоритм разработки, Telegram-бот, аккаунт, разработка приложений, интерфейс.

ALGORITHM FOR DEVELOPING A TELEGRAM BOT - A PRODUCTIVE ASSISTANT FOR

MODERN BUSINESS

Valinurova A. A., Balabanova N. V., Matsenkov I. А.

Valinurova Anna Alexandrovna (ORCID.ORG 0000-0003-4614-7879), Balabanova Natalia Vladimi-rovna (ORCID.ORG 0000-0002-1427-2547), Matsenkov Ivan Alekseevich Ivanovo State University,

Ivanovo, Russia. 39 Ermaka str., Ivanovo, Ivanovo region, 153025. E-mail: avalinurova@mail.ru, nvbalabanova@mail.ru, imatsenkov@mail.ru

The article presents an algorithm for creating a Telegram bot service that allows you to organize the interaction of an organization with a client without involving additional employees. Compared to mobile applications, the capabilities of the Telegram bot interface are limited, but even in this form they are enough to solve a variety of tasks. Among the functions of this service are: answering questions, sending notifications, integration with other services, single- and multi-user games, social services, organization of payment acceptance, and more. Communication between the bot and the server takes place in the form of http requests. The algorithm for creating a Telegram bot is considered in the work, after creation it is necessary to choose an IDE, a virtual environment, a programming language and a method for creating the bot itself. Most bots write in Python because of the flexibility of the language and the large number offrameworks.

Keywords: development algorithm, Telegram bot, account, application development, interface.

ВВЕДЕНИЕ

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

Боты - специальные аккаунты в Telegram, созданные для того, чтобы автоматически обрабатывать и отправлять сообщения. Пользователи могут взаимодействовать с ботами при помощи сообщений, отправляемых через обычные или групповые чаты. Логика бота контролируется при помощи HTTPS запросов к API для ботов [1]. Таким образом, Telegram предоставляет удобный интерфейс для любого проекта на базе запросов.

Для разработки приложений можно использовать разные подходы. Для примера рассмотрим информационное приложение, которое каждые 2 часа будет отправлять актуальный курс по выбранным валютным парам. Самая простая реализация такого приложения - веб-страница с добавлением кода на JavaScript. Пусть страница обновляется раз в 2 часа, она базируется на каком-либо хостинге, у пользователя есть ее адрес. Когда ему нужно - на неё можно зайти и получить нужную информацию. Есть очевидный недостаток такого подхода - отсутствие оповещений.

Теряется смысл такого приложения, если аналогичную информацию можно получить и при запросе в поисковике. Другой подход - написать приложение для телефона, например, для Андроид или Айфон. Затем его нужно разместить в магазине приложений.

А для этого нужно регистрироваться как разработчик на этих платформах, заполнять большое количество форм, ждать пока дадут доступы, пока ваше приложение одобрят. Всё это существенно усложняет процесс разработки и размещения.

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

Таким образом, Telegram-бот - это специальный аккаунт в Telegram, через который можно отправлять и получать сообщения.

А что именно он будет делать с этими сообщениями - это уже зависит от того, какая логика будет заложена внутри бота.

КОНЦЕПЦИЯ TELEGRAM-БОТА

Отметим, что при анализе работы Telegram-бота, будем руководствоваться системным подходом со спецификой его применения для математических моделей [2]. Рассмотрим логику взаимодействия составляющих системы Telegram-бота. Приложение Telegram-клиент может быть установлено на смартфоне, десктопе или вебе -для рассмотрения логики работы это не имеет значения (см. рис. 1).

Рис. 1. Схема взаимодействия с Telegram-ботом Fig. 1. Diagram of interaction with a Telegram bot

Когда пользователь через приложение Telegram как-то взаимодействует с ботом (пишет ему сообщение, нажимает на онлайн-кнопку под сообщением или выбирает команду в меню) -приложение отправляет запрос на Telegram-сервер. Сервер понимает, что это запрос к боту и, в зависимости от того, как настроен бот, либо отправляет запрос к боту, либо ждет запрос от бота.

Есть две основные технологии, которыми бот может получать то, что ему предназначено от сервера - Long polling и Webhook. Суть Long polling состоит в том, чтобы постоянно опрашивать сервер на наличие обновлений (апдейтов), предназначенных боту, типа, "Есть, там, чего для меня?". А Webhook - это когда сам сервер обращается к боту и оповещает его о том, что пришло сообщение. Long polling используется, в основном, на этапе разработки и тестирования бота, часто на компьютере самого разработчика, а

Webhook, когда бот уже запущен в продакшн.

Таким образом, бот получает апдейты от сервера, что-то с ними делает и отправляет результат обратно на сервер. Сервер понимает кому из пользователей предназначено сообщение и пересылает его в приложение пользователя. Общение между ботом и сервером происходит в виде http-запросов.

Место бота во всей системе взаимодействия с пользователями Telegram мы определили на предыдущем шаге, а теперь разберемся как работает любой телеграм-бот в общем случае.

По сути, бота можно представить, как бесконечный цикл, который ожидает события, обрабатывает их, при необходимости отправляет обратно какой-то результат и снова ждет события. Под событиями здесь понимаются апдейты от Telegram-сервера. (см. рис. 2)

Рис. 2. Бесконечный цикл обработки апдейтов ботом Fig. 2. An infinite cycle of processing updates by the bot

В официальной документации приведены примеры использования Те^гат-бота:

1. Присылать уведомления и новости.

2. Принимать платежи от других пользователей.

3. Интеграция с другими сервисами.

4. Утилиты и инструменты.

5. Одно- и многопользовательские игры.

6. Социальные сервисы.

7. Все, что вам захочется [3].

АЛГОРИТМ РАЗРАБОТКИ Алгоритм разработки может отличаться в зависимости от целей и необходимости интеграции с другими информационными системами [4-6].

Для начала работы необходимо установить Telegram и получить в нём аккаунт.

Можно скачать приложение под необходимую операционную систему с официального сайта https://telegram.org/.

Необходимо зайти в поиск и набрать "BotFather". Найдется несколько похожих, но нам нужен официальный с синей галочкой (https://t.me/BotFather) (см. рис. 3) Выбираем правильного "Отца ботов" и нажимаем в открывшемся чате "start". (см. рис. 4)

Рис. 3. BotFather в телеграм Fig. 3. BotFather in Telegram

■nl^Rr

Рис. 4. Чат с отцом телеграм-ботов Fig. 4. Chat with the father of telegram bots

Появится сообщение со списком команд, которые можно отправить отцу ботов. Есть много различных команд. Сейчас же нас интересует команда "/newbot". Либо кликаем прямо по ней, ли-

бо еще в левом нижнем углу можно нажать на кнопку "Menu" и там тоже откроется возможность выбрать нужную команду. (см. рис. 5)

BalFalher &

I сап G'tclpypu creaLe arid manage Telegrartl hols.. Ifyuure new La Ihe Rot API, plcnr.t: rr- She manual.

Itoui can ccrcrcl me by send to these cammands.-

/newtaot - ireaiiE a new bot j'f-iiytlüti. - edit! your bL'L: [beLdl

bdit Bats

j'wtnnTiP - change n bo^s rvarrw ^description -cSriartfe bot discretion /setBtouttei1: .jjnan^e bot about Info /setuserpk ■ change bot profile photo j'seteomraaridh - change the list of commands

j'tieleteboL - delete a bat Bat Snttinp

i't.T-i-pn - jmcratp authorization tnlcPii

/nevohe - revoke bot access rohen

/setlnllr-e - toggle Inline mode

/setinlir.egeo - toggle inline oca ton request*

j,M*Liiilr,_,'t±tdbuck- change :nlirie feedback betting

jV_,LjDii'i.i3,roup!- • Cjv: your boL be ¿dded la groups?

Act privacy togg c privacy made in ¡¡■.raup*-.

&am«

/mygarnes- edit yourgair?; [beta] j'nert'garre - create a new garra /lisigamea - get. a list of your ¿ames /editgamc edit u game /dclcxcj^ame delete an ciciati ng giimr

в-j iid tiwr О

bot

I СЭП h^lp учи ггрдГс- and mgnagp TptajTraTi hot?. If youh? new to the Hot AFl, rl-On-;i> зде-гЬс manu™

V"s.i ran rorrtrül rne hy swidi ng tiwwp rnmrnanrk:

i'nrrthot - rnuNt a iww bnt /mjibnt* edit your bats [brtaj

Edit Bats

i'sctnarr :■ cha ngc a bin's name

/setdescription :har\gc hot dcocripri"n

j'set ab out* rat change bot about info

'wtuscrpir ch.-.ng:? bot profile chat:

j1 set command', dnangs the-1 ist of tammjndc

V del etc bat delete a bot

Bot: tct-.injjE

i'la ken ■ generale author ¡¿at ion taken

/revoke revoke bal access LDUin

j'LcLinl fie - lagjjle i ¡line inode

i'üälinl Li - toggle inline loLalior ruqueiLi,

i'sctinl [leleedtiatR- change inl ne it-u l iclLiinyb

p> ■■"newbor :'ia»anew not

11^. /my bot 5 edit your bata [beta]

№ ftnreamflB edit ypi^ ßg-Ttfl? LbetsJ fe /token generate autlTKWiLäiün token

Write a message—

^ v*ihrс а теччлро...

Рис. 5. Команды для настройки отца-ботов Fig. 5. Commands for configuring father bots

Рис. 6. Создание имени нашего бота Fig. 6. Creating the name of our bot

Рис. 7. Создание второго (активного) имени бота Fig. 7. Creating a second (active) bot name

BotFather предложит выбрать имя нашему новому боту. (см. рис. 6)

Далее нужно задать username нашему боту - уникальное имя, которое нельзя будет менять, и которое обязательно должно оканчиваться на "bot", причём регистр букв не имеет значения,

Пишем любое имя. Его, в дальнейшем, можно будет изменить при желании. (см. рис. 7) длиной от 5 до 32 символов. Можно использовать латинские буквы, цифры и подчеркивания, однако с цифры или подчеркивания нельзя начинать шетате бота. (см. рис. 8)

Рис. 8. Ошибка в создании имени телеграм-бота Fig. 8. Error in creating a telegram bot name

Рис. 9. Занятость имён бота Fig. 9. Employment of bot names

Рис. 10. Успешное создание бота и получение токена Fig. 10. Successful bot creation and token receipt

Таким образом, usemame должен быть длиной от 5 до 32 символов, среди которых могут быть буквы, цифры и подчеркивания, но начинаться должен обязательно с буквы, а заканчиваться обязательно словом "bot", причем, регистр значения не имеет.

Из-за того, что юзернейм должен быть уникальным, подобрать его может быть не очень просто - многие уже заняты. (см. рис. 9)

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

При выборе не занятого usemame для бота вас поздравит BotFather. (см. рис. 10)

Для дальнейшей работы нам понадобится токен. Он должен быть недоступен широкому

кругу пользователей во избежание злоупотреблений. При необходимости токен боту можно поменять. Также через @BotFather (см. рис. 11).

В рамках одного телеграм-аккаунта допускается управлять максимум 20 ботами.

Чтобы на любом этапе взаимодействия с @BotFather получить от него список доступных команд - необходимо отправить в чат с ним команды /start или /help. После всех процедур с созданием самого бота в пространстве телеграмм нам нужно выбрать IDE, виртуальное окружение, язык программирования и метод создания самого бота.

Рис. ll. Токен телеграм-бота Fig. ll. Telegram bot token

Телеграм-бот может быть написан на самых разных, языках программирование, например, Python, C++, JavaScript, C# и др. Но чаще всего ботов пишут на языке Python из-за гибкости языка и большого количества фреймворков.

После сделанных выборов и построения плана на чём и как будет написан бот, нужно определиться с типом бота и уже можно приступать к его написанию, т.е. написанию кода (созданию программного обеспечения).

ВЫВОДЫ

Современные технологии позволяют с минимальными усилиями создавать сервисы под любые запросы пользователей. Платформа Telegram предоставляет техническую возможность для создания ботов, которые могут решать самые разные задачи и являются одним из трендов в развитии современных информационных си-стем[7]. В настоящее время предприятия и орга-

низации должны уделять значительное внимание инновациям [8]. Подобные цифровые технологии внедряются для развития бизнеса [9] и являются важным направлением перехода его на новый этап развития [10]. Одним из перспективных направлений использования ботов является применение их в образовательных целях для оперативного взаимодействия, совместной проектной деятельности, упрощения образовательного процесса [11-13]. Таким образом, алгоритм создания Telegram-бота максимально упрощен, что способствует быстрому распространению данной технологии для подготовки разнообразных сервисов.

Авторы заявляют об отсутствии конфликта интересов, требующего раскрытия в данной статье.

The authors declare the absence a conflict of interest warranting disclosure in this article.

ЛИТЕРАТУРА

1. Справочник по Bot API https://tlgrm.ru/docs/bots/api

2. Бобков С.П., Астраханцева И.А., Галиаскаров Э.Г.

Применение системного подхода при разработке математических моделей. Современные наукоемкие технологии. Региональное приложение. 2021. № 1 (65). С. 6671.

3. Telegram Bot API (documentation) https://core.telegram.org/bots/api

4. Зеленский О.С. Разработка системы управления проектом на основе платформы 1С: предприятие с интеграцией Telegram бота. В сборнике: Индустрия 1С. Сборник статей региональной конференции. Брянск, 2022. С. 127-135.

5. Карачевцева А.А., Сорокин А.А. Разработка чат-бота для коммуникации с клиентами на примере фотостудии. В сборнике: Цифровая экономика, менеджмент и финансы: развитие профессиональных навыков современного менеджера. сборник научных трудов V Междуна-

REFERENECES

1. Bot API Reference https://tlgrm.ru/docs/bots/api

2. 2. Bobkov S.P., Astrakhantseva I.A., Galiaskarov E.G.

Application of a systematic approach in the development of mathematical models. Modern science-intensive technologies. Regional application. 2021. No. 1 (65). P. 66-71.

3. Telegram Bot API (documentation). https://core.telegram.org/bots/api (accessed 05.04.2023)

4. Zelensky O.S. Development of a project management system based on the 1C platform: enterprise with Telegram bot integration. In the collection: Industry 1C. Collection of articles of the regional conference. Bryansk, 2022. P. 127-135.

5. Karachevtseva A.A., Sorokin A.A. Development of a chatbot for communication with clients on the example of a photo studio. In the collection: Digital economy, management and finance: development of professional skills of a modern manager. collection of scientific papers of the V International Business School. Stavropol, 2021. P. 105-109.

6. Shumilina M.A., Korobko A.V. Development of a chatbot

родной бизнес-школы. Ставрополь, 2021. С. 105-109.

6. Шумилина М.А., Коробко А.В. Разработка чат-бота на языке программирования Python в мессенджере "Telegram". Научные известия. 2022. № 28. С. 47-55.

7. Успенская О.И., Солдатов Е.И., Солдатов И.Н. О тенденциях развития и состоянии сектора ИКТ в России в современных условиях. Современные наукоемкие технологии. Региональное приложение. 2019. № 3 (59). С. 59-63.

8. Рычихина Н.С. Большие данные и искусственный интеллект как основа реализации региональных цифровых проектов. В сборнике: Наука о данных. Материалы международной научно-практической конференции. 2020. С. 264-265

9. Рычихина Н.С. Инновационная реструктуризация: теорический аспект и механизмы реализации. Экономика и предпринимательство. 2015. № 3-2 (56). С. 582-585

10. Рычихина Н.С. Инновационная модель управления "жизненным циклом" экономической системы посредством реструктуризации. Современные наукоемкие технологии. Региональное приложение. 2015. № 1 (41). С. 98-101.

11. Данилова С.В., Валинурова А.А. Цифровые инструменты для организации совместной проектной деятельности студентов. В сборнике: Современное университетское образование: вызовы и проблемы, ценности и инновации, технологии и качество. сборник статей. Иваново, 2021. С. 237-240.

12. Иванова Е.А., Валинурова А.А. Тренды в образовании на базе новых информационных технологий. В сборнике: Молодежь и государство: научно-методологические, социально-педагогические и психологические аспекты развития современного образования. Международный и российский опыт. Сборник трудов XI Всероссийской научно-практической конференции с международным участием. Под редакцией М.А. Крыловой. Тверь, 2022. С. 88-91.

13. Творогов М.А., Валинурова А.А. Преимущества и недостатки использования дистанционных технологий в образовательной сфере. В сборнике: Информационные и инновационные технологии в науке и образовании. Сборник научных трудов VI всероссийской научно-практической конференции с международным участием. Ростов-на-Дону, 2022. С. 403-405.

in the Python programming language in the Telegram messenger. Scientific News. 2022. N 28. P. 47-55.

7. Uspenskaya O.L, Soldatov E.L, Soldatov I.N. On trends in the development and state of the ICT sector in Russia in modern conditions. Modern science-intensive technologies. Regional application. 2019. N 3 (59). P. 59-63.

8. Rychikhina N.S. Big data and artificial intelligence as the basis for the implementation of regional digital projects. In the collection: Data Science. Materials of the international scientific and practical conference. 2020. pp. 264-265

9. Rychikhina N.S. Innovative restructuring: theoretical aspect and implementation mechanisms. Economics and en-trepreneurship. 2015. No. 3-2 (56). pp. 582-585

10. Rychikhina N.S. Innovative management model of the "life cycle" of the economic system through restructuring. Modern high-tech technologies. Regional application. 2015. No. 1 (41). pp. 98-101

11. Danilova S.V., Valinurova A.A. Digital tools for organizing joint project activities of students / In the collection: Modern University education: challenges and problems, values and innovations, technology and quality. collection of articles. Ivanovo, 2021. P. 237-240.

12. Ivanova E.A., Valinurova A.A. Trends in education based on new information technologies. In the collection: Youth and the state: scientific and methodological, socio-pedagogical and psychological aspects of the development of modern education. International and Russian experience. Proceedings of the XI All-Russian Scientific and Practical Conference with international participation. Edited by M.A. Krylova. Tver, 2022. P. 88-91.

13. Tvorogov M.A., Valinurova A.A. Advantages and disadvantages of using distance technologies in the educational sphere. In the collection: Information and innovative technologies in science and education. Collection of scientific papers of the VI All-Russian scientific and practical conference with int

Поступила в редакцию 22.03.2023 Принята к опубликованию 24.05.2023

Received 22.03.2023 Accepted 24.05.2023

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