Вы, наверное, слышали о Дискорде. Если нет? Что ж, этот пост не для вас. Просто шучу. 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 здесь