Как добавить бота в войс чат в дискорде
Перейти к содержимому

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

  • автор:

Как добавить чатбота для автоматических ответов в чате Discord

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

как добавить чатбота в дискорде (для автоматических ответов в чате)

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

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

как добавить чатбота в дискорде

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

  1. Запустите веб-версию Дискорда.
  2. В соседней вкладке откройте сайт, с которого будете добавлять бота.
  3. Изучите описание функционала ботов для автоматических ответов, и посмотрите все их возможности.
  4. После того как выберите подходящего, нажмите на параметр «Add Bot to Server», чтобы пригласить его.
  5. В открывшемся списке для добавления расширения, выберите свой сервер.
  6. Также необходимо установить галочку напротив параметра расширений, это позволит помощнику эффективно функционировать.
  7. После этого система затребует авторизацию, введите логин и пароль от Дискорда.
  8. В отрывшемся окне вы сможете добавить нового бота, который будет вести за вас переписку.

как для автоматических ответов в чате добавить чатбота в дискорде

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

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

Где найти ботов для автоматических ответов в чате Дискорда

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

как вдобавить чатбота в дискорде

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

Два самых популярных бота – это DynoBot и MIEE6. Между собой они во многом схожи по функционалу. И кроме автоматических ответов, обладают другими полезными свойствами. Можете поискать вариант и на сайте https://bots.server-discord.com/, а также просто выделить время, и почитать о каждом из таких помощников более подробно.

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

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

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

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

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

Вариант 1: Dyno

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

  1. Воспользуйтесь ссылкой выше, чтобы перейти на официальный сайт бота, где нажмите кнопку «Add To Server». Кнопка приглашения на сайте для добавления счетчика на сервере в Discord через бота Dyno
  2. Вы будете перенаправлены на страницу с разными тарифными планами. Для нашей задачи достаточно выбрать бесплатный и снова нажать кнопку с таким же названием. Выбор бесплатной версии для добавления счетчика на сервере в Discord через бота Dyno
  3. Теперь на новой вкладке авторизации разверните список «Добавить на сервер», выберите из него свой сервер и щелкните по появившейся кнопке «Продолжить». Выбор сервера и подтверждение для добавления счетчика на сервере в Discord через бота Dyno
  4. Вы будете уведомлены, что бот успешно авторизован, а страницу в браузере можно закрыть. Перейдите в сам Дискорд и обратите внимание на правую панель, где находится новый бот. Нажмите по нему для отображения меню. В нем вы увидите перечень команд, среди которых и будет нужная сейчас. Проверка добавления для добавления счетчика на сервере в Discord через бота Dyno
  5. Введите /membercount в любом удобном для вас текстовом чате и подтвердите ввод команды нажатием Enter. Ввод первой команды для добавления счетчика на сервере в Discord через бота Dyno
  6. Бот сразу же отправит сообщение с информацией о том, сколько сейчас участников на данном сервере, а также в какое время осуществлялся запрос данных. Отображение нового сообщения после добавления счетчика на сервере в Discord через бота Dyno

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

Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей

Вариант 2: ServerStats

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

  1. Снова показывать процесс добавления бота не буду. Вам понадобится перейти на его официальный сайт, нажать кнопку приглашения, выбрать сервер и подтвердить действие. Кнопка приглашения для добавления счетчика на сервере в Discord через бота ServerStats
  2. Затем перейдите на сам сервер и убедитесь в том, что бот отображается на правой панели и находится в сети. Это значит, что можно приступать к взаимодействию с командами. Проверка авторизации для добавления счетчика на сервере в Discord через бота ServerStats
  3. Введите /setup и активируйте эту команду, чтобы создать первые три стандартных счетчика. Ввод команды стандартных настроек для добавления счетчика на сервере в Discord через бота ServerStats
  4. Из появившегося меню выбора укажите, какие типы каналов будут отведены для счетчиков. Лучше использовать рекомендуемый вариант. Выбор типа каналов для добавления счетчика на сервере в Discord через бота ServerStats
  5. Нажмите Enter еще раз и подтвердите задачу для бота. Ожидайте отображения информации в следующем сообщении. Ожидание обработки для добавления счетчика на сервере в Discord через бота ServerStats
  6. Через несколько секунд будет создана новая категория с заблокированными каналами (то есть к ним нельзя подключиться или написать какие-то сообщения). Вы увидите количество участников онлайн и счетчик добавленных ботов. Проверка стандартных настроек для добавления счетчика на сервере в Discord через бота ServerStats
  7. Введите /counter list, если хотите ознакомиться с перечнем всей доступной статистики, которую можно вывести точно таким же образом. Ввод команды для отображения всей статистики для добавления счетчика на сервере в Discord через бота ServerStats
  8. Прочитайте подсказку от бота и решите, нужны ли вам еще какие-то из этих счетчиков или нужно удалить уже добавленные. Выбор разных типов отображения статистики для добавления счетчика на сервере в Discord через бота ServerStats

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

Вариант 3: AXVin

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

  1. Откройте страницу сайта с ботом и выполните стандартную процедуру приглашения. Кнопка приглашения для добавления счетчика на сервере в Discord через бота AXVin
  2. Теперь понадобится скопировать ссылку на любое видео того канала, откуда вы будете брать статистику про общее количество роликов, подписчиков и просмотров. Копирование ссылки на видео для добавления счетчика на сервере в Discord через бота AXVin
  3. В самом Дискорде сначала введите @AXVin help youtubecount, чтобы получить сообщение с информацией о дальнейших действиях. Найдите там команду для создания счетчиков и просто наберите ее вручную или скопируйте. Ввод команды помощи для добавления счетчика на сервере в Discord через бота AXVin
  4. Пока что вы можете не указывать тип счетчиков и их формат, а просто ввести @AXVin youtubecount create и добавить ссылку на любое видео со своего YouTube-канала. Команда настроек статистики для добавления счетчика на сервере в Discord через бота AXVin
  5. После подтверждения ввода может появиться информация о том, что добавление счетчиков невозможно, нужно исправить ошибки. Используйте указанную команду, чтобы сделать это, после чего снова повторите предыдущую для создания счетчиков. Исправление ошибок для добавления счетчика на сервере в Discord через бота AXVin
  6. Через секунду они уже отобразятся в виде заблокированных каналов на панели слева. К сожалению, они не будут помещены в категории автоматически, поэтому это придется сделать вручную, если хотите. Отображение каналов после добавления счетчика на сервере в Discord через бота AXVin
  7. Вместе с этим во вспомогательном сообщении будет информация о том, какие форматы счетчиков доступны. Ознакомьтесь с ним и решите, нужно ли изменить форматирование. Просмотр разных форматов для добавления счетчика на сервере в Discord через бота AXVin

Вот так при помощи трех разных ботов для 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 и создании с его помощью простого бота.

35 полезных и необычных ботов для Discord

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

Социальные

MarriageBot

Добавляет возможность «пожениться» на участнике сервера, а потом «усыновить» или «удочерить» кого-нибудь

Truth or Dare

Встраивает игры «Правда или желание», «Я никогда не» и другие подобные. Поддерживает русский язык

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

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