Discord are un API excelent pentru scrierea de roboți personalizați și o comunitate de bot foarte activă. Astăzi vom examina cum să începeți să vă creați propriul.
Veți avea nevoie de un program de cunoștințe de programare pentru a codifica un bot, deci nu este pentru toată lumea, dar din fericire există câteva module pentru limbile populare care fac foarte ușor de făcut. Vom folosi cea mai populară, discord.js.
Se îndreaptă spre portalul bot al lui Discord și creează o nouă aplicație.
Veți dori să notați codul clientului și secretul (pe care trebuie să păstrați un secret, bineînțeles). Cu toate acestea, nu este botul, ci doar "aplicația". Va trebui să adăugați botul în fila "Bot".
Faceți notă și de acest jeton și păstrați-i un secret. Nu dați în niciun caz cheia asta lui Github. Botul tău va fi hacked aproape imediat.
Pentru a rula codul Javascript în afara unei pagini web, aveți nevoie de Nod. Descărcați-l, instalați-l și asigurați-vă că funcționează într-un terminal (sau Command Prompt, deoarece toate acestea ar trebui să funcționeze pe sistemele Windows). Comanda implicită este "nod".
De asemenea, vă recomandăm să instalați instrumentul nodemon. Este o aplicație pentru linia de comandă care monitorizează codul botului dvs. și se repornește automat la modificări. Puteți să o instalați executând următoarea comandă:
npm i-g nodemon
Veți avea nevoie de un editor de text. Ați putea folosi doar notepad, dar vă recomandăm fie Atom, fie VSC.
Iată "Hello World":
const Discord = cer ('discord.js'); const client = nou Discord.Client (); client.on ('ready', () => console.log ('Conectat ca $ client.user.tag!');); client.on ('mesaj', msg => if (msg.content === 'ping') msg.reply ('pong');); client.login ( 'jeton');
Acest cod este luat din exemplul discord.js. Să-l rupem.
client.on ( 'gata')
blocul se va declanșa când botul pornește. Aici este doar configurat să-și scrie numele în terminal.client.on ( 'mesaj')
blocul va declanșa de fiecare dată când un nou mesaj este postat pe orice canal. Desigur, va trebui să verificați conținutul mesajului, și asta este dacă
blocul nu. Dacă mesajul spune doar "ping", atunci va răspunde cu "Pong!"Copiați acest cod, lipiți în jetonul din partea de jos și salvați-l ca și cel index.js
într-un folder dedicat.
Mergeți la terminalul dvs. și executați următoarea comandă:
nodemon - inspect index.js
Aceasta inițiază scriptul și, de asemenea, deschide programul de depanare Chrome, la care puteți accesând tastând crom: // inspecta /
în Chrome Omnibar și apoi deschiderea "Devtools dedicat pentru Nodul."
Acum, ar trebui să spui doar "Logged as," dar aici am adăugat o linie care va loga toate obiectele de mesaj primite la consola:
Deci ce face obiectul acest mesaj? Multe lucruri, de fapt:
Mai presus de toate, aveți informațiile despre autor și informațiile despre canal, pe care le puteți accesa cu msg.author și msg.channel. Vă recomandăm această metodă de logare a obiectelor la nodurile Chrome devtools, și doar căutați în jur pentru a vedea ce face să funcționeze. Puteți găsi ceva interesant. Aici, de exemplu, botul înregistrează răspunsurile sale la consola, astfel încât răspunsurile botului declanșează client.on ( 'mesaj')
. Deci, am făcut un spambot:
Notă: Fii atent cu asta, pentru că nu vrei cu adevărat să faci recurs.
Această parte este mai greu decât ar trebui să fie. Trebuie să luați această adresă URL:
https://discordapp.com/oauth2/authorize?client_id=CLIENTID&scope=bot
Înlocuiți CLIENTID cu codul de client al botului dvs., găsit în fila cu informații generale a paginii aplicației. Odată ce acest lucru este făcut, deși, puteți da link-ul prietenilor dvs. pentru a le adăuga bot pe serverele lor, de asemenea.
Dincolo de configurarea de bază, orice altceva se bazează în întregime pe dvs. Dar, acest lucru nu ar fi mult de un tutorial dacă ne-am oprit la salut lume, așa că haideți să trecem peste o parte din documentație, astfel încât să aveți o idee mai bună despre ceea ce este posibil. Vă sugerez să citiți cât de mult puteți, deoarece este foarte bine documentat.
Aș recomanda adăugarea console.log (client)
la începutul codului dvs. și pentru a arunca o privire asupra obiectului client din consola:
De aici, puteți învăța multe. Deoarece puteți adăuga un bot la mai multe servere simultan, serverele fac parte din breslelor
obiect de hartă. În acest obiect se află Guild-urile individuale (care este numele API-ului pentru "server"), iar acele obiecte ale breslei au liste de canale care conțin toate informațiile și listele de mesaje. Aplicația API este foarte profundă și poate dura ceva timp pentru a învăța, dar cel puțin este ușor de configurat și de învățat.