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