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

Как сделать бота для дискорда для ролей

  • автор:

Создание Discord-бота, используя библиотеку discord.js | Часть №1

В этой статье я подробно расскажу о том, как работать с библиотекой 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» и отметим нужные боту привилегии.

Теперь осталось скопировать ссылку-приглашение и добавить бота на свой сервер.

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

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

Для этого, сначала мы должны скопировать ссылку-приглашение.
После чего перейти в файл 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

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

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

    !say — с помощью этой команды бот может повторить ваше сообщение.

Настройка бота на сервере в Discord

Как настроить бота в Дискорде

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

Подробнее: Как добавить бота на сервер в Discord

Вариант 1: Программа для ПК

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

Шаг 1: Использование команды помощи

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

Просмотр списка участников сервера перед настройкой бота в Discord на компьютере

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

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

Шаг 2: Настройка роли

Каждому боту при авторизации присваивается своя роль с определенными правами для возможности внесения изменений на сервере, управления участниками или отправки сообщений. Некоторые боты по умолчанию не имеют требуемых прав, поэтому разработчики просят настраивать их самостоятельно, что происходит следующим образом:

  1. Нажмите по названию сервера для отображения его меню. Открытие меню сервера для дальнейшей настройки бота в Discord на компьютере
  2. Через появившийся список выберите пункт «Настройки сервера». Переход в настройки сервера для дальнейшего редактирования параметров бота в Discord на компьютере
  3. Перейдите к разделу «Роли». Открытие списка ролей для настройки полномочий бота на сервере в Discord на компьютере
  4. Среди списка всех ролей найдите ту, название которой соответствует боту для настройки. Выбор роли бота для настройки его полномочий на сервере в Discord на компьютере
  5. Если не хотите тратить время на поиск необходимых прав или же бот является универсальным, присвойте ему права администратора, активировав соответствующий переключатель. Предоставление боту права администрирования сервером при его настройке в Discord на компьютере
  6. Для обеспечения боту доступа к отправке сообщений надо включить «Отправлять сообщения» в блоке «Права текстовых каналов». Управление другими правами бота при настройке его роли в Discord на компьютере

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

Шаг 3: Добавление роли боту

На определенных серверах дополнительно боту присваивается специфическая роль или же создатель предпочитает их все объединить в один список для простоты настройки. В этом случае действует такой же принцип, как и для обычных участников сервера.

  1. В блоке «Управление участниками» того же меню с настройками выберите раздел «Участники». Открытие списка участников для предоставления боту другой роли в Discord на компьютере
  2. Отыщите бота для добавления роли и справа от его имени нажмите по значку с плюсом. Открытие списка ролей для предоставления ее боту в Discord на компьютере
  3. Появится список доступных на сервере ролей, среди которых и выберите требуемую. Если же их много, воспользуйтесь присутствующей функцией поиска. Выбор роли из списка для присвоения ее боту в Discord на компьютере

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

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

Шаг 4: Права бота на каналах

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

  1. Наведите курсор мыши на требуемый канал и кликните по появившемуся значку шестеренки. Переход в настройки канала на сервере для настройки прав бота в Discord на компьютере
  2. В новом окне через панель слева перейдите в раздел «Права доступа». Выбор раздела с правами доступна на канале для настройки бота в Discord на компьютере
  3. Сейчас роль бота не добавлена в список для настройки, поэтому нажмите по плюсу, чтобы самостоятельно указать ее. Открытие списка участников для настройки прав на канале при настройке бота в Discord на компьютере
  4. В появившемся списке выберите роль или бота как участника, что в данном случае не имеет значения. Выбор бота для настройки его прав на канале сервера в Discord на компьютере
  5. Ознакомьтесь с правами, большинство из которых соответствуют стандартным разрешениям для ролей. Отметьте галочками те, которые хотите предоставить, а крестиками — запретить. Если выбрана косая черта, значит, право синхронизируется с выбранной ролью. Настройка прав бота на выбранном канале сервера в Discord на компьютере

Шаг 5: Параметры на официальном сайте

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

  1. Откройте главную страницу сайта бота и выполните авторизацию для определения добавленных серверов, затем перейдите в раздел с плагинами. Переход к настройкам плагинов на официальном сайте бота Discord на компьютере
  2. Там вы сможете узнать обо всех функциях, которые поддерживает бот, активировать их или отключить. Ознакомление с доступными плагинами бота на официальном сайте в Discord на компьютере
  3. При настройке специфических команд, состоящих из пользовательского текста или картинок, куда относится приветственное сообщение для новых пользователей и другие похожие операции, необходимо заполнить специальную форму, после чего бот автоматически будет выполнять поставленную задачу. Добавление опций для бота на его официальном сайте в Discord на компьютере
  4. Иногда в настройках бота можно сменить префикс для команд, если текущий вам непривычен, и выбрать язык для общения непосредственно на сервере. Управление настройками бота через его официальный сайт при работе в Discord на компьютере

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

Вариант 2: Мобильное приложение

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

Шаг 1: Использование команды помощи

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

  1. Перейдите на сервер и сделайте свайп влево для отображения списка участников. Открытие списка участников сервера для проверки бота в мобильном приложении Discord
  2. Убедитесь в том, что необходимый бот прошел авторизацию и отображается в списке «В сети». Просмотр участников сервера для проверки бота на сервере в мобильном приложении Discord
  3. Вернитесь в любой текстовый чат без ограничений на отправку сообщений и введите стандартную команду, отвечающую за получение справки. Ввод команды помощи для управления ботом в мобильном приложении Discord
  4. Ознакомьтесь с появившимся на экране блоком, чтобы подробнее узнать о синтаксисе и других особенностях функционирования бота. Ознакомление с общей информацией помощи о боте в мобильном приложении Discord

Шаг 2: Настройка роли

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

  1. Тапните по названию сервера для открытия его меню. Открытие меню сервера для настройки бота в мобильном приложении Discord
  2. В нем нажмите кнопку «Настройки». Переход в настройки сервера для редактирования параметров бота в мобильном приложении Discord
  3. Перейдите в раздел «Роли», который находится в блоке «Управление участниками». Открытие списка ролей для настройки бота на сервере в мобильном приложении Discord
  4. Найдите роль с названием, соответствующим самому боту. Выбор роли бота для его настройки на сервере в мобильном приложении Discord
  5. Вы можете изменить ее имя, добавить пользовательский цвет, выбрать расположение отдельно от списка со всеми участниками, что, кстати, часто используется, или запретить упоминание данной роли. Настройка общих параметров роли бота на сервере в мобильном приложении Discord
  6. Ниже находится список со всеми правами. Многофункциональным ботам всегда присваивается «Администратор», чтобы у них не возникло проблем с доступом к каким-либо функциям сервера. Предоставление боту прав администратора при его настройке на сервере в мобильном приложении Discord

Все остальные присутствующие прав изменяйте по собственному желанию в соответствии с предназначением инструмента. Достаточно просто прочесть определение разрешения для понимания его действия.

Шаг 3: Добавление роли

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

  1. Снова перейдите в «Настройки сервера», но на этот раз выберите раздел «Участники». Переход к списку участников для присвоения пользователю новой роли в мобильном приложении Discord
  2. Воспользуйтесь поиском или самостоятельно отыщите бота в списке, после чего сделайте тап по его учетной записи. Переход к выбору новой роли для бота при его настройке в мобильном приложении Discord
  3. Отметьте галочкой роль, которую хотите ему присвоить. Учитывайте, что добавлять боту роль другого бота запрещено, поэтому на следующем скриншоте вы видите как неподходящие варианты помечены серым цветом. Выбор новой роли для бота при его настройке на сервере в мобильном приложении Discord

Шаг 4: Права бота на каналах

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

  1. Сделайте долгий тап по голосовому или текстовому каналу. Выбор канала сервера для настройки прав бота в мобильном приложении Discord
  2. Из появившегося списка действий выберите пункт «Настроить канал». Переход к настройке канала для выбора прав бота в мобильном приложении Discord
  3. Перейдите в раздел «Права доступа». Открытие прав канала для настройки полномочий бота в мобильном приложении Discord
  4. Нажмите по пункту «Добавить роль» или «Добавить участника». Переход к выбору роли бота для настройки его полномочий на канале в мобильном приложении Discord
  5. В списке вариантов отыщите требуемого для настройки бота. Выбор роли бота для настройки его полномочий на канале в мобильном приложении Discord
  6. Ознакомьтесь с перечнем прав и установите для них значения в соответствии со своими предпочтениями. Настройка полномочий бота на канале в мобильном приложении Discord

Как сделать бота для дискорда для ролей

Сегодня мы сделаем такой функционал:
Выдача роли при заходе на сервер, выдача роли по реакции
Бан, очистка сообщений
Поработаем с базой данных
Затронем API.

Так-же прикреплю полностью рабочий код в конце данной статьи.

База

Думаю как установить python вы разберетесь.
Прописываем в консольку:

Импортируем все нужные нам для данного гайда модули, а так-же задаем нужные нам интенты.

Но где мне взять токен и включить интент?
Заходим сюда > discord.com/developers/applications/
Тыкаем по стрелочкам.

Дальше нам нужно немного пролистать вниз и нажать воть сюда

Чтобы узнать токен жмем сюда

И сразу вставляем его вместо ваштокен.

С начальной подготовкой мы справились и переходим к следующему шагу.

Next Level – Код бота:

Начнём мы с самого простого – команды для модерации сервера.
Сделаем очистку сообщений по заданному количеству, бан, а так-же роли по клику на реакцию.

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

А теперь разберемся и с баном.

Сделаем так-же выдачу роли при входе на сервер.

А так-же сделаем выдачу ролей по реакциям ведь это так круто!

Ну и бан сделаем.

А так-же чет захотелось сделать отправку эмбедов с discord.club (дабы отправлять эмбеды не залезая в код)

Теперь когда вы пропишите “!embed < json embed >” у вас отправится красивенький эмбед.
А теперь немножечко поработаем с БД.

База данных:

Создадим рядом с ботом файлик bd.json.
Теперь добавим туда следующее:

Переходим обратно к нашему боту и пишем функцию, которую будем использовать.

А теперь просто добавим в конце команды ban эту строку ( после await logs.send ):

Ну и на закуску мы сделаем статистику.

С БД я вроде закончил.
Ну и закончим нашу статью работой с API.

Api:

Мы будем работать с discord-tracker и проверять кто сидит с юзером в войсе + получать их айдишники.
(работать будет только если это на серверах, на котором есть бот discord трекера.
Useless, просто как пример использования х)

Создаём Discord-бота на Python

Для установки discord.py воспользуйтесь пакетным менеджером:

Создаём нашего бота

Перейдите на Developer Portal и нажмите на New application.

Вы создали своё приложение, на странице приложение перейдите в Bot >> Add Bot и создайте своего Discord-бота.

Сохраните токен бота! Дальше он нам понадобится!

Если всё прошло успешно, поздравляю, половина дела сделана ��

Добавление бота на сервер

Теперь можно добавить бота на сервер.

Перейдите в OAuth2 >> URL Generator, в Scopes выбираем Bot и ниже — права бота, копируем сгенерированный URL. Вставляем в браузер, и добавляем на наш сервер.

Эхо-бот

Напишем традиционного эхо-бота, и разберём каждую строчку кода.

Нужные нам импорты.

Вспомогательный словарь config в котором храним токен и префикс команд (далее расскажу зачем нужен префикс команд).

Создаём нашего бота, в аргументе передаём префикс.

Декоратор, предназначенный для обработки событий, подробнее здесь.

Создаём асинхронную функцию, с параметром ctx, представляет из себя сообщение.

Проверка, не является ли автор сообщения нашим Discord-ботом. Дело в том, что если бот отправит сообщение, это будет новым событием, и тогда получается цикл.

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

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