Вверх

Как создать своего собственного бота для Discord

7 апреля 2022 |
Windows 10 - Как вернуть оставшееся время работы от батареи

Как создать своего собственного бота для Discord

У Discord отличный API для написания собственных ботов и очень активное сообщество ботов. Сегодня мы рассмотрим, как начать создавать свои собственные.

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

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

Перейдите на портал ботов Discord и создайте новое приложение.

Вам нужно записать идентификатор клиента и секрет (который, конечно, следует держать в секрете). Однако это не бот, а просто «Приложение». Вам нужно будет добавить бота на вкладке «Бот».

Также запишите этот токен и держите его в секрете. Ни при каких обстоятельствах не передавайте этот ключ на Github. Ваш бот будет взломан практически сразу.

Установите Node.js и Get Coding

Чтобы запустить код Javascript вне веб-страницы, вам понадобится Node. Загрузите его, установите и убедитесь, что он работает в терминале (или в командной строке, поскольку все это должно работать в системах Windows). Команда по умолчанию — «node».

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

npm i -g nodemon

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

Вот наш «Hello World»:

const Discord = require (‘discord. js ‘), const client = new Discord.Client (), client.on (‘ ready ‘, () = & gt, {console.log (`Вы вошли как $ {client.user.tag}!`),}) , client.on (‘message’, msg = & gt, {if (msg.content === ‘ping’) {msg.reply (‘pong’),}}), client.login (‘token’),

Этот код взят из примера discord.js. Давайте разберемся.

  • Первые две строки предназначены для настройки клиента. Первая строка импортирует модуль в объект под названием «Discord», а вторая строка инициализирует клиентский объект.
  • Блок client.on (‘ready’) срабатывает при запуске бота. Здесь он просто настроен на регистрацию своего имени в терминале.
  • Блок client.on (‘message’) срабатывает каждый раз, когда новое сообщение отправляется на любой канал. Конечно, вам нужно будет проверить содержание сообщения, и это то, что делает блок if.Если в сообщении написано просто «ping», то оно ответит «Pong!».
  • В последней строке выполняется вход с токеном с портала бота. Очевидно, что токен на скриншоте — подделка. Никогда не размещайте свой токен в Интернете.

Скопируйте этот код, вставьте свой токен внизу и сохраните его как index.js в специальной папке.

Как для запуска бота

Перейдите к своему терминалу и выполните следующую команду:

nodemon —inspect index.js

Это запускает скрипт, а также запускает отладчик Chrome, к которому вы можете получить доступ, набрав chrome: // inspect / в Omnibar Chrome, а затем открыв «выделенные инструменты разработчика для Node».

Теперь , он должен просто сказать «Вы вошли как & lt, имя-бота & gt ,,», но здесь я добавил строку, которая будет регистрировать все объекты сообщений, полученные в консоли:

Итак, что составляет этот объект сообщения?На самом деле много всего:

В частности, у вас есть информация об авторе и канале, к которым вы можете получить доступ с помощью msg.author и msg.channel . Я рекомендую этот метод записи объектов в инструменты разработчика Chrome Node и просто осматриваться, чтобы увидеть, что заставляет его работать. Вы можете найти что-нибудь интересное. Здесь, например, бот записывает свои ответы в консоль, поэтому ответы бота вызывают client.on (‘message’).Итак, я сделал спам-бот:

Примечание: будьте осторожны с этим, так как вы действительно не хотите иметь дело с рекурсией.

Как добавить От бота к серверу

Эта часть сложнее, чем должна быть. Вы должны взять этот URL:

https://discordapp.com/oauth2/authorize?client_id=CLIENTID&scope=bot

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

Хорошо, а что еще я могу сделать?

Помимо базовой настройки, все остальное полностью зависит от вас. Но это не было бы большим учебным пособием, если бы мы остановились на hello world, поэтому давайте рассмотрим некоторую документацию, чтобы вы имели лучшее представление о том, что возможно. Я предлагаю вам прочитать как можно больше, так как это очень хорошо задокументировано.

Я бы рекомендовал добавить console.log (client) в начало вашего кода и взглянуть на клиентский объект в консоли:

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

Как создать своего собственного бота для Discord


Напишите пару строк:

Ваш адрес email не будет опубликован.

*
*