Как добавить музыкального бота в Дискорд

Содержание
  1. Для чего нужны боты
  2. Что нужно знать о музыкальных ботах
  3. Как добавить бота на свой сервер
  4. Как воспроизводить музыку в Discord
  5. Как воспроизводить музыку в Discord на мобильном устройстве
  6. Список популярных музыкальных ботов
  7. Rhythm
  8. Dyno
  9. Freadboat
  10. Groovy
  11. Как сделать музыкального бота в Дискорде
  12. Шаг 1: Создание нового приложения
  13. Шаг 2: Подготовительные действия
  14. Шаг 3: Редактирование файла конфигурации бота
  15. Шаг 4: Пробный запуск бота
  16. Шаг 5: Написание основного кода музыкального бота
  17. Создание музыкального бота с помощью Discord.js
  18. Установка discord-бота
  19. Добавление бота на сервер
  20. Создание проекта
  21. Основы Discord js
  22. Чтение сообщений
  23. Добавление песен
  24. Проигрывание песен
  25. Пропуск песен
  26. Остановка песен
  27. Команды для работы со звуком в Discord
  28. Альтернативный способ
  29. Бот, который транслирует музыку в Дискорд из VK
  30. Главные функции и возможности
  31. Как скачать и добавить бота
  32. Настройка бота и отключение
  33. Команды управления ботом

Для чего нужны боты

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

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

Говоря простым языком, бот – это умный робот-помощник, который ориентируясь на сгенерированные команды, выполняет определенную работу: добавляет новости, следит за порядком на сервере, проигрывает музыку, отслеживает треки и видеоклипы и выполняет многие другие полезные функции. Благодаря таким помощникам, виртуальная жизнь становится проще и комфортнее.

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

Добавить музыкального бота в Discord несложно, особых навыков и знаний тут не потребуется.

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

Что нужно знать о музыкальных ботах

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

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

Как добавить бота на свой сервер

Для добавления бота на сервер необходимо загрузить соответствующий программный код. Найти последний можно на сайте https://www.carbonitex.net/Discord/bots. На этом ресурсе собрано несколько виртуальных помощников. Чтобы понять, какого бота выбрать, следует перейти во вкладку «Info» и прочитать описание. Дополнительная информация располагается в разделах «Features» (приведены отличительные особенности помощника) и «Usage» (содержит перечень команд).

Определившись с типом помощника, необходимо нажать на том же сайте на кнопку «Add bot to server» и выбрать нужный сервер в Discord. После завершения этой операции добавленный бот будет отражаться в списке активных пользователей. Во избежание проблем с функционированием данному помощнику рекомендуется открыть доступ ко всем правам.

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

Как воспроизводить музыку в Discord

Если вы хотите проигрывать музыку на вашем сервере Discord с помощью музыкального бота, вам необходимо использовать специальные команды:

  • Чтобы музыка начала играть, нужно написать «;;play {URL песни} или {search-term}» в чат-сервере, куда вы добавили бота.
  • Чтобы настроить воспроизведение следующего трека, введите «;;playnext {URL песни} или {search-term}» в чате сервера.
  • Если вы хотите остановить воспроизведение музыки, вы можете набрать в чате «;;stop», и музыка остановится.

Список всех остальных команд можно найти на официальном сайте музыкального бота FredBoat.

Как воспроизводить музыку в Discord на мобильном устройстве

Если вы хотите слушать музыку в Discord на мобильном устройстве, вам необходимо выполнить следующие шаги:

  • Перейдите на этот сайт, где вы можете выбрать бота Discord.
  • Нажмите на вкладку «Музыка», чтобы увидеть список доступных музыкальных ботов.
  • Нажмите кнопку «Просмотр», чтобы узнать больше о конкретном боте, а затем нажмите кнопку «Пригласить» на боте, которого вы хотите добавить.
  • После этого войдите в свой аккаунт Discord и выберите сервер, на котором вы хотите играть музыку.
  • Подтвердите, что вы не робот, и установите бота.

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

Список популярных музыкальных ботов

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

Rhythm

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

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

Dyno

Dyno не только проигрывает музыку. Данный помощник отличается расширенным функционалом, в состав которого вошли:

  • антиспам;
  • модерация;
  • управление ролями;
  • пользовательские настройки и другое.

Dyno также способен пригласить новых участников. Благодаря этому помощнику пользователи могут забыть про управление сервером.

Freadboat

Этот бот может транслировать музыку в Discord со следующих платформ:

  • Twitch;
  • Soundcloud;
  • YouTube;
  • Bandcamp и других.

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

Groovy

Если включить Groovy в Discord, то можно прослушивать музыкальные треки с:

  • Spotify;
  • Apple Music;
  • YouTube и других платформ.

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

  • перемешивание и удаление треков;
  • составление плейлиста;
  • систему донатов и другие функции.

Groovy рассчитан на небольшие серверы.

Как сделать музыкального бота в Дискорде

Рассмотрим пошаговый алгоритм задействования понравившегося нам бота в функционале нашего сервера на «Дискорд»:

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

Описание каждого бота имеет три основные вкладки. «Info» — предоставляет информацию о боте с описанием его достоинств, «Features» — перечисляет особенности бота,  «Usage» — обычно описывает основные команды для работы с ботом.

  • После того, как вы определились с нужным музыкальным ботом (многие пользователи выбирают популярный «WildBot»), нажмите на зелёную кнопку «Add Bot to Server».
    =
    Нажмите на «Add bot to Server» для добавления бота на ваш сервер
  • Появится окно, в котором вы сможете выбрать один из ваших серверов, на который необходимо установить бота. Выберите нужный вам сервер, и нажмите на «Авторизировать» (при необходимости введите капчу). Выбранный вами бот будет авторизирован на вашем сервере.

    Выберите нужный сервер, а затем нажмите на «Авторизировать» для авторизации бота на вашем сервере
  • Теперь переходим в программу «Дискорд». Здесь уже будет присутствовать сообщение о том, что «WilBot на сервере», и справа, на панели «В сети», вы увидите имя нашего бота.

    Имя бота в панели справа
  • Теперь нам необходимо создать роль для нашего бота. Вверху жмём на стрелочку для перехода в меню настроек.

    Нажмите на стрелочку вверху для перехода в меню настроекВыбираем здесь «Настройки сервера»;

    Выберите опцию «Настройки сервера»
  • Здесь нажимаем на вкладку «Роли», и создаём новую роль для нашего бота. Для этого нажимаем на плюсик вверху, прописываем справа название новой роли, и указываем для неё права. Нажимаем на «Сохранить изменения» внизу, затем на «Escape» для выхода;

    Создаём новую роль для нашего бота
  • Устанавливаем боту созданную нами роль. Кликаем по его названию, жмём на плюсик под словосочетанием «Нет ролей», и добавляем нашему боту созданную нами ранее роль;

    Присваиваем боту созданную нами роль
  • Для получения доступа ко всему функционалу команд бота введите на сервере специальную команду ++help. Вы получите личные сообщения, включающие весь список команд для управления ботом;

    Перечень команд по управлению ботом
  • Вновь перейдите на основное окно сервера, и введите в текстовой строке команду ++voice, что позволит добавить нашего бота в голосовой чат.

Шаг 1: Создание нового приложения

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

Перейти на официальный сайт Discord Developer Portal

    1. Воспользуйтесь ссылкой выше, чтобы открыть главную страницу портала для разработчиков, выполните вход в личный аккаунт Discord и нажмите на «New Application» для создания нового приложения.

Переход к регистрации нового приложения для создания музыкального бота в Discord

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

    1. По завершении откройте меню на сайте и выберите категорию «Bot».

    1. Напротив строки «Build-A-Bot» кликните на «Add Bot».

    1. Подтвердите добавление бота для выбранного приложения.

    1. Через уже знакомое меню перейдите в «OAuth2».

    1. Этот раздел отвечает за общие параметры бота и его авторизацию. В блоке «Scopes» отметьте маркером пункт «bot».

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

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

    1. Как только настройка разрешений будет завершена, скопируйте ссылку для первой авторизации бота на сервере, потому что иначе добавить его пока не получится.

Копирование ссылки авторизации инструмента для создания музыкального бота в Discord

    1. Перейдите по данной ссылке и выберите тестовый сервер, где хотите осуществлять проверку бота.

Первая авторизация после перехода по ссылке для создания музыкального бота в Discord

    1. Подтвердите капчу и дождитесь появления информации об успешной авторизации.

Успешная авторизация после перехода по ссылке для создания музыкального бота в Discord

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

Шаг 2: Подготовительные действия

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

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

Добавление пользовательской папки для создания музыкального бота в Discord

    1. В ней создайте два файла: «config.json» и «index.js». В первом запишем общую конфигурацию бота — его префикс и уникальный токен, а во втором — весь программный код с командами и общими задачами данного инструмента.

Добавление файлов в пользовательскую папку для создания музыкального бота в Discord

    1. Для работы бота понадобится Node.js. Этот инструмент предназначен для запуска скриптов на локальном компьютере. Перейдите по ссылке ниже и загрузите его установщик для Windows. Скачивание компонента для создания музыкального бота в Discord
    2. Ожидайте завершения скачивания исполняемого файла, запустите его и пройдите простую процедуру установки, следуя отобразившимся на экране инструкциям.

Запуск и установка компонента для создания музыкального бота в Discord

    1. После этого откройте «Командную строку» удобным для вас образом, например, введя cmd в утилите «Выполнить» (она запускается комбинацией клавиш Win + R).

Запуск Командной строки для создания музыкального бота в Discord

    1. Установите модуль для работы с API Discord, который называется «discord.js». Для этого в открывшемся окне консоли введите npm install discord.js ffmpeg-binaries opusscript ytdl-core —save и нажмите Enter — так вы сразу добавите и все необходимые зависимости.

Команда установки дополнительных модулей для создания музыкального бота в Discord

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

Процесс установки дополнительных модулей для создания музыкального бота в Discord

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

Шаг 3: Редактирование файла конфигурации бота

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

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

    1. Запустите файл config.js через текстовый редактор или среду разработки, вставьте туда представленный далее код.{
      «prefix»: «!»,
      «token»: «your-toke»
      }Изменение префикса при редактировании конфигурационного файла для создания музыкального бота в Discord

      Измените префикс в двойных кавычках на необходимый или оставьте восклицательный знак. Пример команды с использованием этого знака выглядит так: !play.

    2. Перейдите на страницу своего бота на портале разработки, найдите там уникальный токен и скопируйте его.

Копирование уникального токена для создания музыкального бота в Discord

    1. Вставьте вместо надписи your-toke, не удаляя при этом двойные кавычки.

Замена уникального токена в конфигурационном файле для создания музыкального бота в Discord

    1. Сохраните изменения и закройте данный файл. Кстати, выполнить то же самое действие можно и через стандартный «Блокнот».

Использование текстового редактора при редактировании конфигурационного файла для создания музыкального бота в Discord

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

Шаг 4: Пробный запуск бота

Сначала нам нужно убедиться в том, что бот вообще запускается на сервере и переходит в онлайн-режим, для этого понадобится записать его основную часть кода в index.js, а затем уже использовать Node.js для запуска.

    1. Через среду разработки или выбранный текстовый редактор откройте упомянутый файл для редактирования.

Открытие файла ввода кода для создания музыкального бота в Discord

    1. Вставьте туда блок кода, отвечающего за установку зависимостей и указывает на используемые модули:const Discord = require(‘discord.js’);
      const {
      prefix,
      token,
      } = require(‘./config.json’);
      const ytdl = require(‘ytdl-core’);

Код объявления зависимостей для создания музыкального бота в Discord

    1. С помощью указанного ранее токена создайте клиента и логин, что осуществляется путем ввода всего двух простых строк:const client = new Discord.Client();
      client.login(token);

Добавление клиента и токена для создания музыкального бота в Discord

    1. Остается только указать последние базовые строчки для прослушивания бота.client.once(‘ready’, () => {
      console.log(‘Ready!’);
      });
      client.once(‘reconnecting’, () => {
      console.log(‘Reconnecting!’);
      });
      client.once(‘disconnect’, () => {
      console.log(‘Disconnect!’);
      });

Команды при подключении в коде для создания музыкального бота в Discord

    1. Разверните меню «File» и сохраните внесенные изменения.

Сохранение изменений после редактирования кода для создания музыкального бота в Discord

    1. Снова запустите консоль удобным способом.

Запуск командной строки для включения бота для создания музыкального бота в Discord

    1. Введите команду node index.js для запуска скрипта бота.

Команда включения бота для создания музыкального бота в Discord

    1. Если его файлы расположены не в домашней директории пользователя, после node придется указать полный пусть к ним.

Ввод другой команды включения бота для создания музыкального бота в Discord

    1. Об успешном запуске бота свидетельствует появившаяся надпись «Ready!».

Результат успешного запуска для создания музыкального бота в Discord

    1. Откройте Discord и убедитесь в том, что бот перешел в статус «Онлайн».

Проверка бота в режиме онлайн для создания музыкального бота в Discord

Шаг 5: Написание основного кода музыкального бота

Остался самый сложный процесс — написание основного кода для музыкального бота. Есть перечень задач, который он должен выполнять: чтение сообщений и обработка команд, определение названия песни или ее адреса, подключение к голосовому каналу и воспроизведение. Разрешения на все это у бота есть, поэтому нужно лишь указать ему на действия при помощи функций JavaScript, что выполняется в том же файле «index.js».

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

Добавьте простую функцию для чтения сообщений:

client.on(‘message’, async message => {

}

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

if (message.author.bot) return;

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

if (!message.content.startsWith(prefix)) return;

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

const serverQueue = queue.get(message.guild.id);

if (message.content.startsWith(`${prefix}play`)) {
execute(message, serverQueue);
return;
} else if (message.content.startsWith(`${prefix}skip`)) {
skip(message, serverQueue);
return;
} else if (message.content.startsWith(`${prefix}stop`)) {
stop(message, serverQueue);
return;
} else {
message.channel.send(‘Вы должны использовать существующую команду!’)
}

Обратите внимание на то, что функция send(») отправляет пользователю сообщение, если вдруг он вводит нерабочую команду. Это сообщение вы можете редактировать, изменяя надпись в кавычках.

Теперь бот научился принимать команды, но пока не может взаимодействовать с ними, поскольку действия не указаны. В первую добавим команду play, которая отвечает за воспроизведение. Для нее необходим массив, имеющий следующий вид:

const queue = new Map();

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

async function execute(message, serverQueue) {
const args = message.content.split(‘ ‘);
const voiceChannel = message.member.voiceChannel;
if (!voiceChannel) return message.channel.send(‘Чтобы слушать музыку, вам нужно быть в голосовом канале!’);
const permissions = voiceChannel.permissionsFor(message.client.user);
if (!permissions.has(‘CONNECT’) || !permissions.has(‘SPEAK’)) {
return message.channel.send(‘Мне нужны разрешения, чтобы присоединиться и говорить на вашем голосовом канале!’);
}
}

Следующее действие — подключение библиотеки ytdl, поскольку этот бот будет считывать название песни по ссылке с YouTube, после чего воспроизводить ее на сервере. Для нее понадобится вставить всего небольшой кусочек кода.

const songInfo = await ytdl.getInfo(args[1]);
const song = {
title: songInfo.title,
url: songInfo.video_url,
};

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

if (!serverQueue) {

}else {
serverQueue.songs.push(song);
console.log(serverQueue.songs);
return message.channel.send(`${song.title} has been added to the queue!`);
}

Далее идет немного сложная для начинающих программистов схема контракта, которая добавляет песню в массив и делает то же самое при каждом вводе !play, проверяя очередь и выбирая правильное действие. Обратите внимание на представленные комментарии, которые и позволяют разобраться со всеми тонкостями.

// Создание контракта для очереди
const queueContruct = {
textChannel: message.channel,
voiceChannel: voiceChannel,
connection: null,
songs: [],
volume: 5,
playing: true,
};
// Установка очереди с помощью нашего контракта
queue.set(message.guild.id, queueContruct);
// Вставляем композицию в наш массив песен
queueContruct.songs.push(song);

try {
// Здесь мы пытаемся присоединиться к голосовому чату и сохранить соединение в объекте
var connection = await voiceChannel.join();
queueContruct.connection = connection;
// Вызов функции воспроизведения для запуска песни
play(message.guild, queueContruct.songs[0]);
} catch (err) {
// Вывод сообщения об ошибке, если бот не может присоединиться к голосовому чату
console.log(err);
queue.delete(message.guild.id);
return message.channel.send(err);
}

С очередью все понятно, но пока еще песни не воспроизводятся, поскольку отсутствует назначение для функции play. Для этого в код необходимо добавить структуру

function play(guild, song) {
const serverQueue = queue.get(guild.id);
if (!song) {
serverQueue.voiceChannel.leave();
queue.delete(guild.id);
return;
}
}

Проигрывание же начинается при помощи функции playStream() и указанной ссылки на трек.

const dispatcher = serverQueue.connection.playStream(ytdl(song.url))
.on(‘end’, () => {
console.log(‘Музыка кончилась!’);
// Удаляет законченную песню из очереди
serverQueue.songs.shift();
// Снова вызывает функцию воспроизведения со следующей песней
play(guild, serverQueue.songs[0]);
})
.on(‘error’, error => {
console.error(error);
});
dispatcher.setVolumeLogarithmic(serverQueue.volume / 5);

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

function skip(message, serverQueue) {
if (!message.member.voiceChannel) return message.channel.send(‘Вы должны быть в голосовом канале, чтобы остановить музыку!’);
if (!serverQueue) return message.channel.send(‘Нет песни, которую я мог бы пропустить!’);
serverQueue.connection.dispatcher.end();
}

Примерно по той же схеме работает и функция остановки, но блок с кодом обретает немного другой вид:

function stop(message, serverQueue) {
if (!message.member.voiceChannel) return message.channel.send(‘
Вы должны быть в голосовом канале, чтобы остановить музыку!’);
serverQueue.songs = [];
serverQueue.connection.dispatcher.end();
}

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

Внешний вид полного исходного кода для создания музыкального бота в Discord

const Discord = require(‘discord.js’);
const {
prefix,
token,
} = require(‘./config.json’);
const ytdl = require(‘ytdl-core’);

const client = new Discord.Client();

const queue = new Map();

client.once(‘ready’, () => {
console.log(‘Ready!’);
});

client.once(‘reconnecting’, () => {
console.log(‘Reconnecting!’);
});

client.once(‘disconnect’, () => {
console.log(‘Disconnect!’);
});

client.on(‘message’, async message => {
if (message.author.bot) return;
if (!message.content.startsWith(prefix)) return;

const serverQueue = queue.get(message.guild.id);

if (message.content.startsWith(`${prefix}play`)) {
execute(message, serverQueue);
return;
} else if (message.content.startsWith(`${prefix}skip`)) {
skip(message, serverQueue);
return;
} else if (message.content.startsWith(`${prefix}stop`)) {
stop(message, serverQueue);
return;
} else {
message.channel.send(‘You need to enter a valid command!’)
}
});

async function execute(message, serverQueue) {
const args = message.content.split(‘ ‘);

const voiceChannel = message.member.voiceChannel;
if (!voiceChannel) return message.channel.send(‘You need to be in a voice channel to play music!’);
const permissions = voiceChannel.permissionsFor(message.client.user);
if (!permissions.has(‘CONNECT’) || !permissions.has(‘SPEAK’)) {
return message.channel.send(‘I need the permissions to join and speak in your voice channel!’);
}

const songInfo = await ytdl.getInfo(args[1]);
const song = {
title: songInfo.title,
url: songInfo.video_url,
};

if (!serverQueue) {
const queueContruct = {
textChannel: message.channel,
voiceChannel: voiceChannel,
connection: null,
songs: [],
volume: 5,
playing: true,
};

queue.set(message.guild.id, queueContruct);

queueContruct.songs.push(song);

try {
var connection = await voiceChannel.join();
queueContruct.connection = connection;
play(message.guild, queueContruct.songs[0]);
} catch (err) {
console.log(err);
queue.delete(message.guild.id);
return message.channel.send(err);
}
} else {
serverQueue.songs.push(song);
console.log(serverQueue.songs);
return message.channel.send(`${song.title} has been added to the queue!`);
}

}

function skip(message, serverQueue) {
if (!message.member.voiceChannel) return message.channel.send(‘You have to be in a voice channel to stop the music!’);
if (!serverQueue) return message.channel.send(‘There is no song that I could skip!’);
serverQueue.connection.dispatcher.end();
}

function stop(message, serverQueue) {
if (!message.member.voiceChannel) return message.channel.send(‘You have to be in a voice channel to stop the music!’);
serverQueue.songs = [];
serverQueue.connection.dispatcher.end();
}

function play(guild, song) {
const serverQueue = queue.get(guild.id);

if (!song) {
serverQueue.voiceChannel.leave();
queue.delete(guild.id);
return;
}

const dispatcher = serverQueue.connection.playStream(ytdl(song.url))
.on(‘end’, () => {
console.log(‘Music ended!’);
serverQueue.songs.shift();
play(guild, serverQueue.songs[0]);
})
.on(‘error’, error => {
console.error(error);
});
dispatcher.setVolumeLogarithmic(serverQueue.volume / 5);
}

client.login(token);

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

Команда проверки исходного кода для создания музыкального бота в Discord

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

Поиск готовых решений для создания музыкального бота в Discord

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

Создание музыкального бота с помощью Discord.js

JavaScript

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

Установка discord-бота

Создаем новое приложение на портале разработки discord.

Переходим на портал и нажимаем на “new application”.

Затем вводим название приложения и нажимаем на кнопку “create”.

Затем переходим на вкладку бот и нажимаем на “add bot”.

Бот создан! Теперь можно перейти к добавлению его на сервер.

Добавление бота на сервер

Добавляем созданный бот с помощью генератора OAuth2 URL.

Для этого переходим на страницу OAuth2 и выбираем бота в панели scope.

Затем выбираем необходимые разрешения для проигрывания музыки и чтения сообщений.

Теперь копируем сгенерированный URL и вставляем его в браузер.

Затем выбираем сервер, на который хотим добавить URL и нажимаем на кнопку “authorize”.

Создание проекта

Переходим к созданию проекта с использованием терминала.

Для начала создаем директорию и переходим в нее, используя две следующие команды:

Затем создаем модули проекта с помощью команды npm init. После введения команды будут заданы несколько вопросов. Ответьте на них и продолжайте.

Создаем два файла, в которых мы будем работать.

Основы Discord js

Прежде чем начать, нужно установить несколько зависимостей.

После завершения установки продолжаем написание файла config.json. Сохраните для бота токен и префикс, который он должен слушать.

Для получения токена снова зайдите на портал разработки discord и скопируйте его из раздела bot.

Это все, что нужно выполнить в файле config.json. Приступим к написанию кода javascript.

Сначала импортируем все зависимости.

Затем с помощью токена создаем клиента и логин.

Добавляем несколько базовых listeners, выполняющих метод console.log при запуске.

Теперь можно начать работу с ботом с помощью команды node. Бот должен быть online в discord и в консоль выведется“Ready!”

Чтение сообщений

Бот находится на сервере и может выходить online. Теперь можно начать читать сообщения в чате и отвечать на них.

Для чтения сообщений нужно написать лишь одну простую функцию.

Создаем listener для события message, получаем сообщение и сохраняем его в объект message.

Проверяем: если сообщение пришло от бота, то игнорируем его.

В этой строке проверяется, является ли автором сообщения бот. Сообщение возвращается, если это так.

Затем проверяем, начинается ли сообщение с ранее определенного префикса. Сообщение возвращается, если нет.

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

В этом блоке кода проверяется, какую команду нужно запустить, а также осуществляется вызов команды. Если полученная команда недопустима, то вводим сообщение об ошибке в чат с использованием функции send().

Узнав, какие команды нужно запустить, можно перейти к их реализации.

Добавление песен

Начнем с добавления команды play. Для этого понадобится песня и гильдия (гильдия представляет собой изолированную коллекцию пользователей и каналов и часто упоминается в качестве сервера). Также понадобится ранее установленная библиотека ytdl.

Для начала создаем map с названием очереди, в котором будут сохранены все песни, введенные в чат.

Затем создаем функцию async под названием execute и проверяем, находится ли пользователь в голосовом чате, и есть ли у бота соответствующее разрешение. Если нет, то пишем сообщение об ошибке и возвращаем.

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

Необходимая информация сохраняется в объект song.

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

В этом фрагменте мы проверяем, является ли serverQueue пустым. Если нет добавляем туда песню.

Если serverQueue имеет значение null, создаем контракт.

В этом блоке кода создается контракт, а песня добавляется в массив songs.

Затем присоединяемся к голосовому чату пользователя и вызываем функцию play(), которую затем реализуем.

Проигрывание песен

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

Сначала создаем функцию play, которая обладает двумя параметрами (гильдия и песня, которую нужно проиграть) и проверяет, является ли объект song пустым. Если да, то покидаем голосовой канал и удаляем очередь.

В этом фрагменте мы создаем stream и передаем его URL-адресу песни. Также добавляем два listeners, которые обрабатывают события end и error.

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

Теперь можно проиграть песню, введя !play URL в чат.

Пропуск песен

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

function skip(message, serverQueue) {
if (!message.member.voiceChannel) return message.channel.send(‘You have to be in a voice channel to stop the music!’);
if (!serverQueue) return message.channel.send(‘There is no song that I could skip!’);
serverQueue.connection.dispatcher.end();
}

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

Остановка песен

Функция stop() похожа на skip(), за исключением того, что массив songs очищается, из-за чего бот удаляет очередь и покидает голосовой чат.

Команды для работы со звуком в Discord

Для работы со звуком у бота в Дискорд существуют следующие команды:
Команды для работы с ботом
Команды для работы с ботом

Чтобы добавить нужный вам трек в плейлист бота напишите ++request (и название нужной песни или исполнителя), а затем наберите ++music play. Вы услышите музыку, и всякий пользователь, который зайдёт на ваш сервер, будет слышать воспроизводимый ботом трек.

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

Альтернативный способ

Альтернативным способом установки бота в приложение Дискорд является использование сервиса dynobot.net. Алгоритм реализации данного способа можно наблюдать на данном видео:

Бот, который транслирует музыку в Дискорд из VK

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

Главные функции и возможности

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

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

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

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

  • повышенная стабильность работы в круглосуточном режиме;
  • поиск ремикса на любую композицию;
  • добавление до 20 тысяч треков в очередь (в стандартной версии поддерживаются очереди до 200 песен).

Как скачать и добавить бота

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

Настройка бота и отключение

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

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

Команды управления ботом

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

  • -vp <имя или=»» id=»»>. Воспроизведение песни по указанному названию или номеру.
  • -vpl <ссылка> . Добавление всего списка песен из указанного в ссылке плейлиста или подборки.
  • -vu . Позволяет по номеру учетной записи пользователя передать в плейлист выбранный диапазон треков.
  • -vsh. Команда для смешивания очереди, для ее активации нужен премиум аккаунт.
  • -v24/7. Еще одна премиум функция, которая заставит бота быть в канале круглосуточно.

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

Оцените статью
Блог про Discord
Adblock
detector