Веб-приложение обработки данных Discord-бота | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 12 апреля, печатный экземпляр отправим 16 апреля.

Опубликовать статью в журнале

Автор:

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №52 (394) декабрь 2021 г.

Дата публикации: 22.12.2021

Статья просмотрена: 221 раз

Библиографическое описание:

Блинников, В. А. Веб-приложение обработки данных Discord-бота / В. А. Блинников. — Текст : непосредственный // Молодой ученый. — 2021. — № 52 (394). — С. 5-7. — URL: https://moluch.ru/archive/394/87208/ (дата обращения: 03.04.2025).



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

Ключевые слова: чат-боты, Discord, мессенджер, IP-телефония, автоматизация, API, веб-приложение.

Объектом исследования является использование чат-ботов для решения рутинных задач в среде социальных сетей. Предметом выступают боты приложения Discord, особенностью которых является гибкая настройка с помощью специального веб-приложения.

  1. Обзор приложения Discord

Discord — бесплатный мессенджер с поддержкой IP-телефонии и видеоконференций, предназначенный для использования различными сообществами по интересам[d1]. Он представляет собой платформу, состоящую из двух основных частей: личных сообщений и серверов. Личные сообщения могут быть тет-а-тет, а могут быть беседами не более чем по 10 человек. В них возможно переписываться и созваниваться. Однако ряд функций, который есть у серверов, в личных сообщениях недоступен.

Серверы — набор текстовых и голосовых каналов. Канал в данном случае является местом, где пользователи могут взаимодействовать друг с другом посредством текстового или голосового чата. Ограничений на количество людей, находящихся на сервере, нет. Ключевая особенность серверов — наличие системы ролей. Каждую роль можно настраивать под определённые каналы, разрешать или запрещать к ним доступ. Помимо ролей, серверы Discord обладают и другими не менее важными функциями, такими как демонстрация экрана, настройка уведомлений (для каждого канала можно настроить свои параметры), автоматическая модерация, блокировка пользователей и прочими.

  1. Описание Discord -ботов

Discord-боты — это автоматизированные учетные записи Discord. Они работают непосредственно с Discord API. Визуально боты отличаются от пользователей тегом «BOT» рядом с именем. Всего существует 3 типа ботов: серверные боты, селфботы, пользовательские боты. На данный момент, селфботы и пользовательские боты противоречат Условиям предоставления услуг Discord, поэтому далее будут рассматриваться только серверные боты.

Серверные боты

Серверные боты называются так из-за места их расположения. Действительно, чтобы начать взаимодействовать с серверными ботами, их сначала необходимо пригласить на сервер. Для этого нужно открыть ссылку авторизации бота, после чего выбрать свой сервер и указать боту необходимые права. Часто ссылки авторизации расположены в веб-приложении бота, где его также можно настроить. Но возможно использование популярных сайтов, обозревающих ботов, чтобы опубликовать ссылку авторизации своего бота. Для удаления бота с сервера, его необходимо «выгнать», либо «заблокировать» на сервере, как любого другого пользователя.

Функционал ботов

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

  1. Обзор способов взаимодействия между пользователем и Discord-ботом

Можно выделить два способа взаимодействия с Discord-ботами: через текстовый канал и через панель управления веб-приложения бота.

Взаимодействие через текстовый канал

Взаимодействие через текстовый канал — самый простой способ взаимодействия с Discord-ботом. Он заключается в написании команд боту в текстовом канале. Обращаться к боту можно через префикс, либо через обращение.

Префикс — символ или несколько символов, которые пишутся перед самой командой. Обычно префикс задан изначально, но некоторые боты позволяют его изменить вручную.

Обращение — встроенная функция Discord, которая позволяет обращаться к любому пользователю или целой роли, используя символ «@».

Взаимодействие через панель управления веб-приложения бота

Данный способ взаимодействия основан на использовании панели управления веб-приложения бота. Панель управления представляет собой интерактивное меню, с которым пользователь может работать, вписывая и утверждая параметры. Чтобы получить возможность использовать панель управления, пользователю требуется авторизоваться в веб-приложении бота через данные своего аккаунта Discord, а затем добавить бота на свой сервер. После этих процедур пользователю открывается панель управления бота на конкретном сервере. Помимо настройки бота, некоторые веб-приложения позволяют задать выполнение команд напрямую через них вместо использования текстового канала. Таким образом, можно задавать команды боту, не заходя в Discord.

  1. Анализ способов разработки Discord-ботов

Существует два известных способа разработки Discord-ботов:

– используя библиотеку для взаимодействия с Discord API;

– используя приложение для создания Discord-ботов.

Библиотеки для взаимодействия с Discord API

Согласно официальному форуму разработчиков, всего существует 42 библиотеки для взаимодействия с Discord API [1]. Библиотека по своей сути является расширением для языка программирования. Для каждого популярного языка есть своя библиотека, а в некоторых случаях даже несколько. На сайте Open Source Libs, известным за свой реестр существующих библиотек к любому программному обеспечению, существует рейтинг библиотек для работы с Discord API, среди которых самыми популярными библиотеками являются discord.js, discord.py, DiscordGo и Discord.Net [2].

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

Таким образом, при выборе библиотеки для работы с Discord API разработчик в первую очередь должен руководствоваться своими предпочтениями. Но в случае, если у него нет каких-либо предпочтений по языкам программирования, ему стоит обратиться к библиотеке discord.js. Данная библиотека является наиболее популярной, её установило более 250 тысяч человек [3], и, соответственно, по ней есть множество руководств и инструкций по реализации Discord-бота.

Приложения для создания Discord-ботов

Обычно приложения для создания Discord-ботов ограничены по функционалу для неподготовленных к программированию пользователей, а само программирование включает в себя использование библиотек для взаимодействия с Discord API. Тем не менее, они могут ускорить процесс разработки ботов, а некоторые по своей сущности напоминают фреймворки, потому что изначально предоставляют шаблон пустого бота, который можно дорабатывать.

Можно выделить несколько популярных приложений для разработки Discord-ботов. Ими являются Autocode, Bot Designer For Discord и Discord Bot Maker.

Сравнение способов разработки Discord -ботов

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

Приложения для создания Discord-ботов также могут быть приняты к рассмотрению в том случае, если начинающий разработчик ботов заинтересован в развитии своих навыков программирования или хочет получить быстрое представление о Discord API.

  1. Анализ способов разработки веб-приложений

Самостоятельная разработка

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

Разработка с использованием фреймворка

Фреймворк, как правило, содержит только базовые программные модули, а все специфичные для проекта компоненты реализуются разработчиком на их основе. Тем самым достигается не только высокая скорость разработки, но и большая производительность и надёжность решений.Разработка без использования платформы может быть правильным решением только в двух случаях — либо проект совсем простой и не требующий дальнейшего развития, либо очень нагруженный и требует очень низкоуровневой оптимизации. Во всех других случаях разработка на программной платформе быстрее и качественнее [5].

Разработка через систему управления содержимым

CMS (Content management system) или система управления содержимым — это базовый каркас и набор дополнительных инструментов и надстроек, который позволяет не только создать веб-сайт или веб-приложение, но и поддерживать его работу, обновлять контент и взаимодействовать с пользователями. Все CMS имеют панель управления с относительно дружелюбным интерфейсом. Любая CMS может позволить создать даже очень сложные решения с глубокой вложенностью страниц, но и у них есть свои особенности.

Достоинствами почти всех систем управления содержимым являются бесплатный доступ, удобное управление контентом, готовые решения. Однако и серьезные недостатки у CMS тоже есть. Ими являются уязвимость сайта, требования знаний к верстке и программированию для создания нешаблонного сайта [6].

Сравнение способов разработки веб-приложений

В целом, среди рассмотренных способов разработки веб-приложений много отличий. Так, самостоятельная разработка подойдет для тех разработчиков, кто готов пожертвовать временем и ресурсами ради быстродействия и уникальности. CMS подойдет для проектов без особенностей в реализации. А разработка с использованием фреймворка представляет собой среднее между разработкой «с нуля» и системой управления содержимым. Она имеет некий каркас для ускорения работы, но является более гибким способом разработки, нежели разработка в CMS. Исходя из полученных фактов, можно сделать вывод, что использование CMS для реализации веб-приложения обработки данных Discord-бота является наименее практичным способом. Разработчику для такой цели стоит выбирать между самостоятельной разработкой и разработкой с использованием фреймворка, в зависимости от масштаба проекта и доступных ресурсов.

Литература:

1. Community Resources. — Текст: электронный // Discord: [сайт]. — URL: https://discord.com/developers/docs/topics/community-resources (дата обращения: 20.12.2021).

2. Discord API. — Текст: электронный // Open Source Libs: [сайт]. — URL: https://opensourcelibs.com/libs/discord-api (дата обращения: 20.12.2021).

3. Библиотека discord.js. — Текст: электронный // GitHub: [сайт]. — URL: https://github.com/discordjs/discord.js (дата обращения: 20.12.2021).

4. Анна, Орлова 3 способа разработки веб-сайта / Орлова Анна. — Текст: электронный // vc.ru: [сайт]. — URL: https://vc.ru/dev/78714–3-sposoba-razrabotki-veb-sayta (дата обращения: 20.12.2021).

5. Фреймворки в веб-разработке. — Текст: электронный // Web Creator: [сайт]. — URL: https://web-creator.ru/articles/about_frameworks (дата обращения: 20.12.2021).

6. Коробочные системы управления сайтами — CMS. — Текст: электронный // Web Creator: [сайт]. — URL: https://web-creator.ru/articles/about_cms (дата обращения: 20.12.2021).


[d1]явно просится ссылка на источник

Основные термины (генерируются автоматически): API, CMS, бот, самостоятельная разработка, библиотека, панель управления, сервер, система управления, создание Discord-ботов, текстовый канал.


Похожие статьи

Разработка веб-приложения «Семейный органайзер»

В статье рассматриваются способы организации повседневной семейной жизни. Предлагается разработка веб-приложения, которое позволит управлять задачами, семейным бюджетом и совместными списками покупок. Основное внимание уделяется этапам разработки веб...

Создание клиент-серверного приложения на основе restful api архитектуры

В данной работе было спроектировано и разработано клиент-серверное приложение с архитектурой Restfull и взаимодействием с клиентом по API. Затронуты проблемы, связанные с проектированием микросервисов и его взаимодействия с клиентом. В качестве клиен...

Разработка веб-сервиса для хранения и передачи данных

В данной статье рассматривается процесс разработки веб-сервиса для облачного хранения и передачи данных, описываются основные аспекты создания серверной части с использованием фреймворка Spring и реализации клиентской части с использованием React, а ...

Адаптивный дизайн веб-сайта с использованием фронтэнд-фреймворка Bootstrap

В данной статье раскрывается понятие адаптивного дизайна как одного из процессов веб разработки. Даются определения разновидностей фронтэнд фреймворков, используемых в веб разработке, и подробный анализ компонентов фреймворка Bootstrap. Делается выво...

«ФинБезБот»: чат-бот по финансовой безопасности

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

Кроссплатформенная разработка на Flutter: ограничения и возможности

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

Приложение ветеринарной клиники

Данная статья описывает процесс создания приложения ветеринарной клиники, которое призвано решить такие проблемы, как повышение удовлетворенности клиентов, электронное ведение документации, учет пациентов в базе данных клиники и др. Мотивируется высо...

Разработка портала по исследованию уязвимостей веб-приложений и сайтов

В статье описывается разработка интерактивного образовательного портала для исследования уязвимостей веб-приложений. Представленный инструмент позволяет практиковаться в выявлении и устранении угроз информационной безопасности, таких как SQL-инъекция...

Контейнеризация приложений: преимущества Docker и Kubernetes

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

Анализ методов обеспечения безопасности веб-приложений

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

Похожие статьи

Разработка веб-приложения «Семейный органайзер»

В статье рассматриваются способы организации повседневной семейной жизни. Предлагается разработка веб-приложения, которое позволит управлять задачами, семейным бюджетом и совместными списками покупок. Основное внимание уделяется этапам разработки веб...

Создание клиент-серверного приложения на основе restful api архитектуры

В данной работе было спроектировано и разработано клиент-серверное приложение с архитектурой Restfull и взаимодействием с клиентом по API. Затронуты проблемы, связанные с проектированием микросервисов и его взаимодействия с клиентом. В качестве клиен...

Разработка веб-сервиса для хранения и передачи данных

В данной статье рассматривается процесс разработки веб-сервиса для облачного хранения и передачи данных, описываются основные аспекты создания серверной части с использованием фреймворка Spring и реализации клиентской части с использованием React, а ...

Адаптивный дизайн веб-сайта с использованием фронтэнд-фреймворка Bootstrap

В данной статье раскрывается понятие адаптивного дизайна как одного из процессов веб разработки. Даются определения разновидностей фронтэнд фреймворков, используемых в веб разработке, и подробный анализ компонентов фреймворка Bootstrap. Делается выво...

«ФинБезБот»: чат-бот по финансовой безопасности

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

Кроссплатформенная разработка на Flutter: ограничения и возможности

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

Приложение ветеринарной клиники

Данная статья описывает процесс создания приложения ветеринарной клиники, которое призвано решить такие проблемы, как повышение удовлетворенности клиентов, электронное ведение документации, учет пациентов в базе данных клиники и др. Мотивируется высо...

Разработка портала по исследованию уязвимостей веб-приложений и сайтов

В статье описывается разработка интерактивного образовательного портала для исследования уязвимостей веб-приложений. Представленный инструмент позволяет практиковаться в выявлении и устранении угроз информационной безопасности, таких как SQL-инъекция...

Контейнеризация приложений: преимущества Docker и Kubernetes

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

Анализ методов обеспечения безопасности веб-приложений

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

Задать вопрос