Budete potrebovať trochu znalostí v oblasti programovania, aby ste kódovali bot, takže nie je pre každého, ale našťastie existujú niektoré moduly pre populárne jazyky, ktoré robia veľmi ľahké. Budeme používať najobľúbenejšie, discord.js.
Začíname
Prejdite na diskotékový portál spoločnosti Discord a vytvorte novú aplikáciu.
Node.js nainštalujte a získajte kódovanie
Ak chcete spustiť kód Javascript mimo webovú stránku, potrebujete uzol. Stiahnite si ho, nainštalujte ho a uistite sa, že funguje v termináli (alebo príkazový riadok, pretože to všetko by malo fungovať na systémoch Windows). Predvolený príkaz je "uzol".
Odporúčame tiež inštaláciu nástroja nodemon. Je to aplikácia príkazového riadka, ktorá sleduje kód vášho botu a automaticky sa reštartuje pri zmenách. Môžete ho nainštalovať spustením nasledujúceho príkazu:
npm i -g nodemon
Budete potrebovať textový editor. Mohli by ste použiť len poznámkový blok, ale odporúčame buď Atom alebo VSC.
Tu je náš "Zdravý svet":
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');
Tento kód je prevzatý z príkladu discord.js. Poďme to rozdeliť.
- Prvými dvoma riadkami je nakonfigurovať klienta. Prvý riadok importuje modul do objektu s názvom "Rozpoznať" a druhý riadok inicializuje objekt klienta.
-
client.on('ready')
blok sa spustí, keď bot začne. Tu je nakonfigurovaný na prihlásenie jeho názvu do terminálu.
-
client.on('message')
blok sa bude strieľať vždy, keď sa na ľubovoľný kanál uverejní nová správa. Samozrejme, budete musieť skontrolovať obsah správ, a to je to, čo
if
Blok robí. Ak správa len povie "ping", potom odpovie s "Pong!"
- Posledný riadok sa prihlási pomocou tokenu z botového portálu. Je zrejmé, že token na snímke je tu falošný. Nikdy nezverejňujte svoj token na internete.
Skopírujte tento kód, vložte ho do tokenu v dolnej časti a uložte ho ako
index.js
v určenom priečinku.
Ako spustiť Bot
nodemon --inspect index.js
Spustí sa skript a tiež spustí ladiaci program Chrome, ku ktorému pristupujete zadaním
chrome://inspect/
do Omnibaru Chrome a potom otvoriť "dedicované devtooly pre uzol".
Teraz by to malo len povedať "Prihlásený ako
client.on('message')
Tak som urobil spambot:
Poznámka: Buďte opatrní, pretože v skutočnosti nechcete riešiť rekurziu.
Ako pridať bot na server
https://discordapp.com/oauth2/authorize?client_id=CLIENTID&scope=bot
A vymeňte CLIENTID s identifikátorom klienta vášho topánka, ktorý nájdete na karte všeobecných informácií na stránke aplikácie. Akonáhle to bude hotovo, môžete dať odkaz svojim priateľom, aby si ich pridal aj na svoje servery.
Dobre, tak čo mám robiť?
Odporúčam vám pridať
console.log(client)
na začiatok kódu a pozrieť sa na objekt klienta v konzole:
Guilds
objekt mapy. V tomto objekte sú jednotlivé guildy (čo je názov rozhrania API pre "server") a tieto objekty guildu majú zoznamy kanálov, ktoré obsahujú všetky informácie a zoznamy správ. Aplikácia API je veľmi hlboká a môže chvíľu trvať, kým sa učíte, ale aspoň je ľahké nastaviť a začať učiť sa.