Как сделать свой собственный дискорд бот

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

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

Начиная

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

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

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

Установите Node.js и получите кодирование

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

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

 npm i -g nodemon 

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

Вот наш «Hello World»:

 const Discord = require ('discord.js');
const client = new Discord.Client ();
client.on ('ready', () => {
console.log (`Вы вошли как $ {client.user.tag}!`);
});
client.on ('message', msg => {
if (msg.content === 'ping') {
msg.reply ( 'понг');
}
});
client.login ( 'маркер'); 

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

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

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

Как запустить бот

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

 nodemon --inspect index.js 

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

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

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

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

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

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

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

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

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

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

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

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

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

Оцените статью
TutoryBird.Ru
Добавить комментарий