Discordie are un API excelent pentru scrierea roboților personalizați și un program foarte activ comunitate bot . Astăzi vom arunca o privire la cum să începeți să vă creați propriile.
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 îl fac foarte ușor de realizat. O vom folosi pe cea mai populară, discord.js .
LEGATE DE: Cum să creați, să configurați și să gestionați serverul dvs. Discord
Noțiuni de bază
Mergeți la Discord’s portalul bot și creați o nouă aplicație.
Veți dori să faceți o notă a ID-ului și a secretului clientului (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 Nodul . 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 oricare dintre acestea Atom sau VSC .
Iată „Hello World”:
const Discord = require ('discord.js');
const client = new Discord.Client ();
client.on ('gata', () => {
console.log(`Logged in as ${client.user.tag}! `);
});
client.on ('mesaj', msg => {
if (msg.content === 'ping') {
msg.reply('pong');
}
});
client.login („token”);
Acest cod este preluat din discord.js exemplu. 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 („gata”)blocul se va declanșa când pornește robotul. Aici, este doar configurat pentru a-și înregistra numele la terminal. -
client.on („mesaj”)blocul se 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 ceea cedacăblocul face. 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 declanșează, de asemenea, depanatorul Chrome, pe care îl puteți accesa tastând
chrome: // inspect /
în Omnibar-ul Chrome și apoi deschiderea „devtools dedicate pentru Node”.
Acum, ar trebui să spună „Conectat ca <nume-bot>”, 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țiile despre autor și informațiile 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 căutarea în jur pentru a vedea ce 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ă se declanșeze
client.on („mesaj”)
. Deci, am făcut un spambot:
Notă : Aveți grijă la acest lucru, deoarece nu doriți 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:
https://discordapp.com/oauth2/authorize?client_id=CLIENTID&scope=bot
Și înlocuiți CLIENTID cu ID-ul de client al botului dvs., care se găsește în fila cu 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ă să trecem în revistă unele dintre 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)
până la începutul codului dvs. și aruncând 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
Bresle
obiect hartă. În acel obiect se află individul
Bresle
(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.