Боты являются неотъемлемой частью управления сервером. Они значительно экономят время и позволяют качественно решать тривиальные задачи. Существуют готовые решения, но они ограничены по функционалу и не всегда походят. В таком случае можно создать бота самостоятельно. Рассмотрим, как создать бота в Дискорде — это позволит внедрить весь необходимый функционал.
Существует несколько способов создать бота в Discord. Для этого можно воспользоваться специальным софтом, написать код на Python либо discord.js. Рассмотрим все варианты создания, а также особенности добавления на сервер. Это непростой процесс, но мы опишем его подробно.
Среда разработки
На начальном этапе нужно выбрать среду для разработки и установить ее. Мы будем рассматривать создание бота на примере Visual Studio Code, но можно воспользоваться и другими средами для разработки, например, Atom, Eclipse, Notepad ++ и другие. Выбрав среду, скачайте ее на официальном сайте для вашей версии операционной системы.
Кроме среды разработки нужно установить необходимые расширения, а также среду выполнения. В качестве среды выполнения используется node.js, а расширения можно установить непосредственно из окна среды разработки.
Какие расширения могут быть полезны при создании дискорд-бота на JS? В первую очередь, это инструменты для запуска выбранных фрагментов созданного кода, а также расширение для удобного отображения рабочей области. Если вы используете Visual Studio Code, вы сможете найти эти расширения под именами Code Runner и Discord Presence.
Процесс создания бота
Процесс создания бота начинается на портале разработчиков. Для этого нужно выбрать опцию NEW APPLICATION.
В диалоговом окне назначьте имя для нового бота, нажмите CREATE. Если вы захотите изменить имя бота в процессе работы, вы без труда сможете сделать это, а также добавить иконку.
Последний шаг — это добавить необходимые разрешения. Переходим во вкладку BOT и внизу страницы выставляем права, которые должен иметь бот. Галочка «Administrator» активирует все.
Перед тем как приступить к написанию кода, нужно создать папку и открыть ее в Visual Studio Code. Для этого воспользуйтесь командой: файл —> открыть папку.
Следующий этап — создание терминала, через который будем добавлять описание бота. Для этого выберите: терминал —> создать терминал.
Для начала создания описания бота в терминале вводим:
После этого на экране начнут появляться строки, в конце каждой нужно нажать Enter. Далее вводим следующие комбинации:
После этого у вас должна отображаться папка с файлами и два объекта с расширением .json.
Пишем код
Перед написанием кода нужно создать файл для хранения базовых данных о боте. Для этого создайте файл config.json. В нем указываете следующее:
Токен можно получить на портале разработчика во вкладке Bot. Эта информация отображается один раз, поэтому не забудьте сохранить свой токен.
В роли префикса используется начальная точка команды. Например, если вводится команда $help, то значок $ и будет являться префиксом. Обычно в качестве префикса используют знак восклицания !. Однако вы можете использовать практически любой символ в качестве префикса, включая буквы, цифры и специальные символы, если они не зарезервированы или не используются в других целях в вашем боте.
Следующим шагом идёт создание файла bot.js, который является телом нашего бота и содержит добавленный вами функционал который можно впоследствии расширять и редактировать. Типичный файл выглядит следующим образом:
Обратите внимание, что файл
config.jsonдолжен находиться в том же каталоге, что и вашbot.js, чтобы бот мог правильно считывать параметры из файла.
Для работы с параметрами бота создаем файл, в котором будут описаны команды. Файлу присваиваем имя comms.js и добавляем в него код:
Это примерный вариант, если есть необходимость, вы можете добавить больше функций и команд.
Облачные серверы
по всему миру с почасовой оплатой.
Перед запуском бота
Важно! Последние версии Discord требуют последних версий Node.js. Например, Дискорд версии 13 требует для запуска версию ноды не ниже 16. По умолчанию система использует старую версию Node версии 14.
Проверить версию можно командой:
Обновить версию можно командами:
Для Ubuntu:
Для Debian:
Ошибка Unexpected token '??=' указывает на неподходящую версию, такие сущности доступны с версии Node 16+.
Запускаем бота
Как создать бота в Discord-сервисе, мы разобрали. Теперь осталось запустить его через терминал. Это можно сделать с помощью команды:
После запуска можно выбрать привилегии. Для этого нужно:
- Перейти во вкладку OAuth2.
- В блоке Scopes поставить флажок напротив bot.
- В появившемся блоке Bot permissions — отметить галочками нужные привилегии. Галочка «Administrator» активирует все.
В этой же вкладке, немного ниже, можно получить ссылку на бот. Достаточно скопировать ее и вставить в адресную строку браузера.
Также включите опцию «Message Content Intent» на вкладке «Bot»:
Как создать сервер и подключить бота
Для бота нужно создать канал в Discord.
- Зайдите в свою учетную запись Discord в браузере.
- Для добавления сервера в боковой панели нажмите значок «+» и укажите, какой шаблон сервера хотите применить, для каких целей будете его использовать.
- На следующем этапе назначьте имя сервера и изображение.
- После этого завершите процесс создания нажатием кнопки Create.
В новом сервере по умолчанию присутствует два канала: голосовой и текстовый. Каждый из них имеет настройки, которые можно менять, нажав на иконку шестеренки. Если этих каналов недостаточно, пользователь может добавить новый, нажав значок «+». Для присвоения ID каналу нужно перейти в режим разработчика: app settings —> advanced —> developer mode.
Чтобы подключить бота, необходимо получить ссылку в OAuth2 -> URL Generator.
Как мы и указывали немного выше: в Scopes выставляем галочку bot, ниже в Bot permissions выбираем разрешения, галочка Administrator активирует все.
Полученную ссылку на бота вставляем в адресную строку.
Открыв приложение, в выпадающем списке вы сможете выбрать сервер. Проверьте, правильно ли назначены разрешения для бота. Если все сделано верно, вернувшись на сервер, вы увидите приветственное сообщение.
Как редактировать бота
Созданное решение можно модернизировать, добавить новые опции, сделать бота более дружественным для пользователя и функциональным, персонализировать его.
Чтобы бот подбадривал пользователей, можно добавить список ключевых фраз, в ответ на которые будут выводиться приветственные или другие сообщения. Для внесения нового функционала (триггерной фразы) для бота нужно внести данные в файл comms.js, для примера модифицируем функцию test. Пример добавления и редакции триггерных фраз выглядит так:
Теперь ваш Discord-бот будет реагировать на сообщения, содержащие триггерные фразы/слова (в связи с модификацией функции test) из списка sad_words и отправлять соответствующий ответ.
Проверить внесенные изменения можно, отправив сообщение вида:
Следующей командой добавляем фразы, которыми бот будет отвечать на триггерные слова:
При необходимости слова и фразы можно задавать и на русском языке. Файл comms.js в таком случае будет выглядеть так:
В примере выше мы добавили новую функцию encourage, которая будет выбирать случайную фразу из списка starter_encouragements и отправлять ее в канал. Затем мы добавили эту функцию в список comms_list (список команд), указав имя команды, функцию encourage и её описание.
Также вам потребуется внести изменения в файл bot.js (если функционал не был внесён изначально), чтобы он распознавал новую команду encourage. Убедитесь, что в файле bot.js есть следующий код:
Теперь вы можете использовать команду !encourage в Discord-чате, и бот будет отправлять случайную фразу поддержки из списка starter_encouragements в ответ.
Как создать бота на Python
Мы рассмотрели процесс создания бота на .JS, но отметим и альтернативный способ. Также создать бота можно на Python — но для этого вам потребуются навыки работы с этим языком. Можно воспользоваться готовыми фрагментами кода, но обладать элементарными знаниями для их адаптации под собственные нужды необходимо.
Для работы вам потребуются текстовый редактор и библиотеки Python 3.4.2+ и Pip3. Перед началом создания бота необходимо создать пустой файл и присвоить ему имя. Далее файл открывается в текстовом редакторе, где можно начинать писать код. Для сохранения токена бота используется переменная DISCORD_BOT_TOKEN.
Что такое Discord Bot Maker
Это еще один вариант создания бота. С помощью инструмента можно не просто создавать типовые решения, но и разрабатывать ботов, отправляющих файлы, генерирующих сообщения, редактирующих картинки.
Для начала работы нужно установить утилиту и нажать кнопку «Создать». После этого можно будет выбрать необходимый набор функций и команд. Не забудьте сохранить бота, после этого его можно запустить в Дискорд.
Выгодные тарифы на облачные серверы
477 ₽/мес
657 ₽/мес
Заключение
Мы разобрались с основными этапами создания бота в Дискорд, канала, его добавления на сервер и основными командами, которые можно добавить при необходимости. Вы можете выбрать любой из предложенных в статье способов. Процесс нелегкий и длительный, имеет множество нюансов, но с ними можно разобраться и самостоятельно создать персонализированное решение, соответствующее поставленным задачам.
