Как сделать модерацию в боте дискорд
Любой, кто находится в сети, знаком с Discord. Он бесплатный и простой в использовании, что позволяет вам создавать социальную онлайн-среду без необходимости знать что-либо, кроме имен пользователей вашего компаньона.
Команды так же просты в использовании, как и сама программа: просто введите правильный код в окно чата сервера, добавьте любой необходимый префикс — и готово!
Список команд в чате Discord
Основные команды чата Discord не очень продуманы, но они должны помочь вам немного улучшить работу с Discord. Они не требуют использования бота, и если вы хотите увидеть полный список, введите ‘/’ в чат сервера. Оттуда просто нажмите на тот, который вам нужен!
/giphy [текст] — ищет на сайте Giphy анимированный GIF.
/me [text] — «Отображает текст с выделением».
/nick — «Меняет ник на этом сервере».
/shrug — Вставляет этот фрагмент ASCII-арта «¯ \ _ (ツ) _ / ¯» в канал.
/tableflip — Вставляет этот фрагмент ASCII-арта «(╯ ° □ °) ╯︵ ┻━┻» в канал.
/unflip — Вставляет этот фрагмент ASCII-арта «┬─┬ ノ (゜ — ゜ ノ)» в канал.
/tenor [текст] — ищет на сайте Tenor анимированный GIF.
Команды модерации и поиска MEE6 Bot
MEE6 — популярный робот-модератор чата Discord. Для многих пользователей, которые присоединятся к своему первому серверу Discord или голосовому чату, MEE6 станет первым дружелюбным лицом, с которым они столкнутся.
MEE6 имеет всевозможные функции, позволяя пользователям использовать MEE6 как для модерации, так и для поиска. Команды модерации дают администраторам серверов возможность поддерживать закон и порядок в своих различных каналах. Команды поиска предписывают MEE6 сканировать различные базы данных в поисках записей, изображений, видео и информации.
Кроме того, панель управления MEE6 позволяет пользователям программировать свои собственные команды для ботов.
Команды модерации бота MEE6
MEE6 предлагает набор основных команд модерации чата:
!ban [пользователь] [необязательная причина] — Используется для изгнания одного участника с сервера Discord. Не то, чтобы его можно было взять, но часто необходимое оружие в арсенале любого модератора.
!tempban [участник] [продолжительность] [необязательная причина] — используется для изгнания одного участника с сервера Discord на ограниченный период времени.
!mute [участник] [необязательная причина] — Используется для отключения звука участника, чтобы он не мог участвовать в различных каналах.
!tempmute [участник] [продолжительность] [необязательная причина] — используется для отключения звука участника, чтобы он не мог участвовать в различных каналах в течение ограниченного периода времени.
!unmute [member] — используется для отмены команды отключения звука.
!clear [необязательный член] [необязательный счетчик] — используется для очистки вкладов в определенном канале.
!infractions [member] — Используется, чтобы показать, сколько нарушений имеет конкретный участник против них.
! kick [участник] [необязательная причина] — Используется для удаления пользователя с сервера. Более-менее похоже на бан, но они смогут присоединиться позже.
! slowmode [необязательный тайм-аут] [необязательно выключен] — Используется для включения или выключения медленного режима на определенном канале.
!warn [участник] [необязательная причина] — Используется для предупреждения пользователя о том, что он нарушает правила и вызывает нарушение.
Команды поиска ботов MEE6
Мало того, MEE6 предлагает набор потрясающих команд поиска, позволяющих извлекать информацию обо всем, от покемонов до стримеров Twitch, или вставлять видео и изображения YouTube. Вот полный список команд.
!anime [поисковый запрос] — Используется для поиска аниме на Kitsu.
!imgur [поисковый запрос] — Используется для поиска мемов на Imgur.
!manga [поисковый запрос] — Используется для поиска манги на Kitsu.
!pokemon [поисковый запрос ] — Используется для поиска покемонов в Pokeapi Pokedex.
!twitch [поисковый запрос] — Используется для поиска канала на Twitch.
!urban [поисковый запрос] — используется для поиска сленговых словечек в Городском словаре.
!youtube [поисковый запрос] — используется для поиска видео на YouTube.
Программирование пользовательских команд MEE6
Программировать собственные команды MEE6 поразительно просто. Он не требует знания Python или синтаксиса и встроен в вашу панель управления MEE6. Но на всякий случай, если вы никогда не делали этого раньше, я здесь, чтобы дать вам быстрый урок
- Войдите в панель управления MEE6 со своей учетной записью Discord.
- Выберите сервер, на котором вы хотите применить новую настраиваемую команду, нажав кнопку «Перейти к панели управления».
- Выберите вариант «Пользовательские команды», который предлагает вам «добавить потрясающие пользовательские команды на ваш сервер».
- Коснитесь параметра «Создать команды» и выберите «Создать команду» в появившемся меню.
- Введите имя команды после восклицательного знака, это будет ваш код для активации команды. Главный совет: чем короче и запоминается, тем лучше!
- Введите текст, которым должен ответить бот. Вы также можете добавить дополнительные свойства, чтобы контролировать, кто может его использовать, на каких каналах и как часто.
- Нажмите «Добавить».
Команды модерации и новизны Dyno Bot в Discord
Если MEE6 — самый любимый модератор чата в Discord, то Dyno вероятно самый полезный из них. Это, наверное, и самое интересное.
Dyno предлагает команды модерации, аналогичные Dyno, но с большей и более сложной базой данных функций. Тем не менее, где Dyno действительно сияет, так это в новинках. Поверь мне, тебе очень захочется их похвастаться.
Команды модерации Dyno Bot
Бот Dyno Discord предлагает самый полный набор команд модерации на платформе, позволяющий вам контролировать каналы вашего сервера — даже с самыми коварными рапскальонами.
?modlogs [пользователь] — используется для получения списка журналов модератора для указанного пользователя.
?note [пользователь] [текст] — используется для создания заметки о конкретном пользователе.
?notes [пользователь] — используется для просмотра заметок, созданных о конкретном пользователе.
?clearnotes [пользователь] — используется для удаления всех заметок, созданных о конкретном пользователе.
?warn [пользователь] [причина] — используется, чтобы предупредить участника о том, что его поведение может нарушить правила сервера.
?warnings [пользователь] — используется для просмотра предупреждений, полученных указанным участником. Он сообщит вам, имеете ли вы дело с преступником, совершившим впервые, или с опытным преступником.
?mute [пользователь] [ограничение] [причина] — используется, чтобы запретить пользователю участвовать в различных каналах сервера.
?unmute [пользователь] [причина] — используется для повторного разрешения пользователю участвовать в различных каналах сервера.
?undeafen [пользователь] — используется для снятия защиты с пользователя.
?kick [пользователь] [причина] — используется для удаления пользователя с сервера.
?ban [пользователь] [лимит] [причина] — Используется для блокировки участника сервера, возможность ограничения на определенный период.
?unban [пользователь или идентификатор] [причина] — используется для разблокировки участника сервера.
?addmod [роль ] — Добавить пользователя в роль модератора.
?members [роль] — используется для перечисления до 90 участников с указанной ролью.
Команды Dyno Bot для новинок
Однако бот Dyno Discord помогает не только модерировать ваш сервер. Dyno — это тоже очень весело! Вот полный список новых команд Dyno:
?cat — генерирует случайное изображение очаровательной кошки из Интернета, которое Dyno немедленно публикует на канале.
?country [код страны] — используется для получения статистики по конкретной стране, включая население, столицу и валюту.
?dadjoke — используется для извлечения случайной отцовской шутки, которая автоматически публикуется в канале. Гарантированно будет настолько же увлекательным, насколько и несмешным!
?dog — генерирует случайное изображение очаровательной собаки из Интернета, которое Dyno немедленно публикует на канале.
?flip — Используется для подбрасывания монеты между орлом и решкой.
?github [имя репозитория] — используется для генерации информации о конкретном репозитории Github.
?itunes [название песни] — используется для получения основной информации о песне, включая имя исполнителя и альбом, из которого она принадлежит.
?norris — используется для генерации случайного факта о Чаке Норрисе. 100% правда в стиле техасских рейнджеров.
?pokemon [имя] — используется для получения основной информации о покемоне, включая способности, тип, вес и рост.
?pug — Создает случайное очаровательное изображение мопса из Интернета, которое Dyno немедленно публикует на канале.
?roll [размер кубика, количество сторон или количество кубиков] — используется для броска кубика или количества кубиков в канале.
?rps [выбор] — Используется для игры в камень-ножницы-бумага с ботом Dyno.
?space — используется для получения информации о Международной космической станции.
Разные команды Dyno Bot
Но это еще не все. Бот Dyno также предлагает ряд других команд, столь же простых, сколь и случайных:
?afk — используется для установки статуса «вне клавиатуры», который может отображаться всякий раз, когда упоминается ваше имя.
?afk set [status] — Используется для отображения статуса «вне клавиатуры», который также может отображаться в вашем нике.
?afk ignore [канал] — Используется, чтобы не возвращаться из вашего статуса «вне клавиатуры» при разговоре по каналу.
?avatar [пользователь] — используется для создания увеличенной версии изображения аватара пользователя в чате. Хотите знать, как кто-то действительно выглядит? Это команда для вас!
?color [шестнадцатеричное число] — используется для поиска информации о конкретном шестнадцатеричном числе цвета.
?dynoav — Используется для немедленного создания аватара, похожего на Dynoav.
?randomcolor — Генератор случайного шестнадцатеричного цвета, который ваши коллеги-покровители могут наблюдать в канале.
?remindme 09:13:52 PM [остаток] — Создает напоминание в определенном канале.
?whois [упоминание пользователя] — извлекает информацию о конкретном пользователе на сервере, в том числе о том, как долго он был участником, когда была создана его учетная запись и есть ли у него какие-либо роли на сервере.
?distance [координаты] [координаты] — используется для вычисления расстояния между двумя наборами координат.
?Дискриминатор [4 члена] — создает список пользователей, у которых есть определенный номер дискриминатора Discord.
?membercount — генерирует общее количество пользователей на определенном сервере.
?serverinfo — Получает общую информацию о сервере, включая номера участников, количество каналов и текущее количество людей в сети и активных.
•emotes — Создает полный список всех смайликов и эмоций для конкретного сервера.
В этой статье я подробно расскажу о том, как работать с библиотекой 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 объекта:
Написание кода
Для того, чтобы наш бот появился в сети и мог реагировать на команды, нам нужно написать для него код.
Существует множество вариантов для его написания: используя один файл, два, несколько, и т.д
Мы рассмотрим вариант с двумя файлами, так как его использовать очень легко и удобно, но у каждого варианта есть свои недостатки — например, у этого недостатком является сложность в написании начального кода.
Но не волнуйтесь, весь код вам писать не придётся.
Для начала, нам нужно где-то хранить основные параметры и информацию о боте.
Мы можем сделать это двумя способами:
- Создать отдельный файл
- Записать всё в константы
Разберём хранение параметров в отдельном файле.
Итак, создаем файл 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
Полезные и интересные команды
В предыдущем разделе я показал вам, как запустить бота и как писать для него команды.
Теперь я хочу поделиться с вами несколькими своими командами.
Не стоит пугаться большого кода, здесь всё предельно просто.
Заключение
Вот и подошла к концу первая часть обучения, как вы могли заметить, создать бота, используя библиотеку discord.js очень просто.
Так-же увы, но я не буду объяснять, как создать бота и установить 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-бота с нуля, используя Node.js и библиотеку Discord.js, которая позволяет пользователям напрямую взаимодействовать с Discord API. Мы настроим профиль для Discord-бота, получим для него токены аутентификации и реализуем в боте возможность обработки команд с аргументами от пользователей.
Что вам для этого понадобится
Прежде чем вы начнете, вам понадобится следующее:
Node.js, установленный на вашем компьютере. Чтобы установить его на macOS или Ubuntu 20.04, выполните действия, перечисленные в ”Как установить Node.js и создать локальную среду разработки в macOS” или в разделе “Установка Node.js посрдством Apt с помощью NodeSource PPA” руководства ”Как установить Node.js в Ubuntu 20.04”.
Бесплатный Discord-аккаунт, подтвержденный по электронной почте, и бесплатный Discord-сервер, который мы будем использовать для тестирования нашего Discord-бота.
Шаг 1 - Настройка Discord-бота
На этом этапе мы будем использовать GUI Discord для разработчиков, чтобы настроить Discord-бота и получить для него токен, который вы будете использовать в своей программе.
Чтобы зарегистрировать бота на платформе Discord, используйте Discord application dashboard (панель управления приложением). В ней разработчики могут создавать Discord-приложения, в частности - Discord-ботов.
Чтобы начать, кликните New Application. Discord попросит вас ввести имя для вашего нового приложения. Далее кликните Create, чтобы создать приложение.
Примечание: Имя вашего бота не зависит от имени приложения, т.е. имя бота не обязательно должно совпадать с именем приложения.
Теперь откройте панель управления вашего приложения. Чтобы добавить бота в приложение, перейдите на вкладку Bot на навигационной панели слева.
Чтобы добавить бота в приложение, нажмите кнопку Add Bot. Кликните Yes, do it!, когда появится диалог подтверждения. После этого вы попадете в панель управления, содержащую сведения об имени вашего бота, токен аутентификации и изображение профиля.
Вы можете изменить имя или изображение профиля своего бота здесь, в этой панели управления. Вам также необходимо получить токен аутентификации бота, кликнув Click to Reveal Token и скопировав появившийся токен.
Предупреждение: никогда ни с кем не делитесь и никуда не публикуйте токен вашего бота, так как он позволяет любому, кто им обладает, получить доступ к вашему боту.
Теперь вам нужно создать инвайт для добавления бота в Discord-гильдию, где вы сможете его тестировать. Сначала перейдите на страницу URL Generator во вкладке OAuth2 панели управления приложением. Чтобы создать инвайт, проскрольте вниз и выберите bot в scopes. Вам также следует установить разрешения (permissions), чтобы контролировать, какие действия ваш бот может выполнять в гильдиях. В рамках этого руководства мы выберем Administrator, что даст вашему боту права на выполнение почти всех возможных действий в гильдиях. Скопируйте ссылку с помощью, нажав на кнопку Copy.
Затем добавьте бота на сервер. Перейдите по только что созданной ссылке-инвайту. В раскрывающемся меню вы можете добавить бота на любой сервер, которым вы владеете или на котором имеете права администратора.
Теперь нажмите Continue. Убедитесь, что у вас установлен флажок рядом с Administrator - это предоставит боту права администратора. Затем нажмите Authorize. До того, как бот присоединится к серверу, Discord попросит вас заполнить капчу. После этого бот должен появиться в offline в списке участников на сервере, на который вы его добавили.
Вы успешно создали Discord-бота и добавили его на сервер. Далее мы напишем программу для логина в бот.
Шаг 2 - Создание вашего проекта
На этом шаге мы настроим базовую среду разработки, в которой вы напишете код своего бота и залогинитесь в него программным способом.
Во-первых, вам нужно создать папку проекта и необходимые файлы для бота.
Создайте папку своего проекта:
Перейдите в папку проекта, которую вы только что создали:
Затем с помощью текстового редактора создайте файл с именем config.json , где будет храниться токен аутентификации вашего бота:
Добавьте следующий код в полученный файл конфигурации, заменив выделенный текст на токен аутентификации вашего бота:
Сохраните и закройте файл.
Затем вам нужно создать файл package.json , в котором будут храниться сведения о вашем проекте и зависимостях, которые вы будете для него использовать. Создайте файл package.json , выполнив следующую npm-команду:
npm запросит у вас различные сведения о вашем проекте. Если вам нужна помощь в заполнении этих сведений, вы можете почитать об этом в разделе “Как использовать модули Node.js с npm и package.json”.
Теперь вам нужно установить пакет discord.js , который вы будете использовать для взаимодействия с Discord API. Вы можете установить discord.js через npm с помощью следующей команды:
Когда вы настроили файл конфигурации и установили необходимую зависимость, вы готовы приступить к созданию своего бота. В реальном приложении, если бот большой, то он будет разделен на множество файлов, но в этом руководстве весь код вашего бота будет написан в одном файле.
Сначала создайте файл с именем index.js в папке discord-bot:
Начнем код бота с требования зависимости discord.js и файл конфигурации с токеном:
После этого добавьте следующие две строки кода:
Сохраните и закройте файл.
Вторая строка кода использует метод login для входа в созданный вами Discord-бот, используя токен из файла config.json в качестве пароля. Токен позволяет Discord API узнать, для какого бота предназначена программа, и что вы прошли аутентификацию для использования этого бота.
Теперь запустите файл index.js с помощью Node:
Статус вашего бота на Discord-сервере, на который вы его добавили, изменится на online.
Шаг 3 - Обработка вашей первой пользовательской команды
На этом шаге вы создадите бота, который может обрабатывать пользовательские команды. Вы реализуете свою первую команду ping , которая будет отвечать "pong" и временем, которое потребовалось для ответа на команду.
Сначала откройте свой файл:
Добавьте в файл следующий код:
Добавьте следующую строку кода в свою функцию обработки команд:
Теперь мы напишем обработчик команд. Для этого нужно понимать формат команды Discord. Обычно команда Discord состоит из трех частей в следующем порядке: префикс, имя команды и (иногда) аргументы команды.
Имя команды: имя команды, которую хочет использовать пользователь. Это означает, что бот может поддерживать несколько команд с разной функциональностью и позволяет пользователям выбирать между ними, указывая соответствующее имя команды.
Аргументы: иногда, если команда использует или даже требует дополнительную информацию от пользователя, пользователь может указать аргументы после имени команды, где этом каждый аргумент отделяется пробелом.
Примечание: Нет унифицированной жесткой структуры команд, и боты могут обрабатывать команды так, как вам хочется, но представленная здесь структура является эффективной, и ее использует подавляющее большинство ботов.
В первой строке кода мы присваиваем константе prefix значение "!" , которое будет использоваться в качестве префикса команды.
Третья строка удаляет первый элемент из массива args (он станет именем полученной команды), преобразует его в нижний регистр и затем назначает его константе command . Это позволяет вам изолировать имя команды и оставить в массиве только аргументы. Вы также следует использовать метод toLowerCase , поскольку команды в Discord-ботах обычно нечувствительны к регистру.
Добавьте следующий код для команды ping :
Этот if-оператор проверяет, совпадает ли имя команды, которое вы распарсили (присвоенное константе command ), с "ping" . Если совпадает, то это означает, что пользователь хочет использовать команду "ping" . В подобной примитивной реализации код для конкретной команд вы можете просто обернуть в блок if-оператора. Делайте тоже самое и для других команд, которые хотите реализовать.
Теперь вы можете написать код для команды "ping" :
Сохраните и закройте файл.
На этом реализация команды "ping" закончена.
Запустите своего бота с помощью следующей команды (в той же папке, что и index.js ):
Вы успешно создали бота, который может обрабатывать пользовательские команды, и реализовали свою первую команду. На следующем шаге мы научим бота выполнив команду sum.
Шаг 4 - Реализация команды Sum
Теперь мы расширим программу командой "!sum" . Команда примет любое количество аргументов, сложит их, а потом вернет пользователю сумму всех аргументов.
Если Discord бот все еще работает, вы можете остановить его процесс с CTRL + C .
Снова откройте файл index.js :
Для реализации команды "!sum" мы будем использовать блок else-if . После проверки имени команды на равенство ping он проверит, совпадает ли оно с "sum". Мы используем блок else-if , поскольку одновременно будет обрабатываться только одна команда, т.е., если программа получит команду "ping" , ей не нужно проверять, что это была команда "sum" . Добавьте в файл следующие выделенные строки:
Приступим к написанию кода команды "sum" . Код для команды "sum" будет расположен в только что созданном вами блоке else-if . Добавьте следующий код:
Мы используем метод map на списке аргументов, чтобы создать новый список, используя функцию parseFloat для каждого элемента в массиве args . Это создаст новый массив (присвоенный константе numArgs ), в котором все элементы являются числами, а не строками. Это означает, что позже вы сможете успешно найти сумму этих чисел, сложив их вместе.
Вторая строка использует метод reduce на константе numArgs , которая суммирует все элементы в списке. Мы присваиваем сумму всех элементов в numArgs константе sum .
Затем мы используем метод reply , чтобы ответить по аналогии с предыдущей командой.
На этом реализация команды "sum" завершена. Теперь запустим бота, используя следующую команду (в той же папке, что и index.js ):
Ниже представлена полная версия index.js бота:
Заключение
Вы успешно создали Discord-бота, который может обрабатывать несколько разных пользовательских команд с аргументами. Если вы хотите расширить возможности своего бота, вы могли бы реализовать больше команд или опробовать другие части Discord API. Рекомендую вам почитать документацию Discord.js и Discord API, чтобы углубить свои знания о Discord API. В частности, вы можете преобразовать свои команды своего бота в слэш-команды, что является лучшей практикой для Discord.js v13.
Создавая Discord-ботов, вы всегда должны помнить об условиях обслуживания Discord API, в которых описывается, как разработчики должны использовать Discord API. Если вы хотите узнать больше о Node.js, ознакомьтесь с нашей серией статей How To Code in Node.js.
Перевод статьи подготовлен в преддверии старта специализации Fullstack developer, а также курса Node.js Developer.
В Дискорде упростить процесс взаимодействия с участниками помогают боты. Они расширяют функционал мессенджера, выполняя определенные команды. Боты добавляют на сервис информационные и другие функции. Их создают самостоятельно, либо скачивают с официальных сайтов. Рассмотрим, для чего нужны боты, каким их установить, и как ими управлять.
Для чего нужен бот в Дискорде, и как его используют правильно
Боты существуют разных видов. В зависимости от этого они выполняют разные функции. Среди наиболее распространенных:
Как установить бота на сервер
Для того чтобы пользоваться всеми возможностями бота и управлять им, сначала установите его на сервер в Discord, следуя инструкции:
- Зайдите на официальный сайт нужного бота.
- Ознакомьтесь с его функционалом.
- Нажмите на кнопку «Add to server» или «Invite Bot».
- Выберите сервер, куда хотите добавить бота.
- Зайдите в Дискорд и убедитесь, что электронный помощник уже установлен.
- Задайте ему команду.
Обратите внимание! Загружать бот на сервер и управлять им проще всего через ПК.
Как управлять ботом в Discord: пошаговая инструкция, команды
После успешной установки обычно боту автоматически присваивается определенная роль, которая наделяет его правами, позволяющими вносить изменения на сервере, а также оказывающими влияние на процесс управления. Но роль не присвоена, то настройте ее самостоятельно. Следуйте алгоритму:
Команды для управления ботом
Управление ботом происходит с помощью специальных команд. У каждого электронного помощника они индивидуальные. Наиболее популярные команды:
- !help – появится перечень пользовательских и универсальных команд для бота;
- !info – запрос справочной информации;
- !rank – просмотр рейтинга пользователя на сервере;
- !ban – блокировка участника. В этом случае через пробел указывайте дополнительные параметры: имя пользователя и причину, по которой отправляете его в бан;
- !infractions – получение информации о том, какие нарушения были допущены участником;
- !warn — предупреждение пользователя о том, что он нарушает правила сервера и т.д.
Важно! Полный список команд для выбранного бота, вы можете посмотреть на его официальном сайте.
Читайте также: