Trebat će vam malo programiranja znanja za kodiranje bot, tako da nije za svakoga, ali srećom postoje neki moduli za popularne jezike koji ga čine vrlo lako za napraviti. Koristit ćemo najpopularniji, discord.js.
Početak rada
Prijeđite na Discordov bot portal i izradite novu aplikaciju.
Instalirajte Node.js i preuzmite kodiranje
Za pokretanje Javascript koda izvan web stranice trebate čvor. Preuzmite ga, instalirajte i provjerite radi li se na terminalu (ili naredbenom retku jer sve to treba raditi na sustavima Windows). Zadana je naredba "čvor".
Također preporučujemo instalaciju alata za nodemon. To je aplikacija naredbenog retka koja prati kôd vašeg botova i automatski se pokreće na promjenama. Možete je instalirati tako da pokrenete sljedeću naredbu:
npm i -g nodemon
Trebat će vam uređivač teksta. Možete samo koristiti notepad, ali preporučujemo Atom ili VSC.
Evo našeg "Hello World":
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');
Taj je kôd preuzet iz primjera discord.js. Prekinimo je.
- Prva dva retka su za konfiguriranje klijenta. Linija 1 uvodi modul u objekt pod nazivom "Discord", a druga linija inicira klijentski objekt.
-
client.on('ready')
blok će zapaliti kad se bot pokrene. Ovdje je konfiguriran da prijavi svoje ime na terminal.
-
client.on('message')
blok će se ugasiti svaki put kad se nova poruka šalje na bilo koji kanal. Naravno, morat ćete provjeriti sadržaj poruke, a to je ono što
if
blok čini. Ako poruka samo kaže "ping", onda će odgovoriti s "Pong!"
- Posljednji redak se prijavljuje s oznakom iz bot portala. Očito je token na slici ovdje lažan. Nikad nemojte postavljati svoj token na internetu.
Kopirajte ovaj kôd, zalijepite svoj token pri dnu i spremite ga kao
index.js
u posebnoj mapi.
Kako pokrenuti Bot
nodemon --inspect index.js
Time se pokreće skripta, a također aktivira Chromeov program za ispravljanje pogrešaka, kojem možete pristupiti upisom
chrome://inspect/
u Omnibar Chromea, a zatim otvarajući "namjenski devtools za čvor".
Sada bi trebao reći "prijavljen kao
client.on('message')
Stoga sam napravio spambot:
Bilješka: Budite oprezni s tim, jer se zapravo ne želite baviti recursijom.
Kako dodati Bot na vaš poslužitelj
https://discordapp.com/oauth2/authorize?client_id=CLIENTID&scope=bot
Zamijenite CLIENTID klijentovim ID-om botova koji se nalazi na kartici općih informacija na stranici aplikacije. Jednom kada se to učini, možete dodijeliti vezu svojim prijateljima kako bi im dodali bot svojim poslužiteljima.
U redu, pa što mogu učiniti?
Preporučujem dodavanje
console.log(client)
na početak vašeg koda i pregled klijentskog objekta na konzoli:
Guilds
objekt karte. U tom su objektu pojedinačni Cehovi (što je naziv API-ja za "poslužitelj"), a ti cehski objekti imaju popise kanala koji sadrže sve informacije i popise poruka. API je vrlo dubok, i može potrajati neko vrijeme za učenje, ali barem je jednostavno postaviti i početi učiti.