Как да направите свой собствен разговор Бот
Discord има отличен API за писане на потребителски ботове и много активна бот общност. Днес ще разгледаме как да започнем да правим свои собствени.
Ще ви трябва малко програмно знание, за да кодирате бот, така че не е за всички, но за щастие има някои модули за популярни езици, които го правят много лесно. Ще използваме най-популярния, discord.js.
Приготвяме се да започнем
Насочете се към портала на бота на Discord и създайте ново приложение.
Вие ще искате да направите бележка за идентификацията на клиента и тайната (разбира се, че трябва да пазите тайна). Това обаче не е бот, а само „Приложение“. Ще трябва да добавите бота под раздела „Bot“.
Запишете си и този знак и го пазете в тайна. При никакви обстоятелства не се ангажирайте с този ключ на Github. Вашият бот ще бъде хакнат почти веднага.
Инсталирайте Node.js и Get Coding
За да стартирате Javascript код извън уеб страница, трябва да имате Node. Изтеглете го, инсталирайте го и се уверете, че работи в терминал (или Command Prompt, тъй като всичко това трябва да работи на Windows системи). Командата по подразбиране е „възел“.
Също така препоръчваме да инсталирате инструмента nodemon. Това е приложение за команден ред, което следи кода на вашия бот и се рестартира автоматично при промени. Можете да го инсталирате, като изпълните следната команда:
npm i -g nodemon
Ще ви е необходим текстов редактор. Можете просто да използвате Notepad, но ние препоръчваме 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 ('pong');); client.login ( "означение");
Този код е взет от примера discord.js. Нека да го разделим.
- Първите две линии са за конфигуриране на клиента. Първият ред внася модула в обект, наречен „Разговор“, а ред 2 инициализира клиентския обект.
- Най-
client.on ( "готов")
Блокът ще стреля, когато ботът стартира. Тук той просто е конфигуриран да записва името си на терминала. - Най-
client.on ( "съобщение")
Блокът ще изстреля всеки път, когато ново съобщение бъде публикувано на всеки канал. Разбира се, трябва да проверите съдържанието на съобщението и това е, коетоако
блок. Ако съобщението просто казва „пинг“, тогава ще отговори с „понг!“ - Последният ред влиза в системата с токена от портала на бота. Очевидно токенът на снимката тук е фалшив. Никога не публикувайте токена си в интернет.
Копирайте този код, поставете го в дъното си и го запазете като index.js
в специална папка.
Как да стартирате Bot
Отидете до терминала и изпълнете следната команда:
nodemon --inspect index.js
Това ще стартира скрипта и ще задейства дебъгера на Chrome, до който можете да влезете чрез въвеждане хром: // инспектира /
в Omnibar на Chrome и след това отваря „посветен devtools за Node“.
Сега трябва да кажем „Влезли като“, но тук добавих ред, който ще регистрира всички обекти на съобщенията, получени в конзолата:
И така, какво прави този обект на съобщението? Много неща, всъщност:
Най-вече, имате информация за автора и информация за канала, които можете да получите с msg.author и msg.channel. Препоръчвам този метод за регистриране на обекти в Devtools на Chrome Node и просто се оглеждаме, за да видим какво го прави. Може да откриете нещо интересно. Тук например ботът записва отговорите си на конзолата, така че отговорите на бота задействат client.on ( "съобщение")
. Така че направих спам-бот:
Забележка: Внимавай с това, тъй като не искаш да се занимаваш с рекурсия.
Как да добавите Bot към вашия сървър
Тази част е по-трудна, отколкото би трябвало да бъде. Трябва да вземете този URL адрес:
https://discordapp.com/oauth2/authorize?client_id=CLIENTID&scope=bot
И заменете CLIENTID с клиентския идентификатор на вашия бот, който се намира в раздела с обща информация на страницата на приложението. След като това се направи, можете да дадете връзката на приятелите си, за да ги добавят и към сървърите им.
Добре, така, какво друго мога да направя?
Отвъд основната настройка, всичко друго зависи изцяло от вас. Но това не би било много урок, ако спрем на здравия свят, така че нека прегледаме някои от документацията, така че да имате по-добра представа за това какво е възможно. Предлагам ви да прочетете толкова, колкото можете, тъй като е много добре документирана.
Бих препоръчал добавяне console.log (клиент)
към началото на кода и погледнете клиентския обект в конзолата:
Оттук можете да научите много. Тъй като можете да добавите бот на няколко сървъра едновременно, сървърите са част от Гилдии
обект на картата. В този обект са отделните Гилдии (което е името на API за „сървър“) и тези обекти на гилдията имат списъци с канали, които съдържат цялата информация и списъци с съобщения. API е много дълбок и може да отнеме известно време, за да се научи, но поне е лесно да се настрои и да започнем да учим.