Раздор имеет отличный API для написания кастомных ботов и очень активный сообщество ботов . Сегодня мы посмотрим, как начать создавать свои собственные.
Чтобы кодировать бота, вам потребуется немного знаний в области программирования, так что это не для всех, но, к счастью, есть несколько модулей для популярных языков, которые позволяют сделать это очень легко. Мы будем использовать самый популярный, discord.js .
СВЯЗАННЫЕ С: Как создать, настроить и управлять сервером Discord
Начиная
Перейдите в Discord’s бот-портал , и создайте новое приложение.
Вам нужно будет записать идентификатор клиента и секрет (который, конечно, следует держать в секрете). Однако это не бот, а просто «Приложение». Вам нужно будет добавить бота на вкладке «Бот».
Запишите и этот жетон и держите его в секрете. Ни при каких обстоятельствах не передавайте этот ключ на Github. Ваш бот будет взломан практически сразу.
Установите Node.js и получите код
Чтобы запустить код Javascript вне веб-страницы, вам необходимо Узел . Загрузите его, установите и убедитесь, что он работает в терминале (или в командной строке, поскольку все это должно работать в системах Windows). Команда по умолчанию - «узел».
Мы также рекомендуем установить инструмент nodemon. Это приложение командной строки, которое отслеживает код вашего бота и автоматически перезапускается при внесении изменений. Вы можете установить его, выполнив следующую команду:
npm и -g nodemon
Вам понадобится текстовый редактор. Вы можете просто использовать блокнот, но мы рекомендуем либо Атом или VSC .
Вот наш привет, мир:
const Discord = require ('discord.js');
const client = новый Discord.Client ();
client.on ('готово', () => {
console.log(`Logged in as ${client.user.tag}! `);
});
client.on ('сообщение', msg => {
if (msg.content === 'ping') {
msg.reply('pong');
}
});
client.login ('токен');
Этот код взят из discord.js пример. Давайте разберемся.
- Первые две строки предназначены для настройки клиента. Первая строка импортирует модуль в объект под названием «Discord», а вторая строка инициализирует клиентский объект.
-
В
client.on ('готов')блок срабатывает при запуске бота. Здесь он просто настроен на регистрацию своего имени в терминале. -
В
client.on ('сообщение')блок будет срабатывать каждый раз, когда новое сообщение отправляется на любой канал. Конечно, вам нужно будет проверить содержание сообщения, и вот чтоеслиблок делает. Если в сообщении написано просто «пинг», то ответ будет «Понг!» - Последняя строка авторизуется с токеном с портала бота. Очевидно, что токен на скриншоте - подделка. Никогда не размещайте свой токен в Интернете.
Скопируйте этот код, вставьте свой токен внизу и сохраните его как
index.js
в специальной папке.
Как запустить бота
Перейдите к своему терминалу и выполните следующую команду:
nodemon --inspect index.js
Это запускает скрипт, а также запускает отладчик Chrome, к которому вы можете получить доступ, набрав
хром: // проверить /
в Omnibar Chrome, а затем открыв «выделенные инструменты разработки для Node».
Теперь он должен просто сказать «Вы вошли как <имя-бота>», но здесь я добавил строку, которая будет регистрировать все объекты сообщений, полученные в консоли:
Итак, что составляет этот объект сообщения? На самом деле много всего:
В частности, у вас есть информация об авторе и информация о канале, к которым вы можете получить доступ с помощью msg.author и msg.channel. Я рекомендую этот метод записи объектов в инструменты разработчика Chrome Node и просто осматриваться, чтобы увидеть, что заставляет его работать. Вы можете найти что-нибудь интересное. Здесь, например, бот записывает свои ответы в консоль, поэтому ответы бота запускаются
client.on ('сообщение')
. Со, И маде а спамбот:
Запись : Будьте осторожны с этим, так как вы действительно не хотите иметь дело с рекурсией.
Как добавить бота на свой сервер
Эта часть сложнее, чем должна быть. Вы должны взять этот URL:
хттпс://дискордапп.ком/оаутн2/аутхоризе?клиент_ид=КЛИЕНТЫД&скопе=вот
И замените CLIENTID на идентификатор клиента вашего бота, который можно найти на вкладке общей информации страница приложения . Как только это будет сделано, вы можете дать ссылку своим друзьям, чтобы они также добавили бота на свои серверы.
Хорошо, а что еще я могу сделать?
Все остальное, помимо базовой настройки, полностью зависит от вас. Но это не было бы большим уроком, если бы мы остановились на hello world, поэтому давайте рассмотрим некоторые из документация , так что вы лучше понимаете, что возможно. Я предлагаю вам прочитать как можно больше, так как это очень хорошо задокументировано.
Я бы рекомендовал добавить
console.log (клиент)
в начало вашего кода и взглянув на клиентский объект в консоли:
Отсюда вы можете многому научиться. Поскольку вы можете добавить бота сразу на несколько серверов, серверы являются частью
Гильдии
объект карты. В этом объекте находятся индивидуальные
Гильдии
(это имя API для «сервера»), и эти объекты гильдии имеют списки каналов, которые содержат всю информацию и списки сообщений. API очень глубокий, и его изучение может занять некоторое время, но, по крайней мере, его легко настроить и начать обучение.