Ще имате нужда от малко програмно знание, за да кодирате бот, така че не е за всички, но за щастие има някои модули за популярни езици, които го правят много лесно. Ще използваме най-популярната, discord.js.
Приготвяме се да започнем
Обърнете се към бот портала на Discord и създайте ново приложение.
Инсталирайте Node.js и Get Coding
За да стартирате Javascript код извън уеб страница, се нуждаете от възел. Изтеглете го, инсталирайте го и се уверете, че работи в терминал (или командния ред, тъй като всичко това трябва да работи върху системите на Windows). Командата по подразбиране е "възел".
Препоръчваме също да инсталирате инструмента за нодум. Това е приложение за командния ред, което следи кода на вашия бот и се рестартира автоматично при промени. Можете да го инсталирате, като изпълните следната команда:
npm i -g nodemon
Ще ви е необходим текстов редактор. Бихте могли просто да използвате бележник, но ние препоръчваме Atom или VSC.
Ето и нашия "Здравей свят":
const Discord = require('discord.js'); const client = new Discord.Client(); client.on('ready', () => { console.log(`Logged in as ${client.user.tag}!`); }); client.on('message', msg => { if (msg.content === 'ping') { msg.reply('pong'); } }); client.login('token');
Този код е взет от примера на discord.js. Нека да го счупим.
- Първите две реда трябва да конфигурират клиента. Линия едно импортира модула в обект, наречен "Discord", а втората линия инициализира обекта на клиента.
-
Най-
client.on('ready')
блокът ще се задейства при стартирането на бот. Тук то е конфигурирано да регистрира името си на терминала.
-
Най-
client.on('message')
блокът ще се задейства всеки път, когато е публикувано ново съобщение във всеки канал. Разбира се, ще трябва да проверите съдържанието на съобщението, и това е, което
if
блок. Ако съобщението просто пише "пинг", то ще отговори с "Понг!"
- Последният ред се регистрира с токена от бот портала. Очевидно символът в екранната снимка е фалшив. Никога не публикувайте знака си в интернет.
Копирайте този код, поставете го в означението си отдолу и го запазете като
index.js
в специална папка.
Как да управлявате бота
nodemon --inspect index.js
Това стартира скрипта, а също така изстрелва дебъгера на Chrome, до който можете да получите достъп, като напишете
chrome://inspect/
в Омнибара на Chrome и след това отваряне на "dedicated devtools for Node".
Сега трябва просто да каже "Влезли като
client.on('message')
Така че, аз направих спамбут:
Забележка: Бъдете внимателни с това, тъй като всъщност не искате да се справите с рекурсията.
Как да добавите Bot на вашия сървър
https://discordapp.com/oauth2/authorize?client_id=CLIENTID&scope=bot
И заменете CLIENTID с клиентския идентификационен номер на бот, който се намира в раздела за обща информация на страницата на приложението. След като направите това, можете да дадете линка на приятелите си, за да ги добавите към сървърите си.
Добре, какво друго мога да направя?
Бих препоръчал да добавите
console.log(client)
към началото на кода си и да разгледате обекта на клиента в конзолата:
Guilds
обект на картата. В този обект са отделните Гилдии (което е името на API за "сървър"), а тези обекти на гилдията имат списъци с канали, които съдържат цялата информация и списъци с съобщения. Приложният програмен интерфейс (API) е много дълбок и може да отнеме известно време, за да се научи, но поне е лесно да се създаде и да започне учене.