Музыкальный бот дискорд как добавить
Как добавить бота с музыкой в Дискорд Онлайн
На фоне множества программ и приложений для общения, мессенджер Discord быстрее и функциональнее большинства из них. К тому же это бесплатное, хотя его отличительная особенность в другом. Дело в том, что к нему можно подключить десятки ботов, значительно повышающих функционал программы. Повышенной популярностью пользуются музыкальные роботы-помощники. Рассказываем, как в Дискорде добавить бота с музыкой, где его можно отыскать, какие условия его добавления, и какие у него задачи.
Как в Дискорде добавить бота с музыкой: пошаговая инструкция
Музыкальных роботов-помощников, как и других ботов для Discord можно пригласить только на сервер. Других вариантов здесь не предусмотрено. А для этого у вас должны быть права администратора, или управления сервером.
Начните с первого этапа, и включите в вашей учетной записи разрешение «Управление сервером». То есть без прав доступа к администрированию или управлению, вы не смоете выполнить эту операцию.
Второй этап – поиск бота, с которым планируется поэкспериментировать. Ресурсов репозиториев ботов и немало, на них можно найти различные категории виртуальных помощников, с описанием отзывами о них. Е будем приводить их названия, дабы не прослыть спамерами и рекламщиками. Приведем лишь порядок работы на этих сайтах:
Обратите внимание! Обязательным условием для добавления бота с музыкой на Дискорд будет наличие администраторских прав, либо разрешение на управление сервером.
Зачем нужно добавлять бота с музыкой в Discord?
Музыкальные помощники помогут слушать музыку прямо в мессенджере. Они обладают достаточно мощным функционал по отношению к звуковым дорожкам. Благодаря им вы получите следующее:
Собственно роботы выполняют часть работы за пользователя. Их применение значительно упростит вашу жизнь, и свободного времени на дела у вас останется больше.
По сути боты – это плагины, работающие на вашем сервере, и предоставляющие дополнительные функции.
Чаще всего боты для музыки создают на Java, Python или C ++. Практически все из них интегрируются в Discord, позволяя пользователям взаимодействовать с ними через команды в чате. Получив конкретную команду, бот отправляется ее выполнять, в нем уже все запрограммировано заранее.
Создание музыкального бота с помощью Discord.js
Jul 21, 2019 · 8 min read
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() для начала проигрывания следующей песни.
В этом фрагменте мы проверяем, находится ли пользователь, который ввел команду, в голосовом канале, а также есть ли песни для пропуска.
Остановка песен
Функция stop() похожа на skip(), за исключением того, что массив songs очищается, из-за чего бот удаляет очередь и покидает голосовой чат.
Исходный код для index.js:
Полный исходный код для музыкального бота:
Заключение
У вас все получилось! Надеюсь, эта статья помогла вам разобраться в API Discord и создании с его помощью простого бота.
Как добавить бота с музыкой в Дискорд?
Хотите добавить бота с музыкой в Дискорд, но не знаете, с чего начать? Поможем разобраться – выбрали лучшие решения и составили подробную инструкцию!
Выбираем бота
Добавлять музыкальных ботов в Дискорд на сервер может каждый пользователь – это отличная возможность слушать любимые композиции, не отвлекаясь от общения в мессенджере.
Встроенных помощников в приложении нет, поэтому вам придется выбрать сторонний софт и подключить его к учетной записи пользователя. Это несложно! Подобрать подходящий вариант можно через специальные каталоги, которых множество в сети – роботы отсортированы по категориям, дано описание основных функций.
Мы расскажем о том, как добавить бота с музыкой в Discord и пользоваться им на примере нескольких сервисов. Вы можете воспользоваться нашими рекомендациями – или выбирайте другие варианты самостоятельно.
Rythm
Найти Ритм можно совершено бесплатно на официальном сайте сервиса – на главной странице есть кнопка добавления.
Как в Дискорде добавить бота с музыкой – разобрались. Как получить доступ к основным функциям? Все взаимодействие между пользователем и роботом строится на командах – вы отправляете в чат специальный запрос, на который получаете автоматически сформированный ответ.
Приводим перечень основных команд, которыми можно воспользоваться. Все они пишутся с префиксом «!»:
Не переживайте, что забудете основные команды – как только робот будет добавлен в чат, он автоматически пришлет приветственное сообщение с важными напоминаниями и ссылками. Начинаем слушать музыку!
Vexera
Помимо Ритма существуют другие помощники с музыкой – расскажем, как добавить музыкального бота в Дискорд. Остановимся на сервисе под названием Vexera – найти его можно на официальном сайте.
Вопрос, как добавить музыкального бота в Discord, решается максимально просто – через несколько секунд на вашем голосовом канале появляется помощник, прокручивающий любимые композиции.
Пользоваться Вексерой можно с помощью команд – все они начинаются с уникального префикса «+». Несколько основных запросов для начинающих:
Как видите, команды очень похожи – можно добавить музыкального бота в группу Дискорд и сразу догадаться, как им пользоваться.
Это лишь два примера – вы можете воспользоваться другим софтом. Отличные отзывы заслужили такие сервисы с музыкой, как Hydra, Fredboat, Groovy или Zandercraft. Принцип использования почти идентичен.
Вы можете добавить ботов с музыкой в Дискорд в неограниченном количестве – не забывайте правильно вводить префикс, прежде чем отправить запрос! Большая часть функций доступна абсолютно бесплатно, рядовому пользователю этого хватит.
Создание музыкального бота в Discord
В этой статье речь пойдет о ручном создании бота для воспроизведения музыки в Discord. Вы можете как просто скопировать весь представленный код, так и редактировать его под себя, если владеете навыками JavaScript. Созданный нами бот был проверен, но на некоторых этапах пользователь все же может столкнуться с разными проблемами, поэтому советуем внимательно читать не только нашу инструкцию, но и появляющиеся на экране коды ошибок, если такие будут.
Если же окажется, что данный материал слишком сложный для вас или не подходит по другим причинам, используйте готовые бесплатные боты для воспроизведения музыки. В статье по ссылке ниже вы найдете детальную информацию об этом и сможете реализовать поставленную задачу.
Шаг 1: Создание нового приложения
Каждый бот для Дискорда должен быть зарегистрирован на официальном портале для разработчиков. Так вы получаете доступ ко всем необходимым настройкам, связанным с разрешениями и общим поведением бота, сможете скопировать ссылку на его авторизацию в личном сервере и использовать уникальный токен, который нужен для дальнейшей разработки команд.
Теперь у вас есть приложение бота с уникальным токеном, а бот уже добавлен на сервер, но пока находится в офлайн-режиме. Для начала его работы придется выполнить еще несколько действий уже на локальном компьютере, поскольку пока мы не выгружаем бота на хостинг для автономного функционирования.
Шаг 2: Подготовительные действия
К подготовительным действиям относится создание требуемых каталогов и файлов, установка инструментов и зависимостей для них. В этом нет ничего сложного, нужно лишь по очереди произвести каждое действие, внимательно следя за тем, чтобы ни на одном этапе не появились ошибки.
В итоге в домашней папке пользователя должны появиться файлы, связанные с компонентом Node.js и добавленным после модулем. Перезагрузите компьютер, чтобы при дальнейшем запуске бота не возникло трудностей, затем переходите к следующему шагу.
Шаг 3: Редактирование файла конфигурации бота
Вы уже знаете, что в созданном файле конфигурации бота будет всего пара строк кода, отвечающих за используемый префикс (символ перед вводом команды на сервере) и уникальный токен, определяющий приложение в API. Для выполнения всех дальнейших действий рекомендуем скачать программу с поддержкой синтаксиса JS или любой продвинутый текстовый редактор, если этого не было сделано ранее. В статье по ссылке ниже вы сможете ознакомиться с доступными подходящими решениями.
Как только ПО установлено на компьютер и готово к работе, можно смело приступать к редактированию конфигурационного файла, вводя туда пользовательские данные.
На этом действия с конфигурационным файлом завершены, больше там не нужно прописывать ни одной строчки кода. Закройте его, не забыв сохранить внесенные правки, и приступайте к дальнейшему написанию бота для воспроизведения музыки.
Шаг 4: Пробный запуск бота
const Discord = require(‘discord.js’);
const <
prefix,
token,
> = require(‘./config.json’);
const ytdl = require(‘ytdl-core’);
const client = new Discord.Client();
client.login(token);
client.once(‘ready’, () =><
console.log(‘Ready!’);
>);
client.once(‘reconnecting’, () =><
console.log(‘Reconnecting!’);
>);
client.once(‘disconnect’, () =><
console.log(‘Disconnect!’);
>);
Шаг 5: Написание основного кода музыкального бота
Остался самый сложный процесс — написание основного кода для музыкального бота. Есть перечень задач, который он должен выполнять: чтение сообщений и обработка команд, определение названия песни или ее адреса, подключение к голосовому каналу и воспроизведение. Разрешения на все это у бота есть, поэтому нужно лишь указать ему на действия при помощи функций JavaScript, что выполняется в том же файле «index.js».
Добавьте простую функцию для чтения сообщений:
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(`$
execute(message, serverQueue);
return;
> else if (message.content.startsWith(`$
skip(message, serverQueue);
return;
> else if (message.content.startsWith(`$
stop(message, serverQueue);
return;
> else <
message.channel.send(‘Вы должны использовать существующую команду!’)
>
Обратите внимание на то, что функция send(») отправляет пользователю сообщение, если вдруг он вводит нерабочую команду. Это сообщение вы можете редактировать, изменяя надпись в кавычках.
const queue = new Map();
Он отправляет все команды в очередь и заставляет песни играть только тогда, когда предыдущая заканчивается. Далее понадобится создать функцию, которая будет проверять, подключился ли пользователь к голосовому каналу и есть ли у бота соответствующие разрешения.
Следующее действие — подключение библиотеки ytdl, поскольку этот бот будет считывать название песни по ссылке с YouTube, после чего воспроизводить ее на сервере. Для нее понадобится вставить всего небольшой кусочек кода.
const songInfo = await ytdl.getInfo(args[1]);
const song = <
title: songInfo.title,
url: songInfo.video_url,
>;
Следующий блок кода позволит понять, есть ли песни в очереди или можно сразу же подключиться к голосовому каналу и начать воспроизведение.
>else <
serverQueue.songs.push(song);
console.log(serverQueue.songs);
return message.channel.send(`$
>
Далее идет немного сложная для начинающих программистов схема контракта, которая добавляет песню в массив и делает то же самое при каждом вводе !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);
>
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 или только занимается его изучением и решил создать музыкального бота. Если вы не владеете навыками вообще и указанные блоки с кодом вам вообще ни о чем не говорят, просто вставьте весь исходный код в файл, замените сообщения от бота на русские (они находятся в кавычках) и сохраните изменения. Весь исходный код имеет такой вид:
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.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(`$
execute(message, serverQueue);
return;
> else if (message.content.startsWith(`$
skip(message, serverQueue);
return;
> else if (message.content.startsWith(`$
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 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,
>;
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(`$
>
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);
>
По завершении лучше перезапустить бота, после чего можно перейти к своему серверу, подключиться к голосовому каналу и ввести любую команду взаимодействия, проверив, как на это отреагирует бот.
Если приведенный выше вариант бота вам не подходит, можно найти исходные коды на том же GitHub и скопировать их на свой компьютер. Принцип регистрации и запуска остается тот же, поэтому по необходимости просто редактируйте готовый код, а затем приступайте к тестированию бота.
В этой статье мы не затронули выгрузку бота на хостинг, распространение его среди других пользователей, создание аватарки и использование открытых площадок, откуда его и можно авторизовать. Все это — отдельные процессы, которыми стоит заниматься только в том случае, когда вы отточили свой навык создания ботов и готовы распространять проекты в сети.
Помимо этой статьи, на сайте еще 12551 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.
Отблагодарите автора, поделитесь статьей в социальных сетях.

























































