Создание и добавление бота в Discord

Дата: 04.12.2020. Опубликовал: Админ, на

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

Как добавить готового бота в Discord

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

Главное условие для добавления бота на сервер Discord – найти сайт с хорошей коллекцией ботов. Таких сегодня существует немало, в качестве примера можно привести достаточно популярный ресурс – https://top.gg/

Сама процедура установки не отличается повышенной сложностью:

  • заходим на указанный сайт;
  • если ищем конкретный бот, вводим его название в поисковой консоли;
    Поиск бота для Discord
  • можно пойти по второму пути, используя навигационное меню, в котором все боты разбиты по категориям: самые популярные, музыкального направления, добавленные недавно, отсортированные по тегам;
    Выбор бота для Discord
  • если выбор уже сделан, можно переходить непосредственно к установке. Для этого прямо на сайте необходимо кликнуть по кнопке «Invite» (пригласить);
  • а можно перейти на страницу бота – там будет больше информации о его возможностях и функционале, и нажать по такой же кнопке там;
    Кнопка «Invite» в Discord
  • чтобы установить бота на Discord, в открывшемся конфигурационном окне необходимо выбрать сервер, на котором установлен чат, и выставить те права, которые вы ему делегируете, когда он будет установлен на сервер и начнёт работать;
    Выбор сервера для добавления бота
  • после ввода и выставления базовых настроек понравившегося бота можно переходить к завершающему этапу – нажать кнопку «Авторизовать»;
    Авторизация бота в Discord
  • после этого останется пройти стандартную проверку на робота. Не улыбайтесь, вдруг бота намеревается использовать другой бот? В последнем случае попахивает войной машин.
    Проверка пользователя в Discord

Как видим, подключение бота – дело нехитрое. Не сложнее, чем инсталляция программ. Напоследок отметим, что самой востребованной категорией на сегодня считаются надстройки, позволяющие проигрывать музыку. Мы рекомендуем поставить музыкального бота Rhythm, который в сообществе Discord пользуется заслуженной репутацией одного из лучших. В числе достоинств дополнения к чату – потоковое проигрывание аудиотреков, причем из разных источников. Поддерживаются сервисы Soundcloud, Twitch, можно слушать музыку непосредственно из YouTube.

Скачивание бота Rhythm

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

Использование бота Rhythm

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

Плейлист бота Rhythm

Ещё одной «фишкой» Rhythm можно назвать способность показывать пользователю текст воспроизводимой в данный момент песни, что оценят любители подпевать. При желании можно попытаться отыскать текст любой песни, лишь бы вы знали полное правильное название и исполнителя.

Текст песни в Rhythm

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

Опции бота Rhythm

СОВЕТ. Бот разрабатывался для работы преимущественно в голосовых каналах. Если вам нужно иметь расширение с такими же функциями для текстового канала, нужно искать другого бота.

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

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

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

Инструкция дублируется также на сайте discordbots.org, если вы устанавливали бот именно оттуда.

ВНИМАНИЕ. Подавляющее большинство ботов имеют англоязычный интерфейс, боты на русском – явление пока что редкое. Так что вам стоит подтянуть свой английский, поверьте, он вам пригодится и в других жизненных ситуациях. В крайнем случае придётся воспользоваться переводчиком.

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

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

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

Рассмотрим пример музыкального бота, написанного на 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(`${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 в раздел разработчиков, жмём кнопку «New application»;
    Раздел разработчиков Discord
  • вводим название своего бота, жмём «Create»;
    Имя создаваемого бота
  • кликаем на вкладке «Бот» и жмём кнопку «Add bot»;
    Переход во вкладку «Bot»Кнопка «Add Bot»Подтверждение добавления бота
  • теперь его нужно добавить на сервер. Для этого идём в раздел OAuth2 и загружаем наш скрипт в панели scope;
    Переход во вкладку «OAuth2»Выбор «bot» в SCOPES
  • отмечаем требуемые для работы бота разрешения;
    Требуемые для работы бота разрешения
  • в результате будет сгенерирован URL, который нужно вставить в браузер;
    URL для вставки в браузер
  • осталось выбрать сервер, на котором будет добавлен наш URL, после чего нажать «Authorize».
    Авторизация нового бота

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

  • заходим на dynobot.net, жмём кнопку «Login with Discord», а затем – «Authorize»;
    Кнопка «Login with Discord»
  • в открывшемся окне выбираем сервер, на котором будет работать бот;
  • переходим к процедуре настройки бота. В верхнем меню необходимо кликнуть по пункту «Bot Settings». Вы можете задать Prefix (начальный символ для всех команд, используемых для управления ботом) или оставить значение по умолчанию (восклицательный знак). Здесь же необходимо дать боту название в поле Nickname;
    Раздел «Bot Settings»
  • переходим к этапу непосредственного создания музыкального бота для своего канала. Для этого в левом меню выбираем и щёлкаем по пункту «Music», выбираем канал, на котором наш бот будет функционировать, указываем роль – можно задать новую или выбрать из предложенного списка существующих ролей;
    Параметры вкладки «Music»
  • переходим на сервер Discord, открываем канал, который мы указали в предыдущем пункте списка. Здесь нужно будет прописать команду help с тем префиксом, который мы установили для нашего бота (дефолтный – восклицательный знак, то есть команда будет выглядеть как !help). Бот немедленно отправим вам сообщение с перечнем доступных команд;
  • для начала проигрывания пенсии нужно ввести команду !play <название трека>, для остановки проигрывания используется команда !stop, для пропуска текущей композиции – !skip.

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

Удаление бота в Discord

Если по каким-то причинам установленный бот вам уже не нужен (надоел, вы нашли новый, с лучшим функционалом), его можно удалить с сервера Discord в любой момент времени. Для этого открываем перечень участников канала, кликаем ПКМ по боту и в появившемся контекстном меню выбираем опцию «Удалить».

Удаление бота в Discord

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

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

Подтверждение удаления бота

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

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

Подписаться
Уведомить о

1 Комментарий
Популярные
Новые Старые
Межтекстовые Отзывы
Посмотреть все комментарии
Сяпа Микаров
04.02.2021 18:54

Намарно превет мне ни очень памагло ну как только своим собственным ботам упровлять?