Полезные боты в Discord: для музыки, голосований и модерации сообщений
Discord — один из популярных мессенджеров для удалённой работы. У него простой интерфейс и широкий набор бесплатных функций. Но одно из главных преимуществ дискорда — возможность добавлять ботов для решения разнообразных задач: от проигрывания музыки до модерации чатов. Рассказываем, что умеют делать боты в дискорде, как их установить и сколько они стоят.
Зачем вообще нужны боты в дискорде
Бот – программа, созданная, чтобы решать однотипные и повторяемые задачи по заданному алгоритму. Боты в Discord выполняют рутинные задачи, причём их скорость обработки операций существенно выше человеческой.
Бот может отправить приветствие новому участнику сообщества или напомнить о важной дате. А чтобы отыскать в чате и заблокировать сообщение с нецензурной лексикой боту потребуется всего пара секунд
Что делают боты в дискорде:
Разберём, какие именно боты решают перечисленные задачи.
Музыкальные боты
Музыкальные боты позволяют проигрывать разные треки на серверах в дискорде. Вы создаёте сервер, добавляете участников, а затем подключаете к серверу музыкального бота. Он воспроизводит песни в указанной вами последовательности, может регулировать громкость воспроизведения, делать паузы между треками и др.
Долгое время самым популярным музыкальным был Rhythm, но 15 сентября 2021 года Discord запретил его использование по требованию YouTube. Мы предлагаем альтернативы, которые не уступают заблокированному боту.
MoscowMusic
MoscowMusic — музыкальный бот на русском языке с оригинальным дизайном.
Бот MoscowMusic не требует настройки. Его основная команда – /m!help — она даёт быстрый доступ к документации и краткому описанию остальных команд.
FredBoat
FredBoat — музыкальный бот, который проигрывает в дискорде музыку в хорошем качестве.
FredBoat прост в использовании и не требует особой настройки. Он предлагает много интеграций с другими сервисами вроде YouTube, SoundCloud, Bandcamp, Twitch, Vimeo, Mixer или Spotify. FredBoat также поддерживает плейлисты и прямые трансляции.
По умолчанию он работает на английском, но команда /lang позволяет менять язык в своём сервере. Так, чтобы изменить язык на французский, введите: /lang fr_FR
Модерация сообщений и администрирование
В основе корпоративных чатов лежат правила, прописанные модератором. Для эффективного управления чатом в дискорде вы можете добавить бота. Он упростит модерирование, взяв на себя решение стандартных задач. Боты-модераторы в дискорде используют для приветствия новых участников чата, удаления спама и сообщений с нецензурной бранью, отслеживания нарушений и отправления предупреждений о блокировках. Перечисляем полезные боты для модерации сообщений и администрирования.
Lacuna
Lacuna – улучшает функциональность сервера. Предлагает простые команды с понятным описанием.
Для настройки нужно перейти на сайт, открыть вкладку «Модерирование» и выбрать блок «Автомодерирование». Там вы увидите инструменты для фильтрации ссылок, фильтрации слов, замедленной отправки сообщений и модерирования никнеймов.
ProBot
ProBot — многофункциональный бот для модерирования и администрирования. Поддерживает разные языки, в том числе русский.
Особенности. Есть два тарифа: основной и премиум. Основной тариф позволяет воспроизводить музыку и регулировать громкость, проводить разблокировку заблокированных пользователей. Тариф «Премиум» включает все перечисленные функции, а также позволяет менять имя и аватар ProBot вашего сервера.
Голосования
В дискорде нет функции для создания опросов и голосований. Но если вы хотите узнать мнение участников чата по какому-то вопросу, воспользуйтесь специальным ботом.
Simple Poll
Simple Poll — бесплатный бот для создания опросов в Discord. Умеет выполнять всего одну команду: /poll.
Если хотите задать вопрос с несколькими ответами — от одного до десяти, команду прописывайте так: /poll «Вам нравится Simple Poll? » «Очень нравится», «Нравится», «Пойдёт», «Не очень», «Совсем не нравится»
Если хотите задать вопрос, где можно ответить только «да» или «нет», так: /poll «Вам нравится Simple Poll? »
Обратите внимание: вопросы и ответы к ним всегда пишутся в кавычках.
Easy Poll
Easy Pool — помогает проводить опросы разной сложности. Вы сможете проводить простые опросы, где участники выбирают только «Да» или «Нет», или сложные — где разрешается указать до 20 вариантов ответа.
Распределение ролей
Роль в дискорде — это определённый набор разрешений на сервере. В дискорде есть 31 разрешение и все они подразделяются на группы:
Боты в дискорде позволяют автоматически присваивать участникам сервера определённые роли.
Dyno – настраиваемый бот с простой и интуитивно понятной веб-панелью управления. Дополнен модулем Autoroles, который состоит из двух частей: Autoroles и Joinable Ranks.
Yui – один из популярных ботов для модерации и распределения ролей. Изначально задумывался как музыкальный, но постепенно его функционал расширялся. Всего бот выполняет более 200 команд. С их полным списком вы можете познакомиться с помощью команды y/help.
Переводчики
Боты-переводчики помогают пользователям переводить текстовые сообщения в чатах. Они незаменимы, если участники сервера – представители разных стран, говорящие на разных языках. Боты позволяют автоматически получить перевод сообщения собеседника вместо того, чтобы самостоятельно копировать текст и пропускать его через онлайн-переводчик.
Mr Translate
Mr Translate – переводчик для дискорда, который поддерживает 70 языков. Чтобы перевести сообщение, отреагируйте на него эмодзи с флагом. Бот пришлёт перевод в следующем сообщении.
RitaBot
RitaBot — бесплатный переводчик, который помогает преодолеть языковой барьер миллионам пользователей дискорда. Есть автоматический перевод каналов, реакцию на флажки и пользовательские переводы.
RitaBot будет переводить ваши сообщения друг другу в режиме реального времени: вам приходит сообщение от другого пользователя на его языке, а следом за ним – перевод от RitaBot.
Многофункциональные боты
Многофункциональные боты берут на себя решение почти всех рутинных задач: приветствуют новых участников, назначают роли пользователям, блокируют спам. Они помогают разгрузить модераторов и улучшить пользовательский опыт. Обычно предлагают набор стандартных готовых команд, но, если их недостаточно — создавайте свои.
Наиболее популярные и простые в настройке многофункциональные помощники: MEE6, JuniperBot и Tatsumaki. Рассмотрим их более подробно.
MEE6 — многофункциональный бот с главным меню на русском языке.
Стоимость. Есть бесплатная базовая версия, а есть платные: от 11,95$ до 49,99$ за год.
Tatsumaki
Tatsumaki переводится как «Торнадо» – имя главной героини аниме «Ванпанчмен». По легенде девушка обладала разрушительной силой, могла моментально разрезать врага на части. Названный в честь неё бот Tatsumaki может похвастаться не меньшей мощью. Он предлагает множество функций, которые решают разные задачи: от проведения опросов до ввода внутренней валюты.
JuniperBot
JuniperBot — многофункциональный бот, который поддерживается русский и английский язык. Все инструменты настраиваются в удобной панели управления на сайте, поэтому вам не нужно мучиться с командами.
Основное преимущество – хорошо структурированная и интуитивно понятная панель управления. Вам не придётся тратить много времени, чтобы разобраться, как работать с ботом.
Как установить бота на сервер
Принцип добавления ботов на сервер одинаков. Рассмотрим, как добавить бота на сервер на примере JuniperBot.
Откройте страницу бота.
Нажмите кнопку «Добавить в Discord».
Войдите в свой аккаунт в дискорде.
Выберите сервер, на который хотите добавить бота, и нажмите «Продолжить».
После этого вы сможете начать настраивать нужные команды. При добавлении бота автоматически выбираются все права, которые необходимы для его корректной работы.
Коротко о главном
Боты — незаменимые помощники для решения рутинных задач. Они помогут сэкономить время и повысить эффективность управления сервером. Есть боты, которые выполняют только одну функцию, например, создают опросы. А есть и мультифункциональные — они решают сразу несколько задач, и как настоящие менеджеры берут на себя контроль за действиями участников.
Бот который создает приватные голосовые каналы в Discord
Дискорд – мессенджер, которые открывает границы общения на расстоянии. Пользователи могут объединяться в группы, и общаться с выбранными участниками. Несмотря на то, что в современном мире пользователи предпочитают использовать текстовые варианты общения, всегда лучше личное общение. И голосовые каналы в рамках программы дают возможность иметь такой вид общения. Но для оптимизации работы голосового канала требуется много времени и сил, и часть работы можно положить на бота.
Что такое VoiceMaster?
VoiceMaster – автоматический помощник, который разработан для того, чтобы создавать временные голосовые каналы. Пользователи могут обмениваться голосовыми сообщениями, или совершать звонки в рамках каналов, чтобы обмениваться оригинальными идеями, или просто приятно проводить время. Преимущество использования бота в том, что если созданный голосовой канал становится пустым, то он автоматическим образом удаляется. Помимо основополагающей опции в работу автоматического помощника вложено множество полезных инструментов. По сути, пользователи просто могут передать управление голосовыми каналами робота, и заниматься развитием другие сторон сервера.
Для того, чтобы начать работу с роботом, следует войти на официальную страницу, и просто загрузить бота. После добавления на сервер, можно настроить работу для оптимального функционирования.
Функционал и возможности
VoiceMaster – автоматический помощник, который дооснащен большим числом полезных опций и инструментов, чтобы пользователи могли понять преимущества использования бота. При помощи робота клиенты программы могут отдать часть работы. Опции бота в рамках программы Дискорд:
Команды для управления ботом
Бот выполняет стандартный набор опций для упрощения работы в рамках программы Дискорд. Пользователи по собственному желанию могут управлять автоматическим помощником при помощи разработанного набора команд:
Создание Discord-бота, используя библиотеку discord.js | Часть №1
Введение
В этой статье я подробно расскажу о том, как работать с библиотекой discord.js, создать своего Discord-бота, а также покажу несколько интересных и полезных команд.
Сразу хочу отметить, что я планирую сделать ряд подобных статей, начиная с простых команд, заканчивая музыкой, системой экономики и распознаванием голоса ботом.
Начало работы
Если вы уже знакомы с приведёнными ниже материалами, — смело можете пролистать этот раздел.
Для начала работы с кодом нам нужно установить среду разработки, это может быть:
Среда разработки выбирается по удобству использования и практичности, она у вас может быть любая, но мы рассмотрим её на примере Visual Studio Code, так как она является одной из самых приемлемых для новичков, а также для опытных программистов.
Для установки переходим по этой ссылке.
Выбираем свою операционную систему и запускаем скачивание.
Для создания бота мы используем среду выполнения node.js. Для её установки нам необходимо перейти на этот сайт.
На данный момент нас интересует версия долгосрочной поддержки (LTS), скачиваем её.
В Visual Studio Code присутствует возможность устанавливать расширения.
Для этого, кликните по отмеченной ниже иконке.
В открывшемся окне вписываем название название/идентификатор нужного нам расширения, после чего устанавливаем его.
Из полезных расширений могу отметить:
Создание бота
Теперь, когда вы установили все нужные компоненты, мы можем приступить к созданию самого бота.
Здесь всё просто. Переходим на портал разработчиков и нажимаем на кнопку с надписью «New Application» — она находится в правом верхнем углу.
В открывшемся окне вписываем имя бота, после чего, нажимаем на кнопку с надписью «Create».
На этой странице мы можем изменить имя бота, загрузить для него иконку, заполнить описание.
Теперь наша задача — воплотить бота в жизнь. Для этого переходим во вкладку «Bot».
Нажимаем на кнопку с надписью «Add Bot» и воплощаем бота в жизнь.
Поздравляю! Вы создали аккаунт для вашего бота. Теперь у него есть тег, токен, ник и иконка.
Подготовка к написанию кода
После создания аккаунта для бота, мы должны установить нужные пакеты и модули, чтобы в дальнейшем он корректно работал.
Первым делом создаём папку, после чего открываем её в VS Code (Файл > Открыть папку) / (Ctrl + K Ctrl + O)
Далее нам нужно открыть терминал (Терминал > Создать терминал) / (Ctrl + Shift + `)
Теперь мы должны создать файл с неким «описанием» нашего бота, сделаем это через терминал.
Вписываем данную строку в терминал и нажимаем Enter:
После каждой появившейся строки нажимаем Enter или вписываем свои значения.
Значения в этом файле можно будет изменить в любой момент.
Далее, мы должны поочерёдно вводить в терминал эти строки:
«Install» также можно сокращать в «I», но необязательно.
Итого, если вы следовали инструкциям и всё сделали правильно, в вашей папке должны были появиться 3 объекта:
Написание кода
Для того, чтобы наш бот появился в сети и мог реагировать на команды, нам нужно написать для него код.
Существует множество вариантов для его написания: используя один файл, два, несколько, и т.д
Мы рассмотрим вариант с двумя файлами, так как его использовать очень легко и удобно, но у каждого варианта есть свои недостатки — например, у этого недостатком является сложность в написании начального кода.
Но не волнуйтесь, весь код вам писать не придётся.
Для начала, нам нужно где-то хранить основные параметры и информацию о боте.
Мы можем сделать это двумя способами:
Разберём хранение параметров в отдельном файле.
Итак, создаем файл config.json
Вставляем в него следующий код:
* Для получения токена зайдите на портал разработчиков, перейдите во вкладку «Bot» и скопируйте его.
* Самым распространённым среди разработчиков префиксом является !
Далее нам нужно создать файл bot.js и вставить в него данный код:
Теперь создаём файл comms.js, в нём будут сами команды.
В нём должен быть следующий код:
Чтобы добавить больше команд — просто объявляйте больше функций и добавляйте их в список, например:
И вот, мы вышли на финишную прямую!
Осталось всего ничего — запустить бота.
Для этого открываем терминал и вставляем в него следующую строку:
Готово! Бот запущен и вы можете им пользоваться, ура!
Чтобы пригласить бота на свой сервер, воспользуемся нам уже известным порталом разработчиков.
Перейдём во вкладку OAuth2, пролистаем чуть ниже, выберем «Bot» и отметим нужные боту привилегии.
Теперь осталось скопировать ссылку-приглашение и добавить бота на свой сервер.
Существует два способа:
Для этого, сначала мы должны скопировать ссылку-приглашение.
После чего перейти в файл bot.js и вставить данную строчку кода сюда:
Итоговый код должен быть таким:
Чтобы указать несколько привилегий, мы должны перечислить их в квадратных скобках, через запятую:
* Все привилегии указываются заглавными буквами
Список доступных привилегий:
ADMINISTRATOR
CREATE_INSTANT_INVITE
KICK_MEMBERS
BAN_MEMBERS
MANAGE_CHANNELS
MANAGE_GUILD
ADD_REACTIONS
VIEW_AUDIT_LOG
PRIORITY_SPEAKER
STREAM
VIEW_CHANNEL
SEND_MESSAGES
SEND_TTS_MESSAGES
MANAGE_MESSAGES
EMBED_LINKS
ATTACH_FILES
READ_MESSAGE_HISTORY
MENTION_EVERYONE
USE_EXTERNAL_EMOJIS
VIEW_GUILD_INSIGHTS
CONNECT
SPEAK
MUTE_MEMBERS
DEAFEN_MEMBERS
MOVE_MEMBERS
USE_VAD
CHANGE_NICKNAME
MANAGE_NICKNAMES
MANAGE_ROLES
MANAGE_WEBHOOKS
MANAGE_EMOJIS
Я не советую вам из привилегий выбирать только ADMINISTRATOR, поэтому лучше указать только те привилегии, которые бот действительно использует для корректной работы
Полезные и интересные команды
В предыдущем разделе я показал вам, как запустить бота и как писать для него команды.
Теперь я хочу поделиться с вами несколькими своими командами.
Не стоит пугаться большого кода, здесь всё предельно просто.
Заключение
Вот и подошла к концу первая часть обучения, как вы могли заметить, создать бота, используя библиотеку discord.js очень просто.
Итого, из этой статьи мы выяснили:
Надеюсь, что вам понравилась моя статья и вы узнали из неё что-то новое.
Создание простого Discord бота с помощью библиотеки discord.py
Асинхронная библиотека discord.py содержит все что нужно для бота, с помощью нее даже можно работать с голосовыми каналами сервера. В этой статье я расскажу как создать простенького бота для вашего discord сервера.
Получение токена и Client ID для вашего бота
Для получения токена и ID бота небходимо создать свое приложение и в разделе General Information скопировать Client ID.
А в разделе настроек создать бота и скопировать его токен. Задача не сложная, думаю все с этим справятся.
Собственно пишем бота
Устанавливаем discord.py с помощью pip:
После успешной установки создаем файл bot.py, где будем писать бота.
Импортируем все необходимое:
Создаем переменную с вашим токеном, про который я писал выше:
Для начала сделаем простенькую команду, аргумент которой бот будет просто пересылать:
И в конце запускаем бота с вашим токеном:
В итоге должно получится вот такое:
Теперь необходимо добавить бота на сервер. Сделать это можно с помощью ссылки:
Число необходимых прав можно получить в разделе настроек бота.
Теперь можно запускать бота:
После нескольких секунд, можно заметить его в сети:
И наконец-то попробовать отправить команду:
Заключение
Вот так можно легко запустить у себя на сервере бота. Как можно заметить библиотека делает практически все за тебя и остается только добавлять свой функционал с использованием python. В следующий раз я покажу как следить за событиями, подключатся к голосовым каналам (избегая проблем с linux и Windows), использовать роли и права участников и другое.
Как сделать бота в Discord
Пользователи часто спрашивают, как создать бота в Дискорде и тем самым получить программу с необходимыми функциями. Сразу отметим, что достижение такой цели — непростая задача, а реализовать ее можно несколькими способами, к примеру, на основе discord.js, на Python или с помощью программы Discord Bot Maker.
Как создать Дискорд-бота на основе discord.js
На практике API Discord представляет собой удобный инструмент, позволяющий создать, а впоследствии использовать бота. С его помощью легко разработать помощника для решения разных задач, а далее задать необходимый набор команд. Для примера рассмотрим общий алгоритм создания бота для музыки. При правильном подходе он сможет проигрывать, пропускать и останавливать музыкальные файлы. Кроме того, в его функции будет входить поддержка очереди на проигрывание мелодии.
Выполните следующие шаги:

Этих действий достаточно, чтобы создать бота Дискорд, после чего нужно его добавить на сервер с помощью OAuth2 URL-генератора. Сделайте следующие шаги:

На следующем этапе нужно создать проект с применением терминала. Для этого создайте директорию и перейдите ее с помощью следующих команд — mkdir musicbot && cd musicbot. Далее сделайте следующее:
Теперь нужно создать код javascript. Для этого копируйте следующие зависимости:
const Discord = require(‘discord.js’);
const ytdl = require(‘ytdl-core’);
После этого нужно создать с применением токена клиент и логин.
const client = new Discord.Client();
Далее добавьте несколько listeners, которые выполняют console.log при пуске.
После этого начните работать с ботом Дискорд с применением node. Важно, чтобы вновь созданный Discord-бот был онлайн. В консоли появится Ready!. Команда — node index.js.
Задание команд для бота Дискорд
Теперь остается задать необходимые команды.
Для чтения сообщений
Чтобы Дискорд-бот мог читать, напишите функцию.
client.on(‘message’, async message => <
Далее сделайте listener для massage-события, получите сообщение и сохраните его в massage. Если информация пришла от бота Дискорд, игнорируйте ее. Выполните проверку с помощью следующей команды.
if (message.author.bot) return;
Если сообщение вернулось, значит, его смог создать бот. Теперь проверьте, с какого префикса оно начинается.
if (!message.content.startsWith(prefix)) return;
Далее проверьте команду, которую нужно активировать. Используйте следующие команды.
> else if (message.content.startsWith(`$
> else if (message.content.startsWith(`$
message.channel.send(‘You need to enter a valid command!’)
После получения списка команд, которые можно запустить, переходите к их созданию.
Добавление песен
Здесь нужна гильдия, песня и библиотека ytdl (должна быть установлена заранее). Сделайте map с названием очереди, где будут храниться песни.
const queue = new Map();
Теперь создайте async0-функцию с названием 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);
return message.channel.send(‘I need the permissions to join and speak in your voice channel!’);
Перейдите к получению данных о песне и сохраните ее в song. Для этого потребуется ytdl-библиотека, получающая данные по ютуб-ссылке.
const songInfo = await ytdl.getInfo(args[1]);
Необходимые данные сохраняются в song. Теперь нужно создать контракт, обеспечивающий добавление в очередь. Проверьте факт определения serverQueue (проигрывание музыки), а после отправьте сообщение о достижении результата. Если это не удалось сделать, нужно его создать и соединиться с голосовым каналом и начать играть песню.
return message.channel.send(`$
В раздел serverQueue, если он пустой, добавьте трек. В случае, когда serverQueue имеет параметр null, сделайте контракт.
// Creating the contract for our queue
// Setting the queue using our contract
// Pushing the song to our songs array
// Here we try to join the voicechat and save our connection into our object.
var connection = await voiceChannel.join();
// Calling the play function to start a song
// Printing the error message if the bot fails to join the voicechat
Проигрывание трека
Теперь нужно создать опцию play для бота Дискорд с параметрами гильдия и песня, а также проверкой объекта song.
function play(guild, song) <
const serverQueue = queue.get(guild.id);
Если да, нужно уйти с голосового канала и удалить очередь.
Далее трек играет с применением URL и playStream.
const dispatcher = serverQueue.connection.playStream(ytdl(song.url))
// Deletes the finished song from the queue
// Calls the play function again with the next song
Здесь создается stream, а его 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!’);
Здесь проверяется, есть ли пользователь в голосовом канале, и имеется ли трек для пропуска.
Остановка
Опция stop подразумевает очистку массива song, удаления очереди и выхода из чата.
function stop(message, serverQueue) <
if (!message.member.voiceChannel) return message.channel.send(‘You have to be in a voice channel to stop the music!’);
Полный код бота для Дискорд
const Discord = require(‘discord.js’);
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);
> else if (message.content.startsWith(`$
> else if (message.content.startsWith(`$
message.channel.send(‘You need to enter a valid command!’)
async function execute(message, serverQueue) <





















