Вы, наверное, слышали о Дискорде. Если нет? Что ж, этот пост не для вас. Просто шучу. Discord — это сервис VOIP/текстового чата, разработанный и предназначенный для геймеров. VOIP? Голос по IP. Так что у него есть текстовый и голосовой чат. Видео к. Теперь, когда у нас есть эта часть, давайте приступим к остальной части поста. В Discord есть боты, и почти каждый может их запрограммировать. Вот для чего предназначено это руководство. Итак, давайте продолжим.

Если они вам нужны, вот некоторые спецификации: Мы собираемся использовать Node.js. Если вы не знаете, что это такое или что это значит, я рекомендую нажать на паузу и прочитать эту страницу здесь. Мы не можем просто подключиться к Discord без какого-либо стороннего программного обеспечения или, как их называет Node, модулей. Итак, модуль, который мы будем использовать сегодня, называется Discord.js-commando.

Для начала переходим на эту страницу здесь. Это домашняя страница разработчиков Discord, и именно здесь мы будем создавать пользователя-бота. Оказавшись на странице, нажмите кнопку плюс.

Теперь вы попадете на страницу с запросом некоторой информации. Заполните имя как угодно и добавьте значок по вашему выбору.

Затем сохраните изменения и перейдите на вкладку «Бот» сбоку, например:

Оказавшись там, нажмите большую кнопку «Добавить бота», снова введите имя и значок и не забудьте сохранить. Вы заметите раздел под названием «Токен» с двумя кнопками под ним. Нажмите кнопку с надписью «Копировать».

Теперь о реальном программировании. Создайте новую папку на рабочем столе под названием «Discord Bot». Затем перейдите в папку и удерживайте Shift + правый клик. Должна быть кнопка с надписью (в зависимости от вашей версии Windows) «Открыть в Powershell», «Открыть в CMD» или «Открыть в командной строке». Щелкните любой из них, который появится для вас. Появится новое окно, которое выглядит примерно так:

Введите npm install discord.js-commando, затем нажмите клавишу ввода. Появится много диалогов. В конце должен быть небольшой текст, который выглядит следующим образом:

Теперь откройте ваш любимый редактор кода. В этом руководстве я буду использовать Visual Studio Code. Введите следующий код:

const Commando = require('discord.js-commando');
const path = require('path');
const config = require('./config.json')
//client setup
const client = new Commando.Client({
commandPrefix: config.defualtPrefix,
owner: config.owners,
disableEveryone: true,
unknownCommandResponse: false
})
//register commands
client.registry
.registerDefaultTypes()
.registerGroups([
['first-group', 'First group:']
])
.registerDefaultGroups()
.registerDefaultCommands()
.registerCommandsIn(path.join(__dirname, 'commands'))
//events
client.on('ready', () => {
console.log('Logged in')
})
//login to client
client.login(config.token)

Что я делаю в этом коде:

  • Требовать все мои модули
  • Настроить мой клиент
  • Зарегистрируйте мои команды
  • Авторизоваться

Сохраните этот файл как bot.js в папке Discord Bot, которую вы создали на рабочем столе. Теперь создайте еще один файл в своем редакторе и введите следующий код JSON:

{
"token": "TOKEN",
"defualtPrefix": "PREFIX",
"owners": [
"OWNER"
]
}

Замените TOKEN тем, что вы скопировали со страницы разработчика, например:

"token":"NDg5MTgzMTU1NzM2MDE4OTYw.DnnD0w.fZd28Mvm9VrsGZqzWiQFsXg7V9o"

и defaultPrefix с тем, с чего вы хотите, чтобы ваши команды начинались. В качестве примера я сделал !:

"defaultPrefix": "!"

Теперь зайдите в Discord, перейдите в настройки и перейдите на вкладку «Внешний вид». Прокрутите до конца и нажмите переключатель «Режим разработчика». Режим разработчика теперь включен.

Теперь выйдите из настроек и отправьте сообщение на любой сервер или канал. Теперь щелкните правой кнопкой мыши свое имя в верхней части этого сообщения и нажмите «Копировать идентификатор» следующим образом:

Теперь вернитесь в редактор кода и замените владельца скопированным идентификатором. Это должно выглядеть так

"owners": [
"228872946557386752"
]

но с другим ID.

Сохраните этот файл как config.json в той же папке Discord Bot.

Теперь, чтобы сделать некоторые команды. В этой папке Discord Bot создайте еще одну папку с именем «commands», а в этой папке — «first-group» следующим образом:

Теперь в редакторе кода снова создайте новый файл с именем hello.js. Вставьте в него этот код:

const { Command } = require('discord.js-commando')
module.exports = class helloCommand extends Command{
constructor(client) {
super(client, {
name: 'hello',
aliases: ['hi'],
group: 'first-group',
memberName: 'hello',
description: 'Say hello!',
examples: ['!hello']
})
}
run(msg, { input }) {
msg.say('Hello!')
}
}

Краткое изложение того, что делает этот код:

  • Определяет класс команды
  • Создает это
  • Определяет имя и другую основную информацию о команде

Затем в части run:

  • Оценивает код при вызове команды и возвращает сказанное

msg.say — это способ сказать что-то в чате, где была вызвана команда. Итак, этот код делает следующее:

Теперь сохраните этот файл как hello.js и закройте редактор кода. Shift + Щелкните в своей папке, откройте Powershell/Командную строку/CMD и введите node bot.js. «Я вошел в систему!» должно появиться в вашем окне. Вернитесь на страницу разработчика и нажмите вкладку «OAuth». Прокрутите немного вниз и найдите «Бот» в меню прицелов. Прокрутите немного вниз и найдите «Отправить сообщения» в меню «Разрешения», которое должно было появиться. Затем прокрутите вверх и скопируйте эту ссылку.

Откройте новую вкладку в браузере и вставьте ее. Затем выберите сервер и введите Captcha. Ваш бот теперь на вашем сервере. Перейдите на канал на сервере, и вы должны увидеть своего бота сбоку:

Теперь введите «! привет»! Должно появиться сообщение «Привет!».

Вы только что создали своего собственного Discord-бота Discord.js Commando! Теперь пришло время добавить больше команд и функций!

Следующие шаги:

Ознакомьтесь с официальной документацией Discord.js Commando здесь

Ознакомьтесь с официальной документацией Discord.js здесь

Ознакомьтесь с руководством Discord.js здесь