Cum să-ți faci propriul tău Discord Bot

Discord are un API excelent pentru scrierea roboților personalizați și o comunitate de bot foarte activă. Astăzi vom arunca o privire la cum să începeți să vă creați propria.

Veți avea nevoie de puține cunoștințe de programare pentru a codifica un bot, deci nu este pentru toată lumea, dar din fericire există câteva module pentru limbaje populare care o fac foarte ușor de realizat. Vom folosi cel mai popular, discord.js.

LEGATE: Cum să creați, să configurați și să gestionați serverul dvs. Discord

Noțiuni de bază

Accesați portalul bot al Discord și creați o nouă aplicație.

Veți dori să faceți o notă despre ID-ul clientului și secretul (pe care ar trebui să îl păstrați secret, desigur). Cu toate acestea, acesta nu este robotul, ci doar „Aplicația”. Va trebui să adăugați botul în fila „Bot”.

Notați și acest simbol și păstrați-l secret. Nu, în niciun caz, trimiteți această cheie către Github. Botul dvs. va fi piratat aproape imediat.

Instalați Node.js și obțineți codarea

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 prompt de comandă, 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 de linie de comandă care monitorizează codul robotului dvs. și repornește automat la modificări. Puteți să-l instalați executând următoarea comandă:

npm i -g nodemon

Veți avea nevoie de un editor de text. Puteți folosi doar blocnotesul, dar vă recomandăm fie Atom, fie VSC.

Iată „Hello World”:

const Discord = require ('discord.js'); const client = new Discord.Client (); client.on ('ready', () => {console.log (`Autentificat ca $ {client.user.tag}!`);}); client.on ('mesaj', msg => {if (msg.content === 'ping') {msg.reply ('pong');}}); client.login („token”);

Acest cod este preluat din exemplul discord.js. Să o descompunem.

  • Primele două linii sunt pentru a configura clientul. Linia unu importă modulul într-un obiect numit „Discord”, iar linia doi inițializează obiectul client.
  • client.on('ready')Blocul se va aprinde atunci când bot pornește. Aici, este doar configurat pentru a-și înregistra numele la terminal.
  • client.on('message')Blocul se va aprinde de fiecare dată un mesaj nou este postat pe orice canal. Desigur, va trebui să verificați conținutul mesajului și asta ifface blocajul. Dacă mesajul spune doar „ping”, atunci acesta va răspunde cu „Pong!”
  • Ultima linie se conectează cu simbolul de pe portalul bot. Evident, simbolul din captura de ecran aici este fals. Nu postați tokenul pe internet.

Copiați acest cod, lipiți-l în jeton în partea de jos și salvați-l ca index.js într-un folder dedicat.

Cum să rulați botul

Mergeți la terminalul dvs. și executați următoarea comandă:

nodemon --inspect index.js

Aceasta pornește scriptul și, de asemenea, declanșează debuggerul Chrome, pe care îl puteți accesa tastând chrome://inspect/  în Omnibar-ul Chrome și apoi deschizând „devtools dedicate pentru nod”.

Acum, ar trebui să spună „Conectat ca”, dar aici am adăugat o linie care va înregistra toate obiectele mesaj primite în consolă:

Deci, ce alcătuiește acest obiect mesaj? Multe lucruri, de fapt:

În special, aveți informații despre autor și informații despre canal, pe care le puteți accesa cu msg.author și msg.channel. Recomand această metodă de înregistrare a obiectelor în devtools Chrome Node și doar să mă uit în jur pentru a vedea ce o face să funcționeze. S-ar putea să găsiți ceva interesant. Aici, de exemplu, botul își înregistrează răspunsurile la consolă, astfel încât răspunsurile botului să declanșeze client.on('message'). Deci, am făcut un spambot:

Notă : Aveți grijă la acest lucru, deoarece nu doriți cu adevărat să faceți față recursivității.

Cum să adăugați botul la serverul dvs.

Această parte este mai grea decât ar trebui să fie. Trebuie să luați această adresă URL:

//discordapp.com/oauth2/authorize?client_id=CLIENTID&scope=bot

Și înlocuiți CLIENTID cu ID-ul de client al botului dvs., aflat în fila informații generale din pagina aplicației. Odată ce ați făcut acest lucru, puteți oferi link-ul prietenilor dvs. pentru ca aceștia să adauge botul și la serverele lor.

Bine, deci ce altceva pot face?

Dincolo de configurarea de bază, orice altceva depinde în totalitate de dvs. Dar, acest lucru nu ar fi mult un tutorial dacă ne-am opri la Hello World, așa că haideți să trecem în revistă 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 console.log(client)să adăugați la începutul codului dvs. și să aruncați o privire asupra obiectului client din consolă:

De aici, puteți învăța multe. Deoarece puteți adăuga un bot la mai multe servere simultan, serverele fac parte din Guilds obiectul hartă. În acel obiect se află breslele individuale (care este numele API pentru „server”) și acele obiecte ale breslei au liste de canale care conțin toate informațiile și listele de mesaje. API-ul este foarte profund și poate dura ceva timp pentru a învăța, dar cel puțin este ușor să îl configurați și să începeți să învățați.