Платформа Discord, как активно развивающиеся сообщество по разработке ботов

2
0
Материал опубликован 3 December 2023 в группе

Автор публикации: Т. Арсланов, студент 2 курса

Автор публикации: Д. Якиов, студент 2 курса

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И МОЛОДЕЖНОЙ ПОЛИТИКИ СВЕРДЛОВСКОЙ ОБЛАСТИ

ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ПРОФЕССИОНАЛЬНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

СВЕРДЛОВСКОЙ ОБЛАСТИ « ВЕРХНЕТУРИНСКИЙ МЕХАНИЧЕСКИЙ ТЕХНИКУМ»










Исследовательский проект

на тему: «Платформа Discord, как активно развивающиеся сообщество по разработке ботов»





Ф.И.О. исполнителя (исполнителей):

Арсланов Тимур Артемович,

Якимов Дмитрий Антонович

обучающийся 2 курса,

Специальность 09.02.07
«Информационные системы
и программирование»

Руководитель:

Хисамутдинова Венера Ильдусовна,

преподаватель общепрофессиональных

дисциплин высшей кат


















2023г.



ОГЛАВЛЕНИЕ

Введение 3

Глава 1 Особенности платформы и сообщества Discord 5

1.1 Платформа Discord и его сообщество 5

1.2 История появления Discord 6

1.3 Популярность и особенности платформы 7

1.3.1 Функционал, удобство и надежность 7

1.3.2 Аудитория и распространение 8

1.3.3 Сервера и их возможности 9

Глава 2 Разработка Discord бота и создание сервера для студентов ГАПОУ СО ВТМТ 11

2.1 Опрос 11

2.2 Создание среды для бота 12

2.3 Создание бота 16

2.4 Сравнительный анализ 21

Заключение 22

Библиографический список 24



Введение

«Мир полон маленьких деталей, которые
дают нам всю необходимую информацию».
Бернар Вербер «Империя ангелов»

Тема исследования: «Платформа Discord, как активно развивающиеся сообщество по разработке ботов»

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

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

Проблема исследования: в последнее время, многие пользователи Дискорда, стали активно интересоваться созданием своего сервера, функциями ботов, а так – же идеей разработки собственного бота и затачивания его под определенную деятельность. К сожалению, далеко не всем удается понять и ознакомиться с некоторыми особенностями пользования платформой, и созданием внутри нее ботов. На данный момент, сообщество Discord является очень активным и разносторонним в обсуждениях тем, и видах деятельности, где можно найти ответы на многие вопросы, но из–за большого объема информации, многим новичкам, первое время, бывает достаточно трудно там освоится. Поэтому решение подобных трудностей даст большой толчок к развитию этой области.

Объект исследования: платформа Discord.

Предмет исследования: Discord бот и сервер для студентов ГАПОУ СО «Верхнетуринский механический техникум».

Гипотеза исследования: мы предполагаем, что нам удастся создать полезного бота для среды его активного использования.

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

Лучше ознакомиться с особенностями платформы Discord;

Узнать о истории создания Discord;

Проанализировать его активные сообщества и большую популярность;

Провести опрос среди студентов, о использовании Discord в проведении разного рода студенческих мероприятий;

Создать Discord сервер для студентов образовательной организации ГАПОУ СО «Верхнетуринский механический техникум»;

Ознакомиться с некоторыми особенностями процесса разработки бота и о его перспективных возможностях;

Заняться созданием собственного универсального Discord бота;

Практическая значимость: создания сервера и бота, для студентов образовательной организации ГАПОУ СО «Верхнетуринский механический техникум» с целью проведения досуга и разного рода мероприятий.

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


Глава 1 Особенности платформы и сообщества Discord 1.1 Платформа Discord и его сообщество

Интересуясь многими мессенджерами, сообществами и платформами для общения, вы хотя бы раз, да все равно лично сталкивались с таким понятием как Discord или по крайней мере, слышали хорошие рекомендации о нем, от знакомых. Говоря о Discord, стоит выделить тот элемент особенности, что это не просто мессенджер, а целая платформа, имеющая собственное активное сообщество и огромное количество серверов по разным интересам. Discord – это бесплатное приложение для общения в чате, которое предоставляет различные настраиваемые и развлекательные функции, также он имеет поддержку голосовой и видео связи, с функциями настройки звука, видео и показа демонстрации экрана. Данный ресурс используется миллионами людей по всему миру как для профессиональной сферы опыта, так и просто для проведения досуга с знакомыми, и друзьями по интересам, а возможно даже для приобретения новых знакомств.

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

Наверное, одной из самых главных фишек Discord являются его боты – это удобные и многофункциональные инструменты, предназначенные для широкого применения в администрировании и систематизации деятельности пользователей на серверах, и на сегодняшний день, эта платформа стала одним из самых крупных сообществ по созданию, развитию и продвижению ботов. Само их появление на платформе Discord в 2017 году стало серьезным шагом к развитию его серверов, коммуникабельности большого количества новых пользователей и роста его популярности. А не так давно они перестали быть просто инструментом общения, став чем - то большем, расширив свой функциональный потенциал до запуска отдельных файлов и даже расширений, внутри самого приложения.

1.2 История появления Discord

В истории развития Discord есть множество интересных моментов и кажется, что появление такой популярной платформы не могло бы случиться, если бы не было таких совпадений. Стоит отметить, что один из главных соучредителей Discord, Джейсон Цитрон, был парнем, который обожал игры, и большое количество свободного времени уделял именно этому. Однако главным увлечением Джейсона, по его утверждениям, было их создание. Именно поэтому парень довольно много времени уделял еще и изучению программирования, что после немалых лет опыта, превратилось в масштабную платформу и социальную сеть для мобильных игр, которая получила название OpenFeint и вскоре купленная компанией Gree, в 2011 году за более чем 100 миллионов долларов. На заработанные деньги, с этого и несколько других малых проектов, была основана его собственная компания по разработке игр, которая была названа как Hammer and Chisel [13].

В то время, осуществления голосовой связи для общения в интернете могло проходить лишь с помощью TeamSpeak или Skype, которые часто не могли удовлетворить потребности пользователей, из – за многих проблем с связью и подключением [13]. Именно в тот момент, Цитрону и его команде в голову и пришла гениальная идея о создании совершенно новой платформы для общения – Discord.

Сам процесс подготовки к разработке, сопровождался для компании болезненно, в течении полугода пришлось реорганизовывать всю компанию. Реорганизация заключалась в изменении процесса работы, увольнение около трети сотрудников штата и перевода на другие должности – все это требовалось для смены профиля компании.

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

После окончательного выпуска платформы в свет, она не смогла обрести большой популярности и даже рекомендации знакомым, разработчиков не смогли сильно повлиять на результат, что достаточно странно, ведь они продолжали хорошо отзываться о продукте, но до последнего момента не пользовались им, скорее всего причиной этому были некоторые сомнение о аналоге, уже привычного всем Skype. Однако, постоянное изучение потребностей пользователей, внедрение новых возможностей и технологий для дальнейшего развития – все же привели команду к успеху.

Настоящей датой выхода приложения, Джейсоном Цитроном, считается 13 мая 2015 года – когда один из пользователей популярного зарубежного форума, выложил публичную ссылку для скачивания одного из Discord – серверов, что в конечном итоге запустило процесс стремительного потока новых пользователей [13]. Именно эффекту «сарафанного радио» и обязана команда разработчиков – большая часть аудитории набиралась именно через советы друзьям уже существующими пользователями. Именно в этот день чатом стали пользоваться и другие люди, обычные пользователи, а не члены команды и знакомые. В последующие года разработки, создатели лишь проводили некоторые улучшения продукта, увеличивали и дорабатывали функционал, а помимо проведения постоянных оптимизаций, стали добавляться еще и новые функции, такие как видео – звонки и захват экрана.

1.3 Популярность и особенности платформы

Успех Discord связан не только со своей функциональностью и качеством работы приложения, но и многими другими факторами, которые были развиты или приобретены в процессе долгих лет работы над платформой, и ее сообществом [5]. Команда разработчиков всегда прислушивалась к пожеланиям своей аудитории и лучшие из предложенных идей старалась реализовывать. Круглосуточная поддержка клиентов, открытое общение между командой разработчиков и сообществом, а также стремление сделать Discord простым в использовании, помогло создать доступную и уникальную в своем роде платформу.

1.3.1 Функционал, удобство и надежность

Одна из причин, послужившей толчком к росту популярности платформы – это обеспечение высокого уровня надёжности и стабильности программы, как со стороны подключения, так и со стороны поддержки большого количества серверов, где система баз данных с легкостью может обрабатывать миллиарды сообщений [5]. Безупречный голосовой чат во время бесед долгое время оставался без внимания, и ведь зря, подобные мессенджеры, до Discord, были медленными, не имеющие тонкой настройки связи и снижающие производительность процессора, но данная платформа, ответственно решила и эту проблему. Удобное переключение между несколькими учетными записями и богатый внутренний функционал для профилей пользователей, также хорошо давали понять и о его настраиваемой персонализации, что определенно нравилось многим.

В дальнейшем, возникновение каких – либо сбоев работы в программе, стали больше зависеть от самого пользователя – причины связываются с некорректной работой компьютера и интернет – провайдером. Редко выявляемые программные ошибки, оперативно исправляются разработчиками. Не ограничиваясь обзором функционала, можно выделить еще достаточно простой и структурированно понятный интерфейс, обширный репозиторий пользовательских смайликов (emoji), расширенную организацию каналов сервера, и множество интеграций с общедоступными ботами. Все это – позволило сообществам процветать на творческой свободе и демонстрировать свою индивидуальность. Многие уже существующие компоненты, зависели прежде всего от запросов пользователей, ведь именно они продвигают развитие приложения, чему и способствует его техническая сторона. Надёжность же данной платформы также подкрепляется тесным сотрудничеством со своей аудиторией, разработчики поддерживают интенсивность обновлений, занимаются разработкой новых функций и исправлением возникающих ошибок, работая вместе с пользователями на благо своего продукта.

1.3.2 Аудитория и распространение

Изначально, история разработки Discord была основана на идеи создания платформы для общения между геймерами, но спустя продолжительный промежуток времени, данную платформу стали использовать компании и прочие организации [5]. Подобного, столь успешного результата популярности с других сфер деятельности, команда разработчиков никак не могла ожидать. Пересмотрев свой будущий курс продвижения и развития, Джейсон Цитрон принял решение, что при дальнейшей разработке, их отдел будет опираться не только на уже существующую аудиторию, но и на других людей с совершенно другими вкусами и интересами. Выполнение данного плана разработки началось с 2021 года, в план входит пополнение платформы новыми функциями, некоторые технические изменения серверов, а так – же изменения интерфейса под более упрощенный вариант управления.

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

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

Discord в значительной степени всегда опирался на главную потребность среди пользователей – внести свой вклад в развитие сообществ, увеличить их возможности и разнообразить контент [5]. В этом, пожалуй, и заключается главная способность данной платформы – все ее усилия направленны в первую очередь на удовлетворение растущих потребностей крупных сетевых сообществ и обычных пользователей, посредством его технической стороны. Обращая внимание на требования сообществ по интересам и открытого общения с аудиторией, Discord продолжал создавать новые инструменты общения, и управления, такие как настраиваемые боты. И даже более того, команда разработчиков предоставила пользователям инструменты и программные библиотеки для создания, а также последующего продвижения собственных ботов. Некоторые факторы вносили небольшие изменения, но актив со стороны сообществ приводил их в постоянное улучшение для последующего ускорения роста значимости.

1.3.3 Сервера и их возможности

Сервера Discord – это отдельно сформированные сообщества по интересам и увлечениям пользователей или места, имеющие какую – либо другую определенную цель для совместных обсуждений и встреч. В данные сообщества, пользователи вступают по средствам открытых, публичных или частных ссылок, привязанных к определенному серверу и распространяющиеся за счет специальных сайтов с списками серверов Discord, а иногда через знакомых коллег и своих друзей, приславших вам приглашение. Внутри сервера, существуют возможности создания и редактирования каналов – отдельных элементов взаимодействия сервера. Каналы внутри сервера являются своего рода комнатами для общения пользователей, причем для их использования не нужно производить какой – либо предварительный вызов, любой участник сервера, с определенным набором настраиваемых прав, может зайти на канал и воспользоваться им в зависимости от его назначения. Как правило каждый канал сервера имеет определенную тему и цель его формирования, а также свое уникальное названия и набор ролей, с правами для его доступности. Все каналы серверов подразделяются на текстовые и голосовые, где текстовые – это каналы, начинающиеся со значка «#» и имеющие названия типа «чат» или «общение» [5]. Подобные каналы применяются как для общения между пользователями, так и для цитирования какой – либо информации, публикации объявлений, новостей, где имеется разрешение только на прочтение отправленной в канал информации. Голосовые каналы – это комнаты для общения, начинающиеся со значка громкоговорителя и имеющие возможность использования микрофона, видеосвязи или демонстрации своего экрана.

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

Разобравшись с тем, что представляет из себя платформа Discord и ее сообщества, ознакомившись с разнообразием функционала, возможностей, поддержкой активной аудитории, а также проанализировав особенности и распространение данной платформы. Мы выяснили, что применение подобной платформы, будет актуальным опытом для создания среды бота, в виде сервера, который будет использоваться обучающимися нашей образовательной организации, в целях проведения внеурочных студенческих мероприятий, досуга и приобретения новых знакомств. Поэтому следующими этапами нашей работы станет – проведение опроса среди студентов ГАПОУ СО «Верхнетуринского механического техникума», где мы сможем убедиться в необходимости создания сервера, после данного этапа мы приступим к разработке самого сервера и завершающим этапом станет разработка нашего универсального бота, для работы внутри сервера. Данные этапы разработки будут представлены во второй главе, по итогам которой, мы сможем подвести некоторые результаты и сделать заключения по всей проведенной нами работы.



Глава 2 Разработка Discord бота и создание сервера для студентов ГАПОУ СО ВТМТ 2.1 Опрос

Перед началом разработки бота и созданием сервера, первым делом стоит выяснить мнение обучающихся, ведь данная платформа, а также ее среда в виде сервера Discord, будут использоваться именно в интересах и пожеланиях студентов. Поэтому среди одногруппников и обучающихся других курсов, образовательной организации ГАПОУ СО «Верхнетуринский механический техникум», существует необходимость в проведение опроса, которое сможет отразить их мнение как по использованию Discord в общении, так и в принципе, для коммуникации между студентами разных групп, а также специальностей. Результаты данного опроса помогут нам проанализировать, а также выяснить, готовы ли студенты данной организации, использовать Discord как среду для всеобщего общения, обсуждения интересов и участия в организации сервера, поддерживаемым нашим ботом, для проведения каких – либо запланированных, одобренных студенческим советов мероприятий. Для этого, нами был разработан опрос в google форме (URL: https://docs.google.com/forms/d/e/1FAIpQLSfh7PPNrCCUHuwTCFJ9ID46lqIG2nwjdKWBGxyGwvJu_cuZow/viewform). Опрос рассылался в социальной сети вконтакте и был доступен с ноября по февраль месяц, 2023 года. В опросе приняли участие 40 обучающихся, которые показали следующие результаты, представленные на рисунке 2.

t1701595346aa.jpg

Рис 1. Опрос

t1701595346ab.png

Рис 2. Результаты опроса

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

2.2 Создание среды для бота

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

t1701595346ac.png

Рис 3. Создание сервера

t1701595346ad.png

Рис 4. Шаблон сервера

Не приложив большого количества усилий и используя встроенный в Discord шаблон для объединения обучающихся, нами вскоре был создан сервер. В результате, получившийся у нас небольшой сервер, имел разделение каналов по полезным категориям, так мы приступили ко второму шагу создания сервера – его настройке. Первым делом было произведено изменение названия и аватара сервера, на название и логотип данной образовательной организации. Подобное решение будет полезно для новых пользователей и поможет им сразу сориентироваться в предназначении данного сервера. Также нами были распределены каналы и категории, созданы новые, более подходящие под наши цели. Одновременно с этим была проведена их сортировка, а также настройка прав для интуитивно понятной структуры и ограничению, в зависимости от предназначения и целей категорий. В то же время появилась необходимость еще и в создании ролей, для разделения обучающихся, по группам или мероприятиям. Приятным элементом для разнообразия общения, стало добавление смайликов (emoji), что способствует более комфортному прибыванию пользователей на сервере. После всех вышеупомянутых действий можно считать, что полная настройка сервера завершена.

2.3 Перспективы и особенности разработки бота

Произведя полную настройку сервера и перед началом создания самого бота, мы решили ознакомиться с некоторыми особенностями его разработки. Был произведён поиск необходимых инструментов и информации, а именно: язык программирования и требуемые импортируемые библиотеки создания; гибкая база данных, используемая для хранения данных о пользователях; тонкости принципа работы; этапы и предварительные действия, которые являются обязательными для подготовки к началу создания, а также поиск свода правил платформы, в отношении политики создания, распространения и использования ботов.

Поиск информации начинался с прочтения официальных документаций, из которых была получена основная масса материалов, знаний и сведений о Discord ботах. Язык программирования, выбранный и использующиеся нами для разработки, называется Python версии 3.10. На данном языке программирования есть несколько основных библиотек, связанных с разработкой внутри Дискорда: Discord.py, Disnake, Nextcord. Из данных библиотек необходимо выбрать ту, которая будет использоваться для начального и последующих этапов разработки вашего бота. В последствии, при рассмотрении нами вариантов библиотек, для работы с Discord, была еще и определена следующая необходимость в обращении к более общим, и наглядным источникам информации, такие как видео-документации, а также документации используемых библиотек. Из этих источников стало понятно, что самой удобной и актуальной на данной момент из представленных нам библиотек является лишь Disnake.

Одной из главных особенностью программирования бота является то, что для создаваемых команд, используется система обратной связи и асинхронность задач. Реализация работы бота идет следующим образом, пользователь отправляет запрос, по средствам ввода определенных команд, где в свою очередь сам бот, сравнивает полученные данные с имеющимися заготовками и отправляет соответствующий результат. Асинхронность же, в данном случае, позволяет не зацикливаться боту на одном пользователе и продолжать работать одновременно с несколькими запросами. Если же он используется в обширных массах, то в таком случае, предполагается так называемая работа системы «Шардов» – состояние, при котором бот разделяется на несколько процессов, и за каждым процессом закреплено определенное количество пользователей, но в то же время они все используют единую базу данных.

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

Локализация бота на несколько языков, для увеличения охвата пользователей и создания более тесного сотрудничества с крупными серверами, в целях осуществления публикации локальной рекламы;

Создание отдельного сайта, для ознакомления с ботом и его возможностями, просмотра статистики активности серверов, а также настройки бота.

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

Как известно, любой продукт должен иметь свое название и какое – либо отличительное обозначение – логотип, который будет отражать либо суть и направленность данного продукта, либо его название, как отдельного объекта. Как уже было сказано ранее, наш бот, будет представлять собой разработанный продукт совместной деятельности, поэтому он также, как и другие, должен иметь свой логотип и название. Просмотрев несколько вариантов Discord ботов, их названия и логотипы, мы решили придумать название своему, простое и незамысловатое, такое как Delphi (Делфи). Чтобы не нарушать права на продукты других создателей контента, было необходимо нарисовать также и сам логотип, для этого использовались профессиональные программы для рисования и редактирования фото. Готовый логотип в виде дельфина, хорошо отражает название самого бота, выглядит просто и минималистично.

t1701595346ae.png

Рис 5. Логотип бота «Delphi»

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

t1701595346af.gif

Рис 6. Рекламный баннер


2.3 Создание бота

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

Random – отвечающая за выбор случайного значения из заданного ей списка;

Datatime – работа со временем, датами и таймером;

SQLite3 – база данных;

Json – библиотека отвечающая за работу с текстовыми данными, где в нашем случае применяется для хранения токена бота (его ключа активации);

Logging – логирование, т.е. запись происходящих событий во время процесса работы бота (Ошибки, статус работы, подключение, получение данных).

Все началось с создания заготовки, с помощью инструментов создания и настройки бота Discord Developer Portal – портала разработчиков Дискорд. Были выданы необходимые разрешения для созданного профиля бота, на данной платформе, а также выдан токен, необходимый для его запуска и последующего создания команд.

Первые команды, которые мы попробовали создать, стали команды «ping» и «say», являющееся самыми простыми и базовыми, но необязательными для реализации командами. Команда «Ping» – позволяет узнать задержку в ответах между пользователем и ботом, а команда «Say» – отвечает за возможность отправки в чат сообщения, от имени самого бота, данная команда обычно используется при подаче объявлений или при сообщении какой – либо важной информации. Применяя блоки функции def и асинхронность выполнения задач, для разделения команд, была написана основная структура команд. Команды, сами по себе, являются достаточно несложными технически, из – за их малого функционала, но при этом, даже для начальной команды ping пришлось применять формулу вычисления задержки (вычисление самой задержки через функцию bot.latency и умножение получаемого числа на тысячу, для получения результата в миллисекундах).

t1701595346ag.png

Рис 7. Команда «Ping»

t1701595346ah.png

Рис 8. Использование команды «Ping»

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

Название команды;

Описание команды;

Альтернативное название команды для ее вызова;

Установка задержки перед повторной отправкой команды (во избежание спама);

Специальный ответ при использовании команды;

Ограничения права на ввод команды.

Как итог, на раннем этапе у нас получилось создать две полностью рабочих и настроенных команды, готовых к своему использованию.

Испробовав создание простых команд, было решено перейти на более сложные команды, как в техническом плане, так и логическом. Для увеличения функционала и сохранения данных пользователей, во – первых, было решено добавить локальный префикс (префикс – это специальный знак, который определяет вводимые слова как команду, он позволяет дать понять боту, что пользователь ввел не просто обычное слово, а команду). Для правильной работы этой команды, было необходимо использовать базы данных, как хранилища для этих самых префиксов, от каждого сервера на котором находится наш бот. После импортирования библиотеки базы данных – SQLite3, был написан блок проверки для команд, который при запуске бота проверяет, какой префикс закреплен за данным сервером, если же за данным сервером не было закреплено своего знака, то он использует стандартный, использующийся по умолчанию – «)». При этом, когда бота добавляют на сервер, он запоминает и вписывает в базу данных id сервера, закрепляя за ним стандартный знак. Для того, чтобы владельцу сервера изменить префикс, он должен использовать команду prefix, применение которой, заменяет знак в базе данных, на тот, который выбрал владелец. Так – же для вводимого префикса существует ограничение – это его длина в три символа, при попытке задать большую длину, бот выдаст сообщение об ошибке.

t1701595346ai.png

Рис 9. База данных для префикса

t1701595346aj.png

Рис 10. Использование команды «prefix»

Говоря о нашем боте как о универсальном, мы понимаем, что в нем будет большое количество команд, часть из которых, скорее всего, будет не нужна при его использовании на серверах, предназначенных для каких – либо четко определенных целей. Специального для этого, было создано еще две структурных команды, отвечающих за отключение в боте, ненужных команд. Первая из которых, это команда «disable» (отключать), данная команда работает по принципу переключателя, отвечает за отключение и включение других команд, присутствующих в боте. Команда используется следующем образом, пишется сама команда и название той команды, которую владелец сервера хочет отключить, далее она заносится или наоборот, удаляется из базы данных в случае, если команда уже была отключена, а значит уже находилась в базе.

t1701595346ak.png

Рис 11. Использование команды «disable»

Следующая команда – это команда «cfotc» (Command For Only That Channel – команда только для этого канала), данная команда работает по более сложному методу, но является очень полезной и незаменимой в этом плане. Команда «cfotc», отвечает за отключение других команд бота, по средствам занесения команды и канала, введенных владельцем сервера, в базу данных SQLite3. Пользователь вводит команду «cfotc», далее обозначает команду, которую хочет отключить и затем указывает канал или каналы, на которых это команда станет доступна, при ее отключении. Таким образом, для команды формируется исключение, где во всех каналах, кроме обозначенных, команда становится недоступна. Продемонстрированные команды отключения, ограничены в использовании и доступны только для использования владельцами серверов, то есть, только сам владелец сервер имеет право решать, какая команда будет отключена, а какую следует оставить. Для создания команд отключения, было предпринято несколько попыток, не все из которых работали по правильному принципу, но в последствии исправления появляющихся ошибок, их реализация увенчалась успехом и команды были созданы. Именно подобные команды и индивидуализируют бота, отличают, дают понять о его универсальности в использовании.

t1701595346al.png

Рис 12. Использование команды «cfotc»

Для бота было добавлено еще пару команд, ценность которых уже больше заключалась в их интерактивности, нежели техническом устройстве. К таким командам относится команда «fact», команда проста как в своей разработке, так и использовании. Данная команда работает по следующему принципу – при ее вводе она выбирает случайный факт, из заданного в нее списка интересных фактов и выводит его пользователю, вот и вся конструкция, фактов достаточно много, около 50 штук, с перспективой их дальнейшего пополнения.

t1701595346am.png

Рис 13. Использование команды «fact»

В данную категорию команд, также входит и целая система Roleplay (RP) команд, которая отвечает за повышение активности пользователей, по средствам их взаимодействия, с использованием данных команд. Система RP команд состоит из 23 эмоций, взаимодействий с другими пользователями и представляет собой отправку, а также воспроизведение гиф изображений, в ответном сообщении, на отмеченного пользователя. Создание данной системы команд не являлось затруднительным процессом, так как каждая команда системы имеет единый шаблон, под который уже и подставляется вариация определенных изображений.

t1701595346an.png

Рис 14. Использование команды «study» (из системы RP команд)

По итогу всех выполненных этапов разработки, у нас вышел разнонаправленный продукт, используемый как инструмент взаимодействия между пользователями, так и как система, позволяющая поддерживать активность, а также порядок на серверах, с помощью команд применения, в целях администрирования сервера, и в равной степени направленных на обычное использование. Единственным на данный момент недостатком является его цена. Бот – это своего рода механизм, для жизни которого необходима своя среда, место, где он может быть расположен. Как раз для этого и существуют виртуальные машины, позволяющие хранить на них данные программы, запускать и работать с ними, так называемые «Хостинги». Хостинг – это удобное средство поддержания работы информационных систем, подразумевающие ежемесячную оплату за предоставление таких услуг.

2.4 Сравнительный анализ

Если сравнивать Discord с другими популярными мессенджерами, такими как Telegram, WhatsApp или ВК, то одним из главных его отличий является структурированность системы серверов. В то время как ВК и Telegram, предоставляют возможность создания лишь отдельных каналов, бесед и групп, имеющие единый чат и набор участников. Discord, в свою очередь, способен объединять несколько подобных чатов в общую модель сервера, связывающая внутри себя отдельные каналы, их разновидности и форумы для обсуждений. Еще одна очень важная особенность Дискорда – распределение ролей и прав доступа. Данная система настройки, очень удобно работает как раз таки в связки с серверами, где большое количество пользователей, необходимо распределить между каналами и предоставить определенный набор прав доступа, к взаимодействиям внутри каналов и доступа к ним. Сервера Дискорда, осуществляют поддержку модерации контента, имеют встроенную защиту от DDoS – атак, а также от обычного спама, где ВК, Telegram, а уж тем более WhatsApp, определенно проигрывают.

Сравнивая Discord с подобными ему платформами, такими как Google Hangouts, Zoom и Skype выделяются следующие схожие и отличительные черты:

Discord работает на большинстве операционных систем и платформ, уступая в этом лишь Skype;

Способен вмещать до 50 участников в одной конференции в абсолютно стабильной работе, в то время как Zoom до 500+ участников, но с более низкой стабильностью работы;

Единственный кто имеет безграничные по количеству пользователей общие чаты;

Как и все остальные платформы, имеет возможность проведения трансляций и демонстрации экрана;

В отличие от других, имеет ограничение в передаче объема файлов до 100мб;

Присутствуют гибкие, по сравнению с другими, настройки качества видео до 1080p и 60/30fps или 720p при 60/30fps (в зависимости от купленной подписки / бесплатной версии);

Не имеет возможности записи экрана, чем уступает Zoom и Skype (имеющий ограниченный период – 30 дней);

Как и прочие, имеет некоторые ограничения в своей бесплатной версии, но все они больше касаются лишь кастомизации и персонализации профилей, что никак не отражается на работе платформы;

Меньше, чем у других цена неполной / полной платной версии – 350руб / 750руб.


Заключение

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

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

В заключение к данной работе, хочется сделать следующие выводы – создание бота не является столь трудным и сложным процессом, а скорее увлекательным, разносторонним и перспективным занятием, ведь боты используются в самых разных сферах, и в определенной степени могут быть монетизированы. Бот – это лишь начальная ступенька к более сложным и прогрессивным системам работы с пользователем. При данном исследовании, мы узнали о истории платформы Discord, ее особенностях, провели анализ активных сообществ и популярности платформы, а также запустили опрос, дабы узнать о заинтересованности обучающихся в самом использовании Дискорда. Важнейшими же шагами в нашей работе, стала разработка самого бота, создание актуальной для него среды и рассмотрение его дальнейших перспектив, в виде сайта поддержки и настройки бота. Эта работа позволила нам получить некоторый опыт в дизайне и развиться в нем, при создании своих изображений, применяемых для продукта, разработке, включающие программирование, а также понимании и правильной структуре текста, поиску и изучения библиотек, общем анализе, помогающем в составлении плана, поиска необходимой информации. Данная работа отлично дополнит наше специализированное портфолио и станет первым проектом для начального старта, а также будущего трудоустройства. Поставленная нами цель и задачи были выполнены, разработанный Discord бот готов к работе в созданной нами активной среде.


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

Боты для Дискорда – для чего они нужны и как пользоваться. [Электронный ресурс], - Электрон. Дан. URL: https://discords.ru/discord-bots.html

«Если бы у Skype и TeamSpeak появился ребенок со сверхспособностями, которых не было у его родителей»: история Discord. [Электронный ресурс], - Электрон. Дан. URL: https://vc.ru/story/266262-esli-by-u-skype-i-teamspeak-poyavilsya-rebenok-so-sverhsposobnostyami-kotoryh-ne-bylo-u-ego-roditeley-istoriya-discord

История создания и роста Дискорд, статистика. [Электронный ресурс], - Электрон. Дан. URL: https://prdiscord.space/istoriya-rosta-diskord/

Как Discord стал нашим основным инструментов для сбора фидбека и позволил наладить систему саппорта почти без вложений. [Электронный ресурс], - Электрон. Дан. URL: https://habr.com/ru/company/lightmap/blog/589741/

Когда появился Дискорд, кто его создал: история и дата выхода. [Электронный ресурс], - Электрон. Дан. URL: https://discordik.ru/instrukcii/kogda-poyavilsya-diskord/

Руководство для новичков в DiscordDiscord. [Электронный ресурс], - Электрон. Дан. URL: https://support.discord.com/hc/ru/articles/360045138571

Создание чат – бота в Discord – презентация онлайн. [Электронный ресурс], - Электрон. Дан. URL: https://ppt-online.org/1133685

Создание Discord – бота на Python. [Электронный ресурс], - Электрон. Дан. URL: https://bestprogrammer.ru/programmirovanie-i-razrabotka/sozdanie-discord-bota-na-python

Чат – боты: где, как и когда заменить человека / Хабр. [Электронный ресурс], - Электрон. Дан. URL: https://habr.com/ru/company/asus/blog/404505/

Что такое Дискорд сервер, для чего он нужен. [Электронный ресурс], - Электрон. Дан. URL: https://messenge.ru/chto-takoe-diskord-server/

Discord в России – его возможности как соцсети и сервиса для бизнеса. [Электронный ресурс], - Электрон. Дан. URL: https://smmplanner.com/blog/vozmozhnosti-diskorda-kak-sotssieti-i-siervisa-dlia-bizniesa/ - 03

Discord как корпоративный мессенджер и не только / Хабр. [Электронный ресурс], - Электрон. Дан. URL: https://habr.com/ru/post/495336/

Discord: как создавался популярный мессенджер в чем его успех. [Электронный ресурс], - Электрон. Дан. URL: https://stream-park.ru/blog/discord-kak-sozdavalsya-populyarnyj-messendzher-i-v-chem-ego-uspeh/



Приложение 1

t1701595346ao.png


в формате Microsoft Word (.doc / .docx)
Комментарии
Комментариев пока нет.

Похожие публикации