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

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

  • автор:

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

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

как сделать (создать) бота в дискорде для музык

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

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

  1. Перейти на официальный сайт по ссылке https://discord.com/developer/application, и авторизуйтесь.
  2. Нажмите на кнопку «New Application» для создания нового приложения.
  3. Придумайте имя вашему приложению (боту). Придется подобрать такое, чтобы оно оказалось уникальным.
  4. В правом верхнем углу нажмите на горизонтальные полоски для вызова меню, и нажмите пункт «Bot».
  5. Нажмите на кнопку «Add Bot», и подтвердите действия кнопкой в окошке справа.
  6. Из меню справа перейдите в пункт с названием «OAuth2».
  7. Выберите блок «Scopes», поставьте маркер рядом с «bot».
  8. В блоке «Voice Permission» проставьте маркеры на всех пунктах, чтобы присоединить будущего музыкального бота к голосовым каналам.
  9. В блоке «Text Permission». Также выставьте разрешения метками напротив нужных пунктов.
  10. Для первой авторизации бота на сервере скопируйте ссылку, которую вы увидите на экране, и перейдите по ней через новую вкладку браузера.
  11. Выберите тестовый сервер, где будете проверять своего бота.
  12. Пройдите капчу, чтобы успешно авторизоваться.

как создать бота в дискорде для музык

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

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

как сделать бота в дискорде для музык

Зачем при создании музыкального бота нужен токен

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

  1. На ПК создайте папку с именем бота.
  2. Создайте в ней 2 файла: «config.json», в нем запишите общую конфигурацию (префикс и токен), и «index.js», в ней прописывается весь программный код, и команды с задачами инструмента.
  3. Чтобы робот мог работать потребуется инструмент «Node.js», он применяется для запуска скриптов на локальных ПК.
  4. Установите модуль для работы с API Discord.

как сделать (создать) бота в discord для музык

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

  1. Запустите файл скрипта js.
  2. Перейдите на вкладку страницы разработчика, где находится ваш бот, и скопируйте уникальный токен.
  3. Вместо надписи, которую вы видите в строке конфигуратора, вставьте его, сохранив имеющиеся кавычки.
  4. Сохраните изменения, и закройте файл.

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

Частые вопросы:

  • Как добавить музыкального бота на сервер Дискорд Онлайн
  • Как сделать бота, выдающего роли в Discord
  • Как в Discord включить трансляцию музыки из ВКонтакте
  • Как сделать трансляцию музыки в Discord

Discord radio bot 24/7

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

Что это

Бот 24/7 — музыкальный помощник для Дискорд, предназначенный для прослушивания радио и треков. С его помощью можно воспроизводить трансляции Ютуб в прямом эфире, а также управлять музыкой: создавать плейлисты, запускать воспроизведение, ставить на паузу и т. д.

Функции

Радио бот 24 7 для Discord — универсальный проигрыватель, способный запускать песни или радиостанции по первому запросу пользователя. При этом музыка будет звучать на канале в режиме нон-стоп, если в этом имеется необходимость.

Функции бесплатной версии:

  • воспроизведение любых радиостанций, в том числе потоковых;
  • просмотр видео в Ютуб на Дискорд в прямом эфире;
  • прослушивание любой песни;
  • запуск Ютуб в прямом эфире.

В премиальной версии помощника 24/7 для Дискорд доступны дополнительные опции:

  • работа в режиме 24/7 для видео и музыки;
  • высокое качество звука;
  • импорт плейлистов Ютуб;
  • регулировка громкости на сервере;
  • повторение одной песни 24/7;
  • импорт / экспорт очереди ботов;
  • импортирование списков воспроизведения и альбомов.

Большинству пользователей хватает бесплатной версии, можно доплатить и получить полный вариант 24/7 для Дискорд. Его стоимость 2,47 доллара в месяц или 7,24 в месяц за Премиум+. В последнем случае доступны сообщения доноров в боте.

Как установить

Чтобы пользоваться возможностями Discord-бота, его необходимо добавить на сервер. Сделайте следующие шаги:

  1. Перейдите по ссылке 24-7music.com.
  2. Жмите на кнопку Invite The Bot внизу.

  1. Выберите сервер, куда его необходимо добавить.

  1. Кликните Продолжить и установите права (чтение, отправка и управление сообщений, подключение, добавление реакций и т. д.).
  2. Жмите на кнопку Авторизовать.

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

Как пользоваться

Для пользования ботом 24/7 в Дискорд предусмотрен набор команд. С их помощью можно включить помощника и управлять его функционалом. Основные команды (во всех случаях используется префикс mb перед командой:

  • play — позволяет присоединиться к каналу и начать воспроизведение по умолчанию;
  • help — список доступных команд;
  • play [ссылка радио / mp3stream ссылка / youtube-ссылка / youtube-поиск] — позволяет подключаться к каналу с последующим воспроизведением радиостанции, Ютуб или песни;
  • np — отображает информацию, что в данный момент работает Discord-бот;
  • leave — позволяет боту для Дискорд уйти с канала;
  • streamlinks — отображает перечень ссылок на радиостанции, которые можно использовать;
  • info — подробные сведения о помощнике и количестве голосовых каналов;
  • invite — предоставление ссылки для приглашения Discord-бота
  • vote — дает ссылку для голосования;
  • iheart [searchterm] — поиск радиостанций (до шести) с учетом запроса пользователя;
  • eastereggs — отключение или включение всех eastereggs сервера, к примеру, @someone или google it.
  • clear [количество] — очищает текстовое поле от сообщений (необходимо разрешение на выполнение такого действия);
  • premiumhelp — отображение всех команд премиум-класса, которые доступны пользователям;
  • donators — отображает сообщения от участников, подключенных к Премиум+;
  • google it — ответ ссылкой Гугл с сообщением в качестве запроса (должен быть включен с применением eastereggs).

Указанных выше команд достаточно, чтобы управлять ботом Дискорд. Более подробные сведения можно найти по ссылке 24-7music.com/commands.

Итоги

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

Как в Discord включить музыку в микрофон

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

как включить музыку в микрофон в дискорде

Как включить музыку в микрофон в Discord через бота

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

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

  1. Пройдите на официальную страницу, где можно пригласить бота https://top.gg/bot/184405311681986560.
  2. Нажмите на кнопку справа «Invite».
  3. В открывшемся окне авторизации введите данные от Дискорда.
  4. Выберите свой сервер.
  5. Нажмите кнопку «Авторизоваться».
  6. После входа на свой профиль, вы увидите, что к серверу присоединился бот.
  7. В левой колонке тапните на иконку «Голосовой канал» и дайте ему значение «Основной».
  8. Перейдите к управлению ботом.

как в дискорде включить музыку в микрофон

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

Обратите внимание! При выборе музыкального бота изучите его функционал, чтобы он соответствовал вашим требованиям.

как включить в дискорде музыку в микрофон

Подключение музыки в Дикорд Онлайн через сторонний софт

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

  1. Найдите через поисковик официальный ресурс Virtual Audio Cable.
  2. Скачайте и установите софт на свой компьютер.
  3. Запустите скачанный софт на своем ПК.
  4. Создайте новый канал, для этого нажмите кнопку «Set», она находится в верхней левой части панели управления.
  5. Присвойте каналу название, и закройте данное ПО.
  6. Внесите изменения в параметры звука в операционной системе вашего ПК.
  7. Выберите виртуальное устройство для трансляции через микрофон. Эту операцию выполните в разделе настроек «Голос и видео» мессенджера Дискорд. Вам потребуется блок «Устройство ввода».

Частые вопросы:

  • Как добавить музыкального бота на сервер Дискорд Онлайн
  • Как сделать трансляцию музыки в Discord
  • Как в Discord включить музыку через бота-помощника
  • Как сделать бота, выдающего роли в Discord

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

mkdir musicbot && cd musicbot

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

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

touch index.js && touch config.json

Теперь откройте проект в текстовом редакторе. Я использую VS Code и открываю его с помощью следующей команды:

code.

Основы Discord js

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

npm install discord.js ffmpeg-binaries opusscript ytdl-core --save

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

"prefix": "!",
"token": "your-toke"
>

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

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

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

const Discord = require('discord.js');
const prefix,
token,
> = require('./config.json');
const ytdl = require('ytdl-core');

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

const client = new Discord.Client();
client.login(token);

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

client.once('ready', () => console.log('Ready!');
>);
client.once('reconnecting', () => console.log('Reconnecting!');
>);
client.once('disconnect', () => console.log('Disconnect!');
>);

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

node index.js

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

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

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

client.on('message', async message => 
>

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

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

if (message.author.bot) return;

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

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

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

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

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

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

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

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

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

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

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

const queue = new Map();

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

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!');
>
>

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

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

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

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

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

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

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

// Creating the contract for our queue
const queueContruct = textChannel: message.channel,
voiceChannel: voiceChannel,
connection: null,
songs: [],
volume: 5,
playing: true,
>;
// Setting the queue using our contract
queue.set(message.guild.id, queueContruct);
// Pushing the song to our songs array
queueContruct.songs.push(song);

try // Here we try to join the voicechat and save our connection into our object.
var connection = await voiceChannel.join();
queueContruct.connection = connection;
// Calling the play function to start a song
play(message.guild, queueContruct.songs[0]);
> catch (err) // Printing the error message if the bot fails to join the voicechat
console.log(err);
queue.delete(message.guild.id);
return message.channel.send(err);
>

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

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

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

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

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

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

Затем начинаем проигрывать песню с помощью функции playStream() и URL-адреса песни.

const dispatcher = serverQueue.connection.playStream(ytdl(song.url)) 
.on('end', () => console.log('Music ended!');
// Deletes the finished song from the queue
serverQueue.songs.shift();
// Calls the play function again with the next song
play(guild, serverQueue.songs[0]);
>)
.on('error', error => console.error(error);
>);
dispatcher.setVolumeLogarithmic(serverQueue.volume / 5);

В этом фрагменте мы создаем 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 очищается, из-за чего бот удаляет очередь и покидает голосовой чат.

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();
>

Исходный код для index.js:

Полный исходный код для музыкального бота:

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(`$play`)) execute(message, serverQueue);
return;
> else if (message.content.startsWith(`$skip`)) skip(message, serverQueue);
return;
> else if (message.content.startsWith(`$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(`$ 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);

Заключение

У вас все получилось! Надеюсь, эта статья помогла вам разобраться в API Discord и создании с его помощью простого бота.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *