Команды для дискорд бота

Обновлено: 02.07.2024

Так-же увы, но я не буду объяснять, как создать бота и установить node.js, моя цель показать вам функционал discord.js, а не то, как делаются базовые действия бота.

Создаём папку скажем. на рабочем столе, и называем её любым названием, например это будет имя нашего бота! у меня это бот Pixi (Все права защищены, за использование названия вас приведут к ответственности!)

И так, для начала установим библиотеки!

Далее после установки данных библиотек мы можем приступить к формулировке проекта!

Для этого в консоль пишем:

Далее мы просто нажимаем enter, хотя можно ещё заполнить последнее поле.. Это автор! Указываем ваше имя на Английском.

Далее создаём файл config.json, index.js, и в файл config.json пишем:

И меняем на свои значения, префикс - это начальная точка команды, например $help, где $ выступает префиксом, а токен - это циферки и буквы которые можно получить в настройках бота), так-же токен никому нельзя говорить, иначе вашим ботом смогут управлять другие!

Далее в файле index.js пишем:

Что мы сделали можно посмотреть в подсказках, а теперь расскажу зачем нужна эта коллекция команд!

Дело в том, что по факту можно писать команды в client.on('message', message => <>, но это не правильно и именно по этому мы создаём коллекцию команд и делаем следующие действия.

После этого создаём в папке с нашим ботом ещё одну папку - commands, в этой папке и буду хранится все наши команды!

И так, давайте создадим первую команду!

Пускай это будет.. команда hi, бот будет отвечать нам привет!

И так. Создаём файл hi.js и пишем в него следующее:

Дальше запускаем бота (Переходим в консоль и идём через неё в папку с ботом и пишем node index.js) и видим.


Хорошо, у нас получилось!

В папке commands создаём ещё один файл (ping.js) и там пишем:

Далее я хочу научить вас работать с рандомными изображениями и гифками, ну и эффектами :3

Создаём файл fox.js и пишем в него следующее:

Вы сможете сделать больше рандомных картинок зная сайт. Так вот!


Далее поговорим про эффекты, это будет экран wasted на аватарке пользователя дискорд!

Создаём файл wasted.js ( Вы уже знаете где) )



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

Что это такое

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


Назначение


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

Боты для Дискорд делятся на три вида. Кратко рассмотрим их особенности:



Наиболее распространенными являются серверные Discord-боты, поэтому именно на них остановимся подробнее.

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

Много вопросов касается того, как добавить бота в Дискорд, и что делать с ним дальше. Общий алгоритм действий следующий:

  1. Найдите подходящего Дискорд-бота в Интернете. Можно использовать сайты, которые рассмотрены выше.
  2. Перейдите на официальный сайт бота, изучите информацию о нем.



  1. Выберите сервер. Перед тем как добавить бота в Discord, определитесь, на каком сервере он будет работать. Если это необходимо, сделайте новый.
  2. Задайте разрешения, которые будет иметь приложение.


  1. Авторизуйте бота Дискорд и присвойте ему роль. Последний пункт не обязателен.
  2. Создайте канал для Discord-бота (не обязательно). Он может пригодится, чтобы подавать команды или открыть доступ к управлению определенным участникам (администратору, модератору и т. д.).

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

Вот посмотрите описание некоторых из них:

  • mee6 — может исполнять роль модератора, осуществлять поиск информации в Интернете, с целью проигрывания музыки итд.
  • vexera — музыкальный помощник;
  • fredboat — тоже музыкальный помощник, есть доступ к качественной музыке;
  • juniperbot — много функций у него: прослушивание музыки, напоминания, рейтинги, модерирование;
  • unbelievaboat — получение денег, модерация;
  • Rhythm — музыкальный бот;
  • pancake — посмотрите его описание обязательно;
  • Duno — предназначен для решения комплекса задач;
  • probot — опции модерации и развлечения;
  • radio 24/7;

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


Проблемы и их решение

Если бот по какой-то причине не устанавливается или не работает в Дискорд, причин может быть несколько:

  • системные проблемы;
  • вы не являетесь администратором;
  • учетная запись не подтверждена.

Для решения проблем подтвердите профиль и войдите в качестве администратора. Если это не помогает, попробуйте перезапустить Дискорд, удалить бота и установить его заново.

Итоги

Теперь вы знаете, что такое Discord-боты, для чего они нужны, и как их поставить. Главное — не торопитесь с выбором, а ставьте только тех помощников, которые реально необходимы и будут приносить пользу на сервере.


Пользователи часто спрашивают, как создать бота в Дискорде и тем самым получить программу с необходимыми функциями. Сразу отметим, что достижение такой цели — непростая задача, а реализовать ее можно несколькими способами, к примеру, на основе discord.js, на Python или с помощью программы Discord Bot Maker.

Как создать Дискорд-бота на основе discord.js

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

Выполните следующие шаги:



  1. Введите название будущего бота Дискорд, к примеру, Music Bot.
  2. Перейдите на вкладку Bot, а после жмите на кнопку Add Bot.



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

  1. Переместитесь в раздел OAuth2 и выберите Bot в панели Scopes.


  1. Укажите необходимые разрешения для проигрывания музыки и чтения.
  2. Копируйте созданный URL и вставьте его в веб-проводник.
  3. Выберите сервер, куда нужно добавить URL.
  4. Жмите на кнопку авторизации (Authorize).



На следующем этапе нужно создать проект с применением терминала. Для этого создайте директорию и перейдите ее с помощью следующих команд — mkdir musicbot && cd musicbot. Далее сделайте следующее:

  1. Создайте модули проекта с применением nmp init.
  2. Ответьте на несколько вопросов, которые необходимы, чтобы создать бота в Дискорд.
  3. Сделайте два файла, где будет вестись работа — touch index.js && touch config.json.
  4. Откройте проект в редакторе, к примеру, с помощью VS Code с применением приказа code.
  5. Установите группу зависимостей, необходимых для дальнейшей работы — npm install discord.js ffmpeg-binaries opusscript ytdl-core –save.
  6. Продолжите создание файла на config.json. На этом этапе сохраните префикс и токен для бота.
  1. Войдите на портал создания Дискорд и копируйте токен из раздела Bot (жмите на кнопку Copy).

Теперь нужно создать код 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 =>

if (message.author.bot) return;

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

Далее проверьте команду, которую нужно активировать. Используйте следующие команды.

> else if (message.content.startsWith(`$skip`))

> else if (message.content.startsWith(`$stop`))

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

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

Здесь нужна гильдия, песня и библиотека ytdl (должна быть установлена заранее). Сделайте map с названием очереди, где будут храниться песни.

const queue = new Map();

async function execute(message, serverQueue)

const args = message.content.split(‘ ‘);

const voiceChannel = message.member.voiceChannel;

if (!permissions.has(‘CONNECT’) || !permissions.has(‘SPEAK’))

Перейдите к получению данных о песне и сохраните ее в song. Для этого потребуется ytdl-библиотека, получающая данные по ютуб-ссылке.

const songInfo = await ytdl.getInfo(args[1]);

В раздел 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)

Здесь проверяется, есть ли пользователь в голосовом канале, и имеется ли трек для пропуска.

Остановка

Опция stop подразумевает очистку массива song, удаления очереди и выхода из чата.

В этой статье я подробно расскажу о том, как работать с библиотекой discord.js, создать своего Discord-бота, а также покажу несколько интересных и полезных команд.

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

Начало работы

Если вы уже знакомы с приведёнными ниже материалами, — смело можете пролистать этот раздел.

Для начала работы с кодом нам нужно установить среду разработки, это может быть:

Среда разработки выбирается по удобству использования и практичности, она у вас может быть любая, но мы рассмотрим её на примере Visual Studio Code, так как она является одной из самых приемлемых для новичков, а также для опытных программистов.

Для установки переходим по этой ссылке.



Выбираем свою операционную систему и запускаем скачивание.

Для создания бота мы используем среду выполнения node.js. Для её установки нам необходимо перейти на этот сайт.


На данный момент нас интересует версия долгосрочной поддержки (LTS), скачиваем её.

В Visual Studio Code присутствует возможность устанавливать расширения.
Для этого, кликните по отмеченной ниже иконке.


В открывшемся окне вписываем название название/идентификатор нужного нам расширения, после чего устанавливаем его.


Из полезных расширений могу отметить:

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

Создание бота

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

Здесь всё просто. Переходим на портал разработчиков и нажимаем на кнопку с надписью «New Application» — она находится в правом верхнем углу.

В открывшемся окне вписываем имя бота, после чего, нажимаем на кнопку с надписью «Create».


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

Теперь наша задача — воплотить бота в жизнь. Для этого переходим во вкладку «Bot».


Нажимаем на кнопку с надписью «Add Bot» и воплощаем бота в жизнь.

Поздравляю! Вы создали аккаунт для вашего бота. Теперь у него есть тег, токен, ник и иконка.

Подготовка к написанию кода

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

Первым делом создаём папку, после чего открываем её в VS Code (Файл > Открыть папку) / (Ctrl + K Ctrl + O)

Далее нам нужно открыть терминал (Терминал > Создать терминал) / (Ctrl + Shift + `)


Теперь мы должны создать файл с неким «описанием» нашего бота, сделаем это через терминал.

Вписываем данную строку в терминал и нажимаем Enter:


После каждой появившейся строки нажимаем Enter или вписываем свои значения.
Значения в этом файле можно будет изменить в любой момент.

Далее, мы должны поочерёдно вводить в терминал эти строки:

«Install» также можно сокращать в «I», но необязательно.

Итого, если вы следовали инструкциям и всё сделали правильно, в вашей папке должны были появиться 3 объекта:


Написание кода

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

Существует множество вариантов для его написания: используя один файл, два, несколько, и т.д

Мы рассмотрим вариант с двумя файлами, так как его использовать очень легко и удобно, но у каждого варианта есть свои недостатки — например, у этого недостатком является сложность в написании начального кода.

Но не волнуйтесь, весь код вам писать не придётся.

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

Мы можем сделать это двумя способами:

  1. Создать отдельный файл
  2. Записать всё в константы

Разберём хранение параметров в отдельном файле.

Итак, создаем файл config.json

Вставляем в него следующий код:


* Для получения токена зайдите на портал разработчиков, перейдите во вкладку «Bot» и скопируйте его.


* Самым распространённым среди разработчиков префиксом является !

Далее нам нужно создать файл bot.js и вставить в него данный код:


Теперь создаём файл comms.js, в нём будут сами команды.

В нём должен быть следующий код:


Чтобы добавить больше команд — просто объявляйте больше функций и добавляйте их в список, например:


И вот, мы вышли на финишную прямую!

Осталось всего ничего — запустить бота.

Для этого открываем терминал и вставляем в него следующую строку:



Готово! Бот запущен и вы можете им пользоваться, ура!

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

Перейдём во вкладку OAuth2, пролистаем чуть ниже, выберем «Bot» и отметим нужные боту привилегии.


Как вывести ссылку-приглашение в терминал, при запуске бота?

Существует два способа:

    Заранее отметить нужные привилегии.


Итоговый код должен быть таким:


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


* Все привилегии указываются заглавными буквами

Список доступных привилегий:

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

Полезные и интересные команды

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

Читайте также: