Деякі аспекти розробки універсального серверного Discord-бота

Аналіз функціонування сучасних систем-месенджерів. Дослідження і аналіз загальних проблем і перспектив щодо розробки універсального серверного Discord-бота з можливістю, зокрема, пошуку музики в YouTube, адміністрування каналу та перегляду погоди.

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык украинский
Дата добавления 03.02.2023
Размер файла 497,3 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Деякі аспекти розробки універсального серверного Discord-бота

Ткаченко Олександр,

кандидат фізико-математичних наук, доцент кафедри інженерії програмного забезпечення, Національний авіаційний університет, Київ, Україна

Шевченко Андрій,

магістрант, кафедра інформаційних технологій та дизайну, Державний університет інфраструктури та технологій, Київ, Україна

Метою статті є дослідження, аналіз і розгляд загальних проблем і перспектив щодо розробки універсального серверного Discord-бота з можливістю, зокрема, пошуку музики в YouTube, адміністрування каналу та перегляду погоди.

Методами дослідження є методи семантичного аналізу основних понять цієї предметної сфери (серверні боти). У статті розглянуто підходи до розробки та функціонування універсального серверного Discord-бота.

Новизною проведеного дослідження є аналіз функціонування сучасних систем-месенджерів і універсальних серверних ботів, які можуть застосовуватися для розробки власного бота користувача, наприклад музикального чи ігрового змісту; опис деяких аспектів такої розробки.

Висновки. Досліджено наявні погляди на сучасні системи-месенджери, які можуть бути використані з метою розробки власних універсальних серверних ботів. Ураховуючи результати проведеного аналізу, ухвалено рішення щодо розробки програмного продукту - універсального серверного бота на базі Discord з можливістю пошуку музики в YouTube, адміністрування каналу, а також перегляду погоди.

Ключові слова: онлайн-спілкування; системи-месенджери; Viber; WhatsApp; Telegram; Discord; універсальний серверний бот; Discord-бот.

SOME ASPECTS OF DEVELOPING A UNIVERSAL SERVER DISCORD-BOT

Tkachenko Oleksandr,

PhD in Physical and Mathematical Sciences,

Associate Professor at the Department of Software Engineering,

National Aviation University,

Kyiv, Ukraine

Shevchenko Andrii,

Master's Student at the Department of Information Technologies and Design,

State University of Infrastructure and Technology,

Kyiv, Ukraine

The purpose of the article is to research, analyze and consider general problems and prospects for the development of a universal server Discord-bot with the ability, in particular, to search for music on YouTube, channel administration and viewing the weather.

The research methodology consists in methods of semantic analysis of this subject area's basic concepts (server bots). The article considers approaches to the development and operation of a universal server discord-bot.

The scientific novelty is the analysis of the modern messenger systems functioning and universal server bots that can be used to develop the user's own bot, such as music or game content, a description of some aspects of such development

The conclusion of the research conducted in the article is that the paper examines the existing views on modern messenger systems that can be used to develop their own universal server bots.

Taking into account the results of the analysis, the authors decided to develop a software product - a universal server bot based on Discord with the ability to search for music from YouTube, channel administration, and view the weather.

Keywords: online communication; messenger systems; Viber; WhatsApp; Telegram; Discord; universal server bot; Discord bot.

НЕКОТОРЫЕ АСПЕКТЫ РАЗРАБОТКИ УНИВЕРСАЛЬНОГО СЕРВЕРНОГО DISCORD-БОТА

Ткаченко Александр,

кандидат физико-математических наук,

доцент кафедры инженерии программного обеспечения,

Национальный авиационный университет,

Киев, Украина

Шевченко Андрей,

магистрант, кафедра информационных технологий и дизайна, Государственный университет инфраструктуры и технологий, Киев, Украина

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

Методами исследования являются методы семантического анализа основных понятий данной предметной области (серверные боты). В статье рассмотрены подходы к разработке и функционированию универсального серверного Discord-бота.

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

Выводы. Исследованы существующие взгляды на современные системы-мессенджеры, которые могут быть использованы для разработки собственных универсальных серверных ботов. Учитывая результаты проведенного анализа, принято решение о разработке программного продукта - универсального серверного бота на базе Discord с возможностью поиска музыки в YouTube, об администрировании канала, а также просмотре погоды.

Ключевые слова: онлайн-общение; системы-мессенджеры; Viber; WhatsApp; Telegram; Discord; универсальный серверный бот; Discord-бот.

Вступ

Discord - сервіс для онлайн-спілкування (відео-, звукового (голосового) чи текстового). Discord є дуже популярним серед геймерів, стримерів і кібер-спортсменів.

На сьогодні через пандемію COVID-19 усе більше людей переходить працювати, вчитися та відпочивати в онлайн. Функції різноманітних середовищ підтримки цих процесів стали більш потрібні, і Discord, зокрема, усе частіше використовують під час організації освітніх процесів чи онлайн-роботи. Тому проблема розробки універсальних серверних ботів на базі Discord, як одного з найкращих сучасних месенджерів, є актуальною.

В Україні найбільш популярними месенджерами є Viber (https://www.viber. com/ru/), WhatsApp (https://www.whatsapp.com/?lang=ru), Telegram (https:// tlgrm.ru). Viber, створений у 2010 р., підтримує такі дії користувачів:

- здійснення умовно безплатних телефонних та відеодзвінків;

- здійснення роботи із сервісом на ПК;

- створення групових чатів (чисельністю до 200 осіб);

- обмін між користувачами повідомленнями, світлинами, документами, презентаціями, аудіо- та відеофайлами (кількість цих елементів обміну майже необмежена);

- здійснення дзвінків за мінімальними тарифами на міські та мобільні номери по всьому світу (за допомогою сервісу Viber Out);

- здійснення роботи в публічних чатах;

- здійснення оплати послуг та грошових переказів.

Viber має як переваги, так і недоліки. До переваг, зокрема, можемо зарахувати: простий і зрозумілий інтерфейс; наявність великої кількості Emoji, стікерів (наліпок) і фонів для чату; відсутність офіційної реклами; наявність власної ігрової платформи; можливість спілкування в тематичних відкритих чатах. Недоліками можемо, зокрема, вважати: виникнення проблем з безпекою; повільне завантаження ігор; наявність великої кількості спаму.

Популярний месенджер Viber ефективно використовують у бізнесі. Наприклад, для підвищення лояльності та впізнаваності великі бренди розробляють корпоративні стікери спеціально для Viber. Великі компанії, зокрема, Fanta і Sprite, музичний агрегатор ELLO, журнал «MAXIM», створили публічні чати, на які можуть підписатися всі охочі.

WhatsAppMessenger, створений у 2009 р., - універсальний застосунок для смартфонів, що працює на всіх мобільних платформах. Програма сканує телефонну книгу та додає в список контактів тих, хто вже працює з цим месенджером. WhatsApp Messenger підтримує такі дії користувачів:

- здійснення умовно безплатних дзвінків та обміну повідомленнями;

- синхронізація месенджера з ПК користувача;

- створення групових чатів (чисельністю до 256 осіб);

- відправлення та отримання необмеженої кількості текстових і голосових повідомлень, фотографій, документів, аудіо- та відеофайлів, місць розташування, історії чатів тощо;

- інтегрування з наявною адресною книгою, що позбавляє абонентів використовувати PIN-код і логін;

- отримання повідомлень, що були доставлені, коли WhatsApp був офлайн.

WhatsApp має як переваги, так і недоліки. До переваг WhatsApp, зокрема, можемо зарахувати: швидкодію; простоту та зручність у використанні; популярність. Недоліками WhatsApp можемо, зокрема, вважати: відсутність ігрової платформи; виникнення проблем з безпекою; зниження якості медіафайлів під час відправлення.

WhatsApp активно застосовують у бізнесі. Він зручний для використання як у межах внутрішньої комунікації компанії (для корпоративних чатів), так і поза її межами. Через цей месенджер можна надавати клієнтську підтримку користувачам і просувати продукти бренду.

Telegram - створений у 2013 р. месенджер, який дає змогу обмінюватися текстовими, аудіо- та відеофайлами, безплатно здійснювати телефонні дзвінки між користувачами. Telegram має як переваги, так і недоліки. До переваг, зокрема, можемо зарахувати: інформаційну безпеку; відсутність реклами; наявність секретних чатів і повідомлень, що самовидаляються; створення та підтримку «розумних» ботів; швидкодію і простоту у використанні; наявність своєї бази стікерів; швидкий пошук повідомлень і таймер для їх видалення; шифрування повідомлень; наявність ефективного «просунутого» редактора фотографій; автоматичну синхронізацію між пристроями (зокрема, між ПК та смартфоном). Серед недоліків слід виділити, зокрема: періодичні збої в роботі через великі навантаження на сервер; відсутність можливості відеодзвінків;

Telegram використовують і в бізнесі. Месенджер забезпечує високу конфіденційність і можливість здійснення банківських операцій. Цим можуть скористатися компанії фінансової сфери. Клієнтському сервісу месенджер забезпечує оперативну передачу інформації. Telegram може бути корисним для бізнесу з великим документообігом і базами даних, бо має можливість зберігання великих обсягів інформації на хмарних сервісах. Telegram підтримує також «розумні» боти - ака- унти, які автоматично обробляють повідомлення і відповідають на них. Функціонал таких ботів практично не обмежений, вони можуть здійснювати, наприклад, демонстрацію актуальних новин, замовлення обіду в кафе тощо.

Враховуючи сучасні тенденції вебтехнологій, можна стверджувати, що проблема аналізу систем-месенджерів та розробка серверного бота на основі відомої системи-месенджера Discord є актуальними.

Якщо є потреба створити власний серверний бот, слід зареєструвати його через сторінку Discord.

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

Мета - проаналізувати можливості сучасних месенджерів, зокрема Discord, й описати розробку універсального Discord-бота з можливістю пошуку музики в YouTube, адміністрування каналу, а також перегляду погоди.

Результати дослідження

універсальний серверний discord бот

Discord - пропріетарний безплатний месенджер з підтримкою ІР-телефонії (VoIP) та відеоконференцій. Discord призначений для використання різними користувачами згідно зі сферами їх інтересів. Найбільш популярним він є у геймерів і учнів. Розробником є компанія Hammer&Chisel [en] (Discord Inc.) із Сан-Франциско (Шарков, 2017).

Discord реалізовано як настільну клієнтську програму для Windows, macOS і Linux, та як мобільний застосунок для Android та iOS. Також є веборієнтована версія (як вебклієнт). Discord побудований з використанням фреймворка Electron. Сервери месенджера Discord розміщені в 11 центрах обробки даних у різних частинах світу (Discord b).

Дж. Сітрон розробляв Discord як месенджер для геймерів. Але з'ясувалося, що третина його користувачів не має відношення до ігор. Зараз Discord переорієнтувався з геймерів на масову аудиторію, зробивши оновлення/модифікацію дизайну сайту. Його аудиторія склала вже майже третину аудиторії Twitter або Snapchat.

Потрапивши до бізнес-інкубатору YouWeb, Сітрон вирішив реалізувати ідею розробки аналога Xbox Live для iPhone. Xbox Live - сервіс, що дає змогу власникам приставок спілкуватися під час гри.

За допомогою команди програмістів у 2009 р. була розроблена соціальна мережа для геймерів OpenFeint. У ній можна було не тільки спілкуватися, але й порівнювати результати гри, ставити друзям ігрові завдання. Незабаром ця соцмережа почала працювати і на платформі Android.

У 2012 р. Сітрон разом із С. Вишневським заснували стартап Hammer&Chisel, випустивши гру Fates Forever, в яку були вбудовані текстовий і голосовий чати. Але геймери скаржилися на якість чату і малий набір інструментів у ньому. Розробники ухвалили рішення про виділення роботи над чатом в окремий проєкт, який назвали Discord.

Тоді вже було чимало багатокористувацьких ігор, користувачі яких грали на комп'ютерах з операційними системами Windows і MacOS, приставках PlayStation, Xbox, Nintendo, телефонах на Android та iOS. Проблема полягала в тому, що, граючи в одну й ту ж гру на різних пристроях, геймери не могли спілкуватися. Наприклад, Xbox Live давав змогу вести чат тільки власникам приставки цієї марки.

Гравці користувалися сторонніми програмами, але TeamSpeak вважався застарілим і стягував плату за чат-групи з більш ніж 32 користувачів. Skype і Slack теж не були популярними в гравців.

У 2015 р. Discord був розроблений геймерами для геймерів і враховував все, що їм потрібно. Наприклад, щоб гра не гальмувала, Discord споживав мінімум ресурсів і, щоб не займати пам'ять, не запускав мініролики.

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

Допомогла Discord пандемія. Кількість користувачів збільшилася на 47%, а деякі школи вибрали Discord як основний сервіс для онлайн-уроків.

Discord надає своїм користувачам, зокрема, такі можливості:

- організацію голосових конференцій з налаштуванням каналу зв'язку;

- роботу за принципом push-to-talk;

- створення публічних і приватних чатів для обміну текстовими повідомленнями;

- має браузерну версію, відмінністю якої від настільної є те, що режим push- to-talk (РТТ) працює тільки тоді, коли в браузері активна вкладка із застосунком.

Під час увімкнення режиму «стример» приховується особиста інформація, відключаються звуки та повідомлення на робочий стіл. Включається режим автоматично (під час запуску програм для трансляцій, наприклад Open Broadcaster Software). Цей режим можна ввімкнути або вимкнути вручну.

Для аудіоповідомлень та аудіозв'язку використовується кодек Opus, який має можливості ехоподавлення, придушення сторонніх шумів й автоматичного регулювання посилення звуків. Для відеозв'язку та передачі відеоповідомлень використовується кодек VP8.

Функція «Overlay» забезпечує можливість перемикання між каналами на сервері, серверами і груповими чатами, збільшувати/зменшувати звук учасників каналу або особистих повідомлень, вмикати та вимикати мікрофон і звук. Ця функція працює в більшості ігор на DirectX, OpenGL і OpenGL+. Overlay сприяє розробці програм, які займають менше оперативної пам'яті, ніж це встановлено в системі.

Крім того, у Discord:

- підтримуються «гарячі клавіші»;

- реалізована функція вимкнення повідомлень (можна вимкнути повідомлення на мобільному пристрої, коли ПК є не активним);

- можна ввімкнути озвучення повідомлень;

- можна заглушити окремі сервери;

- підтримується пошук повідомлень по чату чи каналах сервера;

- у текстовому чаті підтримується: приєднання файлів, малюнків; вставка посилань (для деяких сайтів є попередній перегляд); форматування тексту; смайлики; безоплатна підписка Discord Nitro.

Discord дає змогу:

- гнучкого налаштування інтерфейсу;

- встановлення різних тем і доповнень для розширення функціоналу;

- форматування не тільки тексту (в повідомленнях або серверах), а й зміни шрифтів nickname, використовуючи спеціальні сервіси на основі символів Unicode;

- використовувати публічне AP;

- створювати боти;

- створювати публічні та приватні групові чати для обміну повідомленнями;

- організовувати голосові конференції з налаштуванням каналу зв'язку та працювати за принципом PTT;

- придушувати/зменшувати відлуння та сторонні звуки;

- індивідуально регулювати гучність для кожного, хто говорить;

- використовувати систему лайків у текстовому чаті програми.

Особливості використання Discord під час організації онлайн-навчання:

- особливі статуси онлайн: якщо студент під час заняття відволікається (наприклад, грає) чи відповідає викладачеві, то це відразу висвічується під його nickname;

- замість груп створюються сервери, які поділяються на підгрупи, причому для кожного такого мінічату можна регулювати рівень приватності;

- за допомогою Discord-ботів можна, наприклад, записувати лекції, щоб студенти потім мали можливість ще раз прослухати лекційний матеріал;

Для встановлення та використання Discord не потрібен потужний ПК.

Ігровий месенджер Discord має свої переваги, зокрема:

- підтримка багатьох сучасних мов (англійська, українська та ін.).

- відсутність реклами та спаму;

- залучення малих ресурсів пристрою, на якому встановлений soft;

- високий рівень якості звуку та розширені можливості індивідуальних налаштувань цього параметру;

- обмін медіафайлами та документами;

- можливість трансляції музики в чат;

- Emoji для Discord безкоштовні, проте розробники планують ввести частину платних розширених смайлів;

- транслювання робочого екрана учасникам листування;

- інтеграція з багатьма популярними сервісами та застосунками (Steam, Skype, Twitch, Youtube, Reddit, Facebook, Twitter, Spotify та т. ін.);

- простий і зручний інтерфейс.

Але, як і всі великі системи, Discord має і недоліки (технічні й організаційні), зокрема:

1. Технічні обмеження в Discord:

- відео та показ екрана тільки 720 p (більше - за умови платної підписки Nitro); для показу коду й тексту цього мало;

- розмір відправленого файлу в канал не більше 8 МБ (більше - за умови платної підписки Nitro), що зазвичай вистачає, а якщо не вистачає, то можна використовувати хмарні сховища;

- у не серверному режимі в груповому чаті може бути не більше 10 учасників, тому більш доцільно використовувати сервер;

- довжина повідомлення не може бути понад 2000 символів, якщо ж більше, то пропонують відправляти повідомлення як файл;

- відсутність можливостей пошуку за заданим підрядком, наприклад, якщо шукати «бол», то слово «футбол» не знаходить;

- не підтримується на старих версіях Windows;

- наявні проблеми під час роботи з операційною системою Linux.

2. Організаційні обмеження в Discord:

- реєстрація користувача складніша, ніж у звичайних месенджерах на смартфонах;

- потрібні адміністратори (фактично просто активні користувачі), які спочатку налаштують ролі та права всіх учасників групи;

- потрібне попереднє навчання користувачів, щоб вони могли правильно використовувати нагадування та ролі.

Ролі, які можуть бути створені в Discord. Ролі - це інструменти, які роблять Discord ефективним для командної роботи в каналі. Права доступу налаштовують не для конкретних користувачів, а для ролей, які надаються цим користувачам. Роль може мати до 32 характеристик. Крім того, у каналах налаштовуються права користувача: читання, написання, видалення повідомлень і т. п. Розглянемо деякі ролі:

- everyone - технічна роль, означає «всі, хто на сервері» (вона вже є, і видалити її не можна);

- адмін - роль, що надає права адмініструвати все, крім того, що надає роль everyone;

- власник сервера - роль, володар якої дає ролі адмінам;

- кандидат - роль, яка надається звичайному користувачу. Ця роль дає змогу прийти на сервер (на запрошення) і брати участь у діалозі: користувач бачить тільки два канали «діалогу» - текстовий і голосовий (Discord a).

Виділення користувача підвищує рівень ефективності його роботи в Discord. Це відбувається, коли користувач хоче звернутися до іншого користувача через повідомлення, що подається в текстовий канал, вказуючи акаунт, наприклад, у такий спосіб (Morris, 2020):

Marat_Hazbiev Вітаю!!!

Або виділити всіх, хто є в каналі:

everyone Всіх вітаю!!!

Боти в Discord. Користувачі можуть створювати боти і запрошувати їх на сервери. Discord створив унікальний API, який дає змогу користувачам створювати застосунки, що взаємодіють безпосередньо із сервером.

Найпоширенішим типом ботів є серверні боти. Такі боти мають виділені облікові записи, які відрізняються від облікових записів користувачів і функціонують на серверах. Discord підтримує сотні серверних ботів, які виконують різні функції. Щоб запросити бот, слід виконати таку послідовність дій: натиснути на посилання авторизації, вибрати сервер, відмовитися/дозволити йому вказувати відповідні дії на сторінці, натиснути «Авторизувати». Щоб видалити бот із сервера, можна заборонити («забанити») його, як і будь-якого користувача.

Селфботи (англ. SelfBots) - це боти, в яких користувач використовує Discord API для поліпшення свого облікового запису та надання йому деяких автоматичних можливостей, наприклад, таких як самостійна перевірка зв'язку і вбудовування.

SelfBots працюють в облікових записах користувачів (не через сторінку засто- сунків) і можуть відправляти їм повідомлення. SelfBots суперечать політиці OAuth Discord API та можуть привести до видалення облікового запису, якщо він знайдений.

SelfBots мають відповідати тільки на команди користувачів. Щоб використовувати Selfbots, користувачам потрібні їхні токени.

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

Користувацькі боти - боти, повне функціонування яких запускається через звичайний обліковий запис користувача (Alexandre888, 2020).

Перед тим як почати використовувати Discord, слід пам'ятати про те, що варто прочитати Discord Privacy Policy, в якій написано, що Discord збирає все, що йому відправляється (зокрема, усе листування користувача), водночас шифрування та конфіденційність можуть бути відсутніми (Herron, 2020).

Відомі Discord-боти:

1. AI, який має такий функціонал: зручну модерацію; різноманітні види логів; очищення голосового каналу однією командою; рахунок активності в голосових каналах; гарне оформлення О&А-каналів; автоматичне очищення повідомлень у текстових каналах; еmbed і авто-embed; зручний модуль кланів; налаштування каналів-лічильників; автоматичну видачу ролі під час входу в певний канал; рольові команди; збереження ролей користувача під час повернення на сервер.

2. VoiceMaster. Цей Discord-бот створює тимчасові голосові канали, що видаляються, якщо вони порожні. Користувач може змінити налаштування каналу за допомогою команд (змінити ім'я / обмежити / заблокувати канал і т. ін.).

3. Xeon. Основні можливості бота: Google-перекладач; зміна префікса; надання авторолей; відключення команд; наявність системи антиспаму; надання музичного контенту; перегляд інформації про сервер, Users і ролі.

4. SouBot. Музичний бот, який може додавати фільтри до музики, зокрема 8D-музику, bassboost, vaporwave (уповільнення музики).

5. Darkbot - бот для Discord-сервера, в якому є: система тікетів; система блокування посилань + посилання, які не будуть блокуватися; система приватних каналів; система логів; система рівнів; система модерації; економічна складова; відстеження часу, проведеного в голосових каналах.

6. NexBot - бот з командами, поміж яких, зокрема, команди для модерації, управління ролями, утилітами для перегляду різної інформації. Основні можливості бота: надання музичного контенту; логування подій; автомодерація (захист від спаму, сторонніх запрошень, посилань, ненормативної лексики тощо); Google-перекладач; створення/видалення Emoji; створення Embed-повідомлен- ня; зміна префікса; надання авторолей; відключення команд; маніпуляції зі зображеннями; повідомлення в разі виходу та входу; конвертер валют; перегляд інформації про сервер, Users і ролі; пошук медіа на YouTube, Tenor.Gif.

Закриття музикальних Discord-ботів. Відеохостинг «YouTube» звернувся до власників популярного бота Groovy для програвання музики в Discord з вимогою закрити його. Про це повідомляє Verge з посиланням на пост власника Groovy Н. Аммерлана на своєму сервері.

Компанія «Google», яка володіє YouTube, підтвердила, що зажадала закрити бот. За словами її представників, це пов'язано з тим, що Groovy порушує Умови використання відеохостингу, зокрема правила використання опублікованої на ньому музики в комерційних цілях. За даними Verge, популярність Groovy зросла за останні п'ять років: він установлений на більш ніж 16 мільйонах серверах Discord, якими користуються понад 250 мільйонів осіб. Це і привернуло увагу Google і YouTube до бота.

Власник Groovy Н. Аммерлан заявив, що не знає точної причини того, чому корпорація зажадала закрити бот тільки зараз. Ймовірно, що раніше Google і YouTube просто не знали про його існування. Н. Аммерлан визнав, що, незважаючи на можливість програвати музику в Groovy через Spotify, Soundcloud та інші сервіси, більшість користувачів використовує YouTube.

За даними Verge вимога закрити Groovy Bot означає, що незабаром Google і YouTube почнуть боротьбу і проти інших спамерських пошукових роботів. Discord встав на бік YouTube. Представники сервісу заявили, що в разі порушення ботами чиїхось прав, ця третя сторона або сам Discord можуть вжити заходів щодо запобігання цих порушень.

YouTube відправив повідомлення творцям Discord-бота Rhythm з вимогою відключити його. Команда Rhythm погодилася це зробити, але заявила, що працює «над чимось абсолютно новим в музичному просторі» (Celebrating the life of Rhythm). Про це повідомляється на сайті розробників бота.

На The Verge зазначено, що Rhythm установлений більш ніж на 20 мільйонах серверів в Discord, ним користуються понад 560 мільйонів осіб. Розробники Rhythm вважають, що важко уявити Discord без музичних ботів, адже вони дуже втягують користувачів у платформу.

Discord дає змогу користувачам встановлювати сторонні розширення на своїх серверах, завдяки чому може ухилятися від позовів від таких компаній, як «Google». Rythm - другий музичний бот на платформі, який перестане працювати через вимоги YouTube.

Реалізація універсального бота. AlexBotovsky - Discord-бот, призначений для:

- прослуховування музики із сайту YouTube;

- перегляду погоди;

- адміністрування створеного каналу (Node.js).

Авторський універсальний серверний DISCORD-бот був розроблений на програмній платформі Node.js (Casciaro and Mammino, 2020; Закас, 2017). Мовою програмування є JavaScript (Янг, Бредли и Кантелон, 2018). Використано npm-па- кети (https://www.npmjs.com/): discord.js; discordjs/opus; opusscript; FFmpeg; ytdl-core; yt-search; ytdl-getinfo; node-fetch. Під час входу до каналу бот буде від-ключений (див. рис. 1).

Запуск бота відбувається в програмі Visual Studio Code за допомогою терміналу (див. рис. , рис. 3).

Звернутися до бота можна за допомогою команди !hello (див. рис. 4).

Рис. 1. Вимкнений бот

Рис. 2. Запуск бота через термінал

Рис. 3. Запущений бот

Рис. 4. Перевірка працездатності бота

Функції розглянутого Discord-бота:

- !queue [URL-адреса пісні, яка міститься на YouTube] [кількість повторень] - додати пісню (кількість повторень не обов'язкова);

- !list - показати пісні в очікуванні;

- !welcome - вітає всіх нових користувачів каналу;

- !hello - вітання;

- Idearchat - видалення повідомлень всіх користувачів;

- Idear [nickname користувача] - видаляє повідомлення користувача;

- !kick [nickname користувача] - видаляє користувача з голосового каналу;

- !kickall - видаляє всіх користувачів з голосового каналу;

- !weather [today або tomorrow або now] - показує погоду (вчора, завтра, сьогодні);

- !ban [nickname користувача] - видаляє користувача з каналу;

- !banall - видаляє нових користувачів з каналу;

- !role [тип ролі] [nickname користувача] - видає користувачеві роль каналу.

Алгоритм роботи бота:

1. Користувач надсилає повідомлення на сервер.

2. Якщо повідомлення починається символом «!», то бот розуміє, що це функція і починає шукати її у своєму коді. Якщо знаходить потрібну функцію, то відправляє на сервер виконаний результат.

3. Якщо повідомлення не починається символом «!», то бот ігнорує це повідомлення і чекає на наступне повідомлення.

Висновки

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

СПИСОК ПОСИЛАНЬ

Закас, Н., 2017. ECMAScript 6 для разработчиков. Санкт-Петербург: Питер.

Шарков, Ф.И., 2017. Интерактивные электронные коммуникации. 3-е изд. Москва: Дашков и К.

Янг, А., Бредли, М. и Кантелон, М., 2018. Node.js в действии. 2-е изд. Санкт-Петербург: Питер. Alexandre888, 2020. Создание Discord-бота, используя библиотеку discord.js. Habr, [online] 23 июня 2020. Доступно: <https://habr.com/ru/post/507948/> [Дата обращения 28 сентября 2021].

Casciaro, M. and Mammino, L., 2020. Node.js Design Patterns: Design and implement productiongrade Node.js applications using proven patterns and techniques. 3th ed. Birmingham: Packt Publishing Ltd.

Celebrating the life of Rhythm. Rhythm. [online] Available at: <https://rythm.fm> [Accessed 28 September 2021].

Discord a. [online] Available at: <https://discord.com/> [Accessed 26 September 2021].

Discord b. [online] Available at: <https://uk.wikipedia.org/wiki/Discord> [Accessed 25 September 2021].

Herron, D., 2020. Node.js Web Development. Server-side Web Development Made Easy With Node 14 Using Practical Examples. 5th ed. Birmingham: Packt Publishing Ltd.

Morris, T., 2020. Discord For Dummies. John Wiley and Sons, Inc.

Node.js. [online] Available at: <https://nodejs.org/uk/> [Accessed 25 September 2021].

Npm-пакеты. [online] Available at: <https://www.npmjs.com/> [Accessed 28 September 2021].

Telegram. [online] Available at: <https://tlgrm.ru> [Accessed 25 September 2021].

Viber. [online] Available at: <https://www.viber.com/ru/> [Accessed 28 September 2021].

WhatsApp. [online] Available at: <https://www.whatsapp.com/?lang=ru> [Accessed 25 September 2021].

REFERENCES

Alexandre888, 2020. Sozdanie Discord-bota, ispolzuia biblioteku discord.js [Creating a Discord bot using discord.js library]. Habr, [online] 23 June 2020. Available at: <https://habr.com/ru/ post/507948/> [Accessed 28 September 2021].

Casciaro, M. and Mammino, L., 2020. Node.js Design Patterns: Design and implement production-grade Node.js applications using proven patterns and techniques. 3th edition. Birmingham: Packt Publishing Ltd.

Celebrating the life of Rhythm. Rhythm. [online] Available at: <https://rythm.fm> [Accessed 28 September 2021].

Discord a. [online] Available at: <https://discord.com/> [Accessed 26 September 2021].

Discord b. [online] Available at: <https://uk.wikipedia.org/wiki/Discord> [Accessed 25 September 2021].

Herron, D., 2020. Node.js Web Development. Server-side Web Development Made Easy With Node 14 Using Practical Examples. 5th edition. Birmingham: Packt Publishing Ltd.

lang, A., Bredli, M. and Kantelon, M., 2018. Node.js v deistvii [Node.js in Action]. 2nd ed. St. Petersburg: Piter.

Morris, T., 2020. Discord For Dummies. John Wiley and Sons, Inc.

Node.js. [online] Available at: <https://nodejs.org/uk/> [Accessed 25 September 2021].

Npm-пакеты. [online] Available at: <https://www.npmjs.com/> [Accessed 28 September 2021].

Sharkov, F.I., 2017. Interaktivnye elektronnye kommunikatcii [Interactive electronic communications]. 3rd ed. Moscow: Dashkov i K.

Telegram. [online] Available at: <https://tlgrm.ru> [Accessed 25 September 2021].

Viber. [online] Available at: <https://www.viber.com/ru/> [Accessed 28 September 2021].

WhatsApp. [online] Available at: <https://www.whatsapp.com/?lang=ru> [Accessed 25 September 2021].

Zakas, N., 2017. ECMAScript 6 dlia razrabotchikov [ECMAScript 6 for Developers]. St. Petersburg: Piter.

Размещено на Allbest.ru

...

Подобные документы

  • Компьютерные сети, основанные на равноправии участников. Этапы работы пиринговых сетей. Настройка сервера PtokaX. Возможности бота HUBBABOT, лингвистический фильтр и система ограничений. Папки и файлы бота, его команды. Расшифровка системных настроек.

    лабораторная работа [547,6 K], добавлен 08.12.2011

  • Недоліки та переваги при використанні телеграм ботів. Оцінка очікуваного ефекту від впровадження системи автоматизації. Стек технологій який використовувався при розробці чат-бота. Реалізація системи обліку клієнтів та замовлень онлайн магазину.

    дипломная работа [7,2 M], добавлен 27.05.2023

  • Вибір архітектури та інструментальних засобів розробки. Розробка модуля для перегляду сторінок сайту, доступного, зручного інтерфейсу системи адміністрування. Створення бази даних. Опис механізмів передачі даних між сторінками. Реалізація форуму на сайті.

    дипломная работа [7,1 M], добавлен 24.09.2012

  • Структура та побудова модулів для системи віддаленого адміністрування серверів Ajenti. Огляд веб-орієнтованих систем віддаленого адміністрування для linux. Процес розробки та реалізації програмного модуля "Менеджер процесів", системні вимоги до нього.

    дипломная работа [3,0 M], добавлен 09.06.2012

  • Історія розробки систем управління базами даних. Принципи проектування баз даних. Розробка проекту "клієнт-серверного" додатку, який гарантує дотримання обмежень цілісності, виконує оновлення даних, виконує запити і повертає результати клієнту.

    курсовая работа [1,8 M], добавлен 22.04.2023

  • Розробка сайту "Система активної реклами" для розкрутки сайту в мережі Інтернет, заробітку грошей. Аналіз подібних систем. Інструментальні засоби розробки. Доступ до системи адміністрування. Керівництво програмісту: структура бази даних, основні класи.

    дипломная работа [2,6 M], добавлен 24.09.2012

  • Сутність Pascal як алгоритмічної мови програмування універсального призначення. Історія її виникнення і характерні особливості. Специфіка використання середовища розробки програм Borlan Delphi. Реалізація алгоритму визначення n! для великих значень n.

    курсовая работа [22,9 K], добавлен 04.01.2014

  • Сучасні підходи до розробки і впровадження інформаційних систем на підприємствах. Засоби розробки та створення веб-ресурсу торгово-виробничого підприємства "ІТК". Аналіз сайту будівельної фірми. Методи просування будівельної продукції в мережі Інтернет.

    курсовая работа [8,7 M], добавлен 10.02.2014

  • Комбінація методів ринкового регулювання, заснованих на зворотних зв'язках. Аналіз методологій розробки програмного забезпечення. Порівняльний аналіз програмних технологій. Вибір технології доступу до даних. Компонент взаємодії адмінчастини з базою даних.

    дипломная работа [3,0 M], добавлен 02.02.2013

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

    курсовая работа [191,5 K], добавлен 07.01.2015

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

    дипломная работа [4,7 M], добавлен 22.08.2016

  • Cтворення системи для впорядковування інформації про файли, що зберігаються на компакт-дисках або інших знімних носіях. Загальні вимоги до розробки. Технології розробки Windows-додатків. Опис функціональних можливостей і програмної реалізації системи.

    дипломная работа [891,7 K], добавлен 25.10.2012

  • Переваги і проблеми дистанційної освіти на прикладі корпорації Microsoft. Створення власного web-додатку. Розробка технічних умов програмної системи, модуля пошуку та бронювання авіаквитків. Інтеграція модуля з сайтом. Використання javascript фреймворків.

    курсовая работа [1,0 M], добавлен 31.08.2014

  • Методологія швидкої розробки застосувань RAD, оцінка її переваг та аналіз розповсюдженості на сучасному етапі. Етапи розробки програмного забезпечення та його життєвий цикл. Мета та порядок реалізації процесу моделювання даних. Організація проекту.

    контрольная работа [32,4 K], добавлен 12.04.2010

  • Структура ООО "ММК-Сервис", его деятельность и номенклатура продукции. Перепрограммирование формирования отчетов по качеству из серверного программного обеспечения "dinamo" для формирования их с использованием языка php и серверного обеспечения "skat".

    курсовая работа [3,3 M], добавлен 07.08.2013

  • Дослідження можливостей пошуку в Google за тематикою. Використання можливості розширеного тематичного пошуку для підвищення релевантності пошуку за встановленим завданням. Розширений пошук зображень. Особливості пошуку щодо країн та наукових знань.

    контрольная работа [4,6 M], добавлен 03.02.2014

  • Сутність, типи, архітектура, управління, швидкість реакції та інформаційні джерела СВВ. Особливості документування існуючих загроз для мережі і систем. Контроль якості розробки та адміністрування безпеки. Спільне розташування та поділ Host і Target.

    реферат [28,0 K], добавлен 12.03.2010

  • Опис організаційної структури автоматизації пошуку кур'єра для виконання замовлення в фірмі "Екіпаж-Сервіс". Побудова умовно замкненої моделі. Побудова дерева цілей і дерева функцій автоматизації. Створення DFD-діаграми та опис форм документів (шаблонів).

    курсовая работа [1,1 M], добавлен 12.04.2014

  • Порядок, принципи розробки програмного продукту, вимоги до його функціонування, оцінка можливостей. Кроки розробки призначених для користувача інтерфейсів, їх проектування. Встановлення зв’язку с базою даних та вибір сервера. Розробка структури таблиць.

    курсовая работа [2,0 M], добавлен 09.07.2015

  • Изучение истории достижений корпорации Oracle. Разработка клиент-серверного приложения на языке Delphi XE, реализующего возможность управления персоналом на предприятии. Основные структуры данных. Создание инструкции работы с приложением "Отдел кадров".

    дипломная работа [974,7 K], добавлен 08.06.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.