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

API discord предоставляет инструмент для создания и использования ботов. Рассмотрим пример создания базового музыкального бота и добавления его на сервер. Бот сможет проигрывать, пропускать и останавливать музыку, а также будет поддерживать функцию очереди воспроизведения.
Установка discord-бота
Создаем новое приложение на портале разработки discord.
Переходим на портал и нажимаем на “new application”.

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

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

Бот создан! Теперь можно перейти к добавлению его на сервер.
Добавление бота на сервер
Добавляем созданный бот с помощью генератора OAuth2 URL.
Для этого переходим на страницу OAuth2 и выбираем бота в панели scope.

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

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

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

Создание проекта
Переходим к созданию проекта с использованием терминала.
Для начала создаем директорию и переходим в нее, используя две следующие команды:
Затем создаем модули проекта с помощью команды npm init. После введения команды будут заданы несколько вопросов. Ответьте на них и продолжайте.
Создаем два файла, в которых мы будем работать.
Теперь откройте проект в текстовом редакторе. Я использую VS Code и открываю его с помощью следующей команды:
Основы 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 пустым. Если да, то покидаем голосовой канал и удаляем очередь.
Затем начинаем проигрывать песню с помощью функции playStream() и URL-адреса песни.
В этом фрагменте мы создаем stream и передаем его URL-адресу песни. Также добавляем два listeners, которые обрабатывают события end и error.
Примечание: это рекурсивная функция, которая повторяет вызов самой себя. Рекурсия используется для проигрывания следующей песни, когда другая заканчивается.
Теперь можно проиграть песню, введя !play URL в чат.
Пропуск песен
Переходим к реализации функции пропуска. Для этого нужно выполнить завершения диспетчера, созданного в функции play() для начала проигрывания следующей песни.
В этом фрагменте мы проверяем, находится ли пользователь, который ввел команду, в голосовом канале, а также есть ли песни для пропуска.
Остановка песен
Функция stop() похожа на skip(), за исключением того, что массив songs очищается, из-за чего бот удаляет очередь и покидает голосовой чат.
Исходный код для index.js:
Полный исходный код для музыкального бота:
Заключение
У вас все получилось! Надеюсь, эта статья помогла вам разобраться в API Discord и создании с его помощью простого бота.
Как добавить бота с музыкой в Дискорд Онлайн
На фоне множества программ и приложений для общения, мессенджер Discord быстрее и функциональнее большинства из них. К тому же это бесплатное, хотя его отличительная особенность в другом. Дело в том, что к нему можно подключить десятки ботов, значительно повышающих функционал программы. Повышенной популярностью пользуются музыкальные роботы-помощники. Рассказываем, как в Дискорде добавить бота с музыкой, где его можно отыскать, какие условия его добавления, и какие у него задачи.

Как в Дискорде добавить бота с музыкой: пошаговая инструкция
Музыкальных роботов-помощников, как и других ботов для Discord можно пригласить только на сервер. Других вариантов здесь не предусмотрено. А для этого у вас должны быть права администратора, или управления сервером.
Начните с первого этапа, и включите в вашей учетной записи разрешение «Управление сервером». То есть без прав доступа к администрированию или управлению, вы не смоете выполнить эту операцию.

Второй этап – поиск бота, с которым планируется поэкспериментировать. Ресурсов репозиториев ботов и немало, на них можно найти различные категории виртуальных помощников, с описанием отзывами о них. Е будем приводить их названия, дабы не прослыть спамерами и рекламщиками. Приведем лишь порядок работы на этих сайтах:
- Авторизуйтесь на своем сервере, в котором у вас есть права.
- Перейдите на сайт с ботами для музыки.
- Выберите нужного вам бота, и кликните «Добавить в Discord». Кнопка приглашения может выглядеть, как «Пригласить».
- Нажмите на кнопку «Авторизоваться», и пройдите капчу.
Обратите внимание! Обязательным условием для добавления бота с музыкой на Дискорд будет наличие администраторских прав, либо разрешение на управление сервером.

Зачем нужно добавлять бота с музыкой в Discord?
Музыкальные помощники помогут слушать музыку прямо в мессенджере. Они обладают достаточно мощным функционал по отношению к звуковым дорожкам. Благодаря им вы получите следующее:
- Улучшите качество воспроизводимой музыки.
- Снизите усилия, которые требуются при прослушивании любимых треков.
- Воспроизвести музыкальную дорожку на своей машине.
- Передать композицию по голосовому каналу своим друзьям.
- Отслеживать популярные треки и даже видеоклипы по всему миру.

Собственно роботы выполняют часть работы за пользователя. Их применение значительно упростит вашу жизнь, и свободного времени на дела у вас останется больше.
По сути боты – это плагины, работающие на вашем сервере, и предоставляющие дополнительные функции.
Чаще всего боты для музыки создают на Java, Python или C ++. Практически все из них интегрируются в Discord, позволяя пользователям взаимодействовать с ними через команды в чате. Получив конкретную команду, бот отправляется ее выполнять, в нем уже все запрограммировано заранее.
Как добавить бота с музыкой в Дискорд?
Хотите добавить бота с музыкой в Дискорд, но не знаете, с чего начать? Поможем разобраться – выбрали лучшие решения и составили подробную инструкцию!
Выбираем бота
Добавлять музыкальных ботов в Дискорд на сервер может каждый пользователь – это отличная возможность слушать любимые композиции, не отвлекаясь от общения в мессенджере.
Встроенных помощников в приложении нет, поэтому вам придется выбрать сторонний софт и подключить его к учетной записи пользователя. Это несложно! Подобрать подходящий вариант можно через специальные каталоги, которых множество в сети – роботы отсортированы по категориям, дано описание основных функций.
Мы расскажем о том, как добавить бота с музыкой в Discord и пользоваться им на примере нескольких сервисов. Вы можете воспользоваться нашими рекомендациями – или выбирайте другие варианты самостоятельно.
Rythm
Найти Ритм можно совершено бесплатно на официальном сайте сервиса – на главной странице есть кнопка добавления.
- Нажмите на этот значок – откроется окно выбора сервера;

- Убедитесь, что используете верную учетную запись. Если вы зашли под другим профилем, нажмите на кнопку «Это не вы?» и авторизуйтесь с нужными данными;
- Выберите нужный сервер из выпадающего списка – будут автоматически добавлены все доступные варианты;

- Нажмите на кнопку продолжения;
- В следующем окне нужно дать разрешение на использование роли администратора. Готово!

Как в Дискорде добавить бота с музыкой – разобрались. Как получить доступ к основным функциям? Все взаимодействие между пользователем и роботом строится на командах – вы отправляете в чат специальный запрос, на который получаете автоматически сформированный ответ.
Приводим перечень основных команд, которыми можно воспользоваться. Все они пишутся с префиксом «!»:
- play – воспроизведение по названию/ ссылке
- disconnect – отключение робота
- np – сейчас играет
- skip – пропуск трека
- seek – поиск определенной точки трека
- soundcloud – поиск композиции в Санудклауд
- remove – удаление трека из плейлиста
- loop – зацикливание текущей композиции
- lyrics – поиск текста песни
- resume – пауза и возобновление проигрыша
- clean – очистить команды бота
- queue – просмотр плейлиста
Не переживайте, что забудете основные команды – как только робот будет добавлен в чат, он автоматически пришлет приветственное сообщение с важными напоминаниями и ссылками. Начинаем слушать музыку!
Vexera
Помимо Ритма существуют другие помощники с музыкой – расскажем, как добавить музыкального бота в Дискорд. Остановимся на сервисе под названием Vexera – найти его можно на официальном сайте.
- Жмите на кнопку «Пригласить на сервер» ;

- Выбирайте сервер из списка (убедитесь в правильности выбранной учетной записи);

- Дайте разрешение на работу под правами администратора и введите капчу для подтверждения.

Вопрос, как добавить музыкального бота в Discord, решается максимально просто – через несколько секунд на вашем голосовом канале появляется помощник, прокручивающий любимые композиции.
Пользоваться Вексерой можно с помощью команд – все они начинаются с уникального префикса «+». Несколько основных запросов для начинающих:
- play – запуск музыки
- skip – пропуск песни
- pause – пауза
- resume – возобновление воспроизведения
- queue – просмотр плейлиста
- np – что сейчас играет.
Как видите, команды очень похожи – можно добавить музыкального бота в группу Дискорд и сразу догадаться, как им пользоваться.
Это лишь два примера – вы можете воспользоваться другим софтом. Отличные отзывы заслужили такие сервисы с музыкой, как Hydra, Fredboat, Groovy или Zandercraft. Принцип использования почти идентичен.
Вы можете добавить ботов с музыкой в Дискорд в неограниченном количестве – не забывайте правильно вводить префикс, прежде чем отправить запрос! Большая часть функций доступна абсолютно бесплатно, рядовому пользователю этого хватит.