API discord предоставляет инструмент для создания и использования ботов. Рассмотрим пример создания базового музыкального бота и добавления его на сервер. Бот сможет проигрывать, пропускать и останавливать музыку, а также будет поддерживать функцию очереди воспроизведения.
Установка discord-бота
Создаем новое приложение на портале разработки discord.
Переходим на портал и нажимаем на “new application”.
Затем вводим название приложения и нажимаем на кнопку “create”.
Затем переходим на вкладку бот и нажимаем на “add bot”.
Бот создан! Теперь можно перейти к добавлению его на сервер.
Добавление бота на сервер
Добавляем созданный бот с помощью генератора OAuth2 URL.
Для этого переходим на страницу OAuth2 и выбираем бота в панели scope.
Затем выбираем необходимые разрешения для проигрывания музыки и чтения сообщений.
Теперь копируем сгенерированный URL и вставляем его в браузер.
Затем выбираем сервер, на который хотим добавить URL и нажимаем на кнопку “authorize”.
Как добавить музыкального бота в дискорд // DISCORD Vexera БОТ 2023
Создание проекта
Переходим к созданию проекта с использованием терминала.
Для начала создаем директорию и переходим в нее, используя две следующие команды:
mkdir musicbot cd musicbot
Затем создаем модули проекта с помощью команды npm init. После введения команды будут заданы несколько вопросов. Ответьте на них и продолжайте.
Создаем два файла, в которых мы будем работать.
touch index.js touch config.json
Теперь откройте проект в текстовом редакторе. Я использую VS Code и открываю его с помощью следующей команды:
Основы Discord js
Прежде чем начать, нужно установить несколько зависимостей.
npm install discord.js ffmpeg-binaries opusscript ytdl-core —save
После завершения установки продолжаем написание файла config.json. Сохраните для бота токен и префикс, который он должен слушать.
Для получения токена снова зайдите на портал разработки discord и скопируйте его из раздела bot.
Это все, что нужно выполнить в файле config.json. Приступим к написанию кода javascript.
Сначала импортируем все зависимости.
Чтение сообщений
Бот находится на сервере и может выходить online. Теперь можно начать читать сообщения в чате и отвечать на них.
Для чтения сообщений нужно написать лишь одну простую функцию.
client.on(‘message’, async message =>
Создаем listener для события message, получаем сообщение и сохраняем его в объект message.
Проверяем: если сообщение пришло от бота, то игнорируем его.
if (message.author.bot) return;
В этой строке проверяется, является ли автором сообщения бот. Сообщение возвращается, если это так.
Затем проверяем, начинается ли сообщение с ранее определенного префикса. Сообщение возвращается, если нет.
if (!message.content.startsWith(prefix)) return;
После этого проверяем, какую команду нужно запустить. Это можно выполнить с помощью простых операторов if.
В этом блоке кода проверяется, какую команду нужно запустить, а также осуществляется вызов команды. Если полученная команда недопустима, то вводим сообщение об ошибке в чат с использованием функции send() .
Узнав, какие команды нужно запустить, можно перейти к их реализации.
Добавление песен
Начнем с добавления команды play. Для этого понадобится песня и гильдия (гильдия представляет собой изолированную коллекцию пользователей и каналов и часто упоминается в качестве сервера). Также понадобится ранее установленная библиотека ytdl.
Для начала создаем map с названием очереди, в котором будут сохранены все песни, введенные в чат.
const queue = new Map();
Затем создаем функцию async под названием execute и проверяем, находится ли пользователь в голосовом чате, и есть ли у бота соответствующее разрешение. Если нет, то пишем сообщение об ошибке и возвращаем.
Переходим к получению информации о песне и сохранении ее в объект song. Для этого используем библиотеку ytdl, которая получает информацию о песне по ссылке на youtube.
const songInfo = await ytdl.getInfo(args[1]);
const song = title: songInfo.title,
url: songInfo.video_url,
>;
Необходимая информация сохраняется в объект song.
После сохранения информации нужно создать контракт для добавления в очередь. Для этого проверяем, определен ли serverQueue, что означает, что музыка уже играет. Если да, то добавляем песню в существующий serverQueue и отправляем сообщение об успешном выполнении. Если нет, то создаем его, подключаемся к голосовому каналу и начинаем проигрывать музыку.
>else serverQueue.songs.push(song);
console.log(serverQueue.songs);
return message.channel.send(`$ has been added to the queue!`);
>
В этом фрагменте мы проверяем, является ли serverQueue пустым. Если нет добавляем туда песню.
Если serverQueue имеет значение null, создаем контракт.
В этом блоке кода создается контракт, а песня добавляется в массив songs.
Затем присоединяемся к голосовому чату пользователя и вызываем функцию play() , которую затем реализуем.
Проигрывание песен
Поскольку теперь можно добавлять песни в очередь и создавать контракт при его отсутствии, можно приступить к реализации функцию проигрывания.
Сначала создаем функцию play, которая обладает двумя параметрами (гильдия и песня, которую нужно проиграть) и проверяет, является ли объект song пустым. Если да, то покидаем голосовой канал и удаляем очередь.
В этом фрагменте мы создаем 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 очищается, из-за чего бот удаляет очередь и покидает голосовой чат.
Источник: dzen.ru
Команды для музыкального FredBoat в среде Discord как добавить и настройка
В популярном мессенджере Discord бот FredBoat ловко управится с музыкальными треками, подключаясь к интернет-хостингам. Кроме музыкальной составляющей, на которую сделали упор разработчики, ФредБот сумеет заменить администратора, навести порядок на сервере. Базовый вариант оснащен достаточным набором команд для управления музыкой. А платная подписка (всего 2 доллара) позволяет самостоятельно формировать плейлисты на Спотифай.
Что это за бот
Разработчики практически ежедневно создают новых ботов, наделенных различными функциями. Некоторые из них исчезают без следа, а кое-какие становятся популярными. Данный бот для Дискорд-мессенджера, кроме базовых функций, в совершенстве владеет мастерством диджея. FredBoat – это музыкальный помощник, виртуоз треков, волшебник хостингов и маэстро аудиофайлов.
В искусстве обращения с контентом боту нет равных. В своем классе Фред – наилучший. Поэтому, если вам нужен не просто Discord-бот, а полноценный аудиобот, стоит присмотреться к FredBoat.
Основные возможности
FredBoat является бесплатным музыкально ориентированным приложением с множеством функций. Главная фишка бота – легкость настройки. Фреду можно перепоручить подключение к хостингам с аудиконтентом. Помощник блестяще справится, найдет и загрузит нужный.
Шустрый виртуальный диджей пробежится по ресурсам, начиная с привычного Ютуба и заканчивая Твичем. Бот не пропустит Soundcloud, Bandcamp, Vimeo, Mixer, любые ссылки на аудиотреки. Работает не только с сохраненными файлами, но и со стримами, транслируя музыку напрямую.
Искать нужные песни легко: нужно просто вбить в строку поиска название. Дальше FredBoat сам подключится к облачным хранилищам. Вовсе не обязательно загружать треки, вводить прямые ссылки. Бот разберется с файлами без помощи человека, отсортирует и подаст в готовом виде пользователям.
Допускается проигрывание в случайном порядке, микс, повтор заданного трека (всего списка воспроизведения). FredBoat одинаково эффективно справляется с музыкой как на небольших серверах, так и крупных. Модерация боту тоже по плечу. Нежелательные гости, тролли будут вычислены и нейтрализованы.
Базовая версия бота бесплатна. Для тех, кто хочет получить доступ к дополнительным функциям, существует платная подписка. Стоит она немного, 2 доллара ежемесячно. За эти деньги пользователь станет участником сообщества почитателей, спонсоров бота FredBoat Hangout. Заодно ему представится возможность формировать собственные плейлисты на Spotify.
Команды FredBoat для Discord
- «;;play url». Базовое действие, предназначенное для прямого проигрывания трека по заданной ссылке.
- «;;play words». Поиск трека на облаке (YouTube, Soundcloud).
- «;;queue». Показывает очередь воспроизведения бота.
- «;;nowplaying». Позволяет увидеть текущую проигрываемую композицию.
- «;;skip». Пропуск трека.
- «;;voteskip». Пропуск воспроизводимого файла по голосованию (должно быть не менее 50 %).
- «;;stop». Остановка плеера.
- «;;pause». Режим паузы.
- «;;resume». Возобновление воспроизведения.
- «;;join». Подключение бота к голосовому каналу.
- «;;leave». FredBoat будет отключен от голосового канала.
- «;;repeat». Повтор воспроизведения.
- «;;shuffle». Смешивание композиций, случайный порядок.
- «;;reshuffle». Отключение смешивания.
- «;;fwd time». Перемотка вперед на заданное время.
- «;;rew time». Отматывает назад на установленный промежуток времени.
- «;;seek time». Устанавливает заданное время воспроизведения.
- «;;restart». Перезапуск трека.
- «;;volume». Управление громкостью.
- «;;help command». Доступные команды.
Кроме музыкальных, у бота есть прочие возможности. Иначе бы он не был таким универсальным. Они так и называются – Non-music Commands. Раздел «Конфигурация» («Configuration») содержит действия по настройке базовых функций. Это, собственно, обращение к демонстрации текущего состояния («;;config»), показ подключенных модулей («;;modules»), выбор языка меню («;;language»). Еще есть «;;prefix», «;;admin», «;;dj».
Догадаться об их назначении не так уж сложно.
Блок «Модерация» не поражает обилием опций. Но ведь по профилю это музыкальный бот, а не админский. В категории находятся команды для назначения бана конкретным пользователям («;;hardban», «;;softban»), удаления с сервера («;;kick»). Этого вполне достаточно для модерации.
Установка на свой сервер
Чтобы добавить FredBoat на сайт, для начала переходим по ссылке: https://fredboat.com/. Меню организовано так, что пользователь обязательно осуществит подключение бота к Дискорду. В верхнем правом углу находятся кнопки «Commands», «FAQ», «Add to Discord». Можно кликнуть по «Добавить» и перейти на страницу авторизации.
Либо опуститься чуть ниже, где под блоком с иконкой ФредБота и небольшим блоком с информацией также есть 2 интерактивных панели – «Add to Discord» и «Read the docs». Нажимаем первую, оказываемся на страничке входа в Дискорд-аккаунт. До запуска бота остается пара шагов.
После успешной авторизации следует указать сервер для подключения. При открытии мессенджера FredBoat автоматически отправит приглашение. Подтверждаем, переходим в меню бота. После настройки он готов к использованию.
Как использовать
ФредБот – это, по сути, музыкальный автомат. Поэтому базовый набор команд предназначен для воспроизведения, перемешивания, перемотки треков и подобных действий. Разобраться с управлением легко даже без знания английского. Разработчик позаботился о том, чтобы снабдить FredBoat дружественным интерфейсом.
Запуск воспроизведения – «Play», остановка – «Stop». При этом можно задать название композиции. Дальше бот сам найдет ее на хостингах.
Проблемы и решения
Обычно интегрированный на сервер бот сразу же готов к использованию. При вводе команд не забываем префикс, иначе помощник их «не поймет». При проблемах с запуском бота следует перепроверить установленные роли. Возможно, ошибка скрывается там.
Источник: it-tehnik.ru
Rhythm bot для Discord
Discord заслужил славу одного из лучших мессенджеров для молодежной аудитории и поклонников онлайн-игр. Помимо поддержки видеоконференций и VoIP, сервис может похвастать возможностью интегрировать различные боты (специальные программы, обладающие искусственным интеллектом). Rythm бот для Дискорд поддерживает одновременную работу нескольких потоковых источников и считается одним из самых востребованных ботов для популярного мессенджера.
Что представляет собой
Rythm считается одним из лучших ботов для Дискорда. Он поддерживает опцию потокового воспроизведения музыкальных композиций из различных источников, в числе которых: платформа Twitch, SoundCloud и самый большой в мире видеохостинг YouTube. Уникальной особенностью бота является возможность автоматического извлечения треков из play-листов и формирования из них списка. Для воспроизведения песен можно указывать прямые ссылки на них или использовать поиск, выводящий на экран первые результаты, соответствующие запросу. Ритм показывает тексты песен и предоставляет пользователям модульную панель с широким спектром настроек.
Бот Discord под названием Rythm популярней аналога Vexera, не имеющего русской локализации и обладающего более ограниченным набором функций. Бот предназначен для работы с голосовыми каналами, для текстовых каналов предпочтительней использовать другие продукты. Приложение Rythme Music отличается следующими особенностями:
- Функция автовоспроизведения, составляющая плейлисты и выстраивающая очередность проигрывания музыкальных треков.
- Серверные префиксы позволяют менять префиксы любым персонажам из списка друзей и знакомых, зарегистрированных в Дискорде.
- Тексты песен. В боте заложено огромное количество текстов к популярным композициям, причем список постоянно пополняется.
За воспроизведение потокового аудиоконтента отвечает искусственный интеллект, позволяющий организовывать плейлисты и делиться музыкальными композициями с друзьями. Установить бота Rhythm стоит для повышения функциональности сервера и увеличения его привлекательности. Обновления бота происходят в автоматическом режиме, поэтому после инсталляции у абонента будет всегда свежая версия приложения.
Как добавить
Добавить бота на сервер можно с помощью официального сайта https://rythmbot.co посредством нажатия на кнопку «Add bot to server», расположенную внизу главной страницы.
- После выбора потребуется кликнуть по клавише «Авторизоваться» на ресурсе https://discordapp.com/login, указав адрес электронной почты и пароль.
- Затем бот автоматически появится в списке онлайн-пользователей.
- Остается вручную настроить права и ряд дополнительных параметров.
Добавление нового профиля в мессенджере Дискорд с привязкой к аккаунту в одной из социальных сетей вроде «ВКонтакте» или «Одноклассники» позволяет сэкономить свободное время. Обратиться в службу поддержки можно по адресу https://rythmbot.co/support. В том случае, если возникает необходимость в текстовом канале, стоит обратить внимание на другие боты.
Команды
Для добавления музыкальных файлов в плейлист используется строка !request, после которой размещается ссылка на SoundCloud либо Youtube.
Управлять функциями бота позволяют следующие команды:
- !skip – пропуск трека;
- !voteskip – проголосовать за пропуск композиции;
- !shuffle – перемешивание треков в play-листе;
- !volume – изменение громкости текущего трека;
- !music_play – воспроизведение музыки;
- !music pause – приостановить воспроизведение;
- !playskip – текущая песня передвигается в начало очереди;
- !clear – очистка очереди;
- !replay – сброс прогресса текущей композиции;
- !disconnect – для отключения бота от голосовых каналов;
- !loop – позволяет зациклить текущую музыкальную композицию;
- !remove – для удаления определенных записей из очереди;
- !queue – позволяет просматривать очередь;
- !removedupes – удаление дубликатов из списка композиций;
- !move – перемещение определенной песни на стартовую позицию;
- !join – призыв бота на голосовой канал;
- !leave_voice – удаление бота из голосовых чатов.
Если воспроизведение музыкальных треков не началось в автоматическом режиме, настройки можно отрегулировать с помощью голосового ввода !voice. Добавлять новые композиции на сервер удобней всего посредством команды !request. Расширенные настройки доступны через команду !settings, информацию о работе бота можно получить в меню !info.
Проверить стабильность интернет-соединения и время отклика бота Discord получится через команду !ping. Для распространения ссылок предусмотрена команда !invite. Поддержать разработчиков проекта материально можно посредством команды !donate, предоставляющей информацию о пожертвованиях.
Источник: www.allmessengers.ru