УДК 004.9
АНАЛИЗ И РАЗРАБОТКА ФУНКЦИОНАЛЬНОГО TELEGRAM-БОТА
К. Д. Байкова, Т. А. Медведева
Донской государственный технический университет (г. Ростов-на-Дону, Российская Федерация)
В статье проведен анализ технологии для мгновенного обмена данными — мессенджеров, которые поддерживают взаимодействие с виртуальными собеседниками — ботами. Приведена классификация и технология разработки ботов для мессенджера Telegram. Описан алгоритм работы ботов с помощью запущенного на сервере программного обеспечения. Разработанный и функционирующий на базе Telegram бот «InstaReminder» является универсальным и удобным средством для развития аккаунта и может быть использован SMM-специалистами и пользователями Instagram.
Ключевые слова: информационные технологии, мессенджер, функциональный бот, Telegram, SMM-маркетинг.
ANALYSIS AND DEVELOPMENT OF A FUNCTIONAL TELEGRAM- BOT K. D. Baykova, T. A. Medvedeva
Don State Technical University (Rostov-on-Don, Russian Federation)
The article analyzes the technology for instant data exchange — messengers that support interaction with virtual interlocutors — bots. The classification and technology of development of bots for the Telegram messenger is given. The algorithm of the bots using the software running on the server is described. The Instareminder bot, developed and functioning on the basis of Telegram, is a universal and convenient tool for account development and can be used by SMM specialists and Instagram users.
Keywords: information technology, messenger, functional bot, Telegram, SMM marketing.
Введение. В настоящее время информационные технологии применяются человеком практически во всех сферах деятельности: в науке и технике, образовании, бизнесе, повседневной жизни. Компьютеры и телефоны используются для различных целей — как для работы, так и для общения и развлечений. Мессенджеры и социальные сети стали одними из самых популярных приложений, которыми пользуются люди всех возрастов.
Анализ технологии мгновенного обмена данными. Мессенджер — система или программа мгновенного обмена сообщениями, текстовой или графической информацией [1]. Появление таких мессенджеров как Telegram, WhatsApp, Viber вытеснило SMS, так как сообщения и звонки через такие программы бесплатные, необходимо только быть подключенным к сети Wi-Fi.
Популяризация мессенджеров произошла в конце 20-го века, а первая программа «ICQ» была создана школьниками из Израиля в 1996 году [2]. Она быстро набрала популярность по всему миру, но использовалась на стационарных компьютерах, так как мобильные телефоны еще не были так распространены. Появление смартфонов, IPhone в 2007 году и Android в 2008 способствовало популяризации и быстрому развитию мессенджеров, появлению новых программ с улучшенными функциями и возможностью обмениваться разнообразными видами контента [3].
Индустрия приложений-мессенджеров продолжает стремительно развиваться, предоставляя пользователю новые продукты и новые технологии. Кроме возможности делиться информацией, некоторые мессенджеры поддерживают формат переписки с ботами и чат-ботами. Бот или
виртуальный собеседник — это программа, автоматически выполняющая какие-либо действия по заданному сценарию, она работает внутри мессенджера и решает ряд определенных поставленных задач. Боты выполняют функции реального собеседника, но управляются с помощью программного обеспечения. Они используются в различных сферах для улучшения сервиса, рекламы какого-либо продукта или решения других задач [4]. Кроме этого, они помогают сократить затраты, увеличить конверсию и улучшить качество обслуживания клиента. Таких ботов можно настроить на реализацию практически любой задачи и, так как они работают на базе какого-либо мессенджера, то тоже являются кроссплатформенными. Именно поэтому к 2021 году использование ботов набрало такую популярность среди пользователей.
Алгоритм работы ботов на базе мессенджера Telegram заключается в том, что все команды, которые отправляет пользователь, передаются в запущенное на сервере программное обеспечение. После обработки запроса сервером Telegram осуществляется обратная связь с пользователем. Этот цикл повторяется столько раз, сколько действий совершает пользователь с ботом. Данное взаимодействие можно описать алгоритмом, представленным в виде схемы на рис. 1.
Рис. 1. Взаимодействие пользователя с ботом
Классификация ботов и технология их разработки. Ботов по обучаемости можно классифицировать на необучаемые (скриптовые) и обучаемые (использующие машинное обучение).
Они могут быть внедрены в веб-сайты (в качестве онлайн-консультантов), мессенджеры, социальные сети, мобильные приложения и поисковые системы. По функционалу выделяют три вида ботов: консультанты, боты для сбора данных и сервис-боты.
Существует также несколько наиболее востребованных и популярных видов ботов:
— интернет-магазин — является одним из самых выгодных ботов для бизнеса, так как выполняет функцию менеджера по продажам;
— агрегатор — бот, помогающий выбрать какие-либо услуги;
— бот-информер, который помогает ответить на узконаправленный вопрос пользователя и является аналогом поисковой системы;
— целевой, предназначенный для взаимодеиствия с определенной группой людей, используется для конференций, симпозиумов и т.д.;
— функциональный бот, выполняющий широкий спектр услуг, например, продающий товары, обучающий чему-либо, рекламирующий и т.д.
Создание бота в Telegram подразумевает взаимодействие с @BotFather. Это технология, позволяющая создать и зарегистрировать своего уникального бота в мессенджере Telegram. Взаимодействие осуществляется с помощью команд. Так, c помощью команды /newbot запускается процесс создания нового бота, для этого необходимо зарегистрировать его имя, которое будет отображаться в чатах и контактах. Необходимо задать уникальный username, который состоит из букв латинского алфавита, может включать цифры и символ подчеркивания, должен оканчиваться на «bot». После регистрации уникального имени бота пользователь получает сообщение с токеном, который необходим для дальнейшей работы с API. С помощью @BotFather также можно настроить аватар или логотип и описание бота.
Разработан программный продукт «InstaReminder» — бот для установки напоминаний о публикации контента в Instagram. Кодовая часть реализована на платформе Node.js с использованием библиотек «Telegraph», «nedb» [5].
Схема алгоритма работы бота, отображающая структуру команд и их последовательность, представлена на рис. 2.
Рис. 2. Схема алгоритма работы бота «InstaReminder»
Взаимодействие бота и пользователя отображается в интерфейсе. На начальном этапе показаны: приветственное сообщение и краткое описание, отражающее суть основного функционала, а также установлен логотип. В аккаунте бота представлено его название, имя пользователя @InstaReminder_bot, описание и логотип. Интерфейс и аккаунт изображены на рис. 3.
Рис. 3. Страница начала работы и аккаунт бота «InstaReminder»
Функционал бота состоит из команд:
— /start — отправка пользователю списка команд и их расшифровки;
— /help — повторный вызов сообщения с функционалом бота и инструкцией;
— /new — команда для установки напоминания. В ответ на неё бот отправляет сообщение с текстом «О чем вам напомнить?» с тремя кнопками «Пост», «Сторис», «Другое». При нажатии кнопки «Пост» и «Сторис» бот задает вопрос «Когда вам напомнить?» и уточняет, что отправлять время и дату для установки напоминания необходимо в формате [00:00 01.01.2021]. Далее, после отправки даты и времени, бот заносит полученные данные и текст напоминания в базу данных, откуда потом присылает необходимую информацию обратно в тело диалога. Команда, отправленная боту в формате «/new [текст напоминания] в [00:00 01.01.2021]», отвечает за создание нового напоминания. Обработчик события отвечает за установку напоминания и занесение в базу данных информации: уникальный идентификатор, id пользователя, дату, время напоминания и его текст. Уникальный идентификатор, который присваивается каждому установленному напоминанию, генерируется с помощью метода Date.now(). Он возвращает значение в виде числа, равного количеству миллисекунд, прошедших с 1 января 1970 года 00:00:00 по текущий момент времени, что обеспечивает его уникальность. Взаимодействие с командой /new в диалоге с ботом представлено на рис. 4.
/new 14:39^
О чем вам напомнить? 14;з9
Чтобы установить другое напоминание отправьте боту сообщение в формате: / new [текст напоминания] в [ООЮО 01.01.2021] 143э
Когда вам напомнить? (Отправьте мне время и дату в формате: [00:00 01.01.2021]) 14:39
Рис. 4. Работа команды /new
— /list — команда для отображения текущих установленных напоминаний. Содержит условный оператор if, который проверяет, содержатся ли в базе какие-либо данные. Если да, то по идентификатору пользователя определятся необходимый диалог и присылается напоминание в формате [идентификатор] [текст напоминания] в [00:00 01.01.2021], в противном случае бот отправляет сообщение с текстом «Нет действующих напоминаний». На рис. 5 показано взаимодействие в теле диалога с командой /list.
/ list
20:45 V/
[1620841195352] поспать в 20:55
Нет действующих напоминаний. 2ол5
Рис. 5. Взаимодействие с командой /list
— /del [идентификатор напоминания 1], [идентификатор напоминания 2], ... [идентификатор напоминания n] — команда для удаления установленных напоминаний. Из отправленной пользователем строки с идентификаторами формируется массив, затем в базе данных осуществляется поиск и удаление всех совпадающих идентификаторов. В тело диалога возвращается сообщение с текстом «Удалено!».
Заключение. Разработанный программный продукт — бот «InstaReminder» является самостоятельным сервисом, который может быть использован для установки произвольных напоминаний. Возможность добавлять напоминания о публикации контента в Instagram делает бота удобным инструментом для SMM-маркетологов и пользователей социальной сети, помогающим поддерживать регулярность публикаций. В дальнейшем развитие проекта может быть связано с добавлением мультиязычности, поддержки различных часовых поясов и возможности монетизации по желанию пользователя.
Библиографический список
1. Что такое мессенджер? / Про мессенджеры: [сайт]. — URL: https://aboutmessengers.ru/messendzher-chto-eto-takoe/ (дата обращения: 01.10.2021).
2. Александр Марфитсин. 20 лет истории ICQ: от быстрого роста и продажи AOL до потери аудитории и сделки с Mail.Ru Group / vc.ru: [сайт]. — URL: https://vc.ru/social/19936-icq-history (дата обращения: 29.09.2021).
3. Инди Гогохия. Добавь клиента в друзья. Продвижение в Telegram, WhatsApp, Skype и других мессенджерах / Инди Гогохия. — Москва: Эксмо, 2018. — 230 с.
4. Шуйский, А. Telegram-боты в бизнесе: примеры использования / Портал Cossa: [сайт]. — URL: https://www.cossa.ru/trends/224036/ (дата обращения: 03.10.2021).
5. Сухов, К. К. Node.js. Путеводитель по технологии / К. К. Сухов. — Москва: ДМК, 2015. — 416 с.
Об авторах:
Медведева Татьяна Александровна, доцент кафедры «Программное обеспечение вычислительной техники и автоматизированных систем» Донского государственного технического университета (344003, РФ, г. Ростов-на-Дону, пл. Гагарина, 1), кандидат технических наук, доцент, med.ta1@yandex. щ
Байкова Ксения Дмитриевна, магистрант кафедры «Медиатехнологии» Донского государственного технического университета (344003, РФ, г. Ростов-на-Дону, пл. Гагарина, 1), [email protected]
About the Authors:
Medvedeva, Tatyana A., Associate Professor, Department of Software of Computer Technology and Automated Systems, Don State Technical University (1, Gagarin sq., Rostov-on-Don, RF, 344003), Cand. Sci., Associate Professor, [email protected]
Baykova, Ksenyia D., Master's degree student, Department of Software of Computer Technology and Automated Systems, Don State Technical University (1, Gagarin sq., Rostov-on-Don, RF, 344003), [email protected]