Kaip padaryti savo nesantaiką Bot
Nesuderinamumas turi puikią API, skirtą rašyti pasirinktinius botus, ir labai aktyvią botų bendruomenę. Šiandien mes pažiūrėsime, kaip pradėti savo kūrimą.
Jums reikės šiek tiek programavimo žinių, kad koduotumėte botą, taigi tai ne visiems, bet laimei yra keletas populiarių kalbų modulių, dėl kurių tai labai lengva padaryti. Naudosime populiariausią, discord.js.
Darbo pradžia
Eikite į „Discord“ bot portalą ir sukurkite naują programą.
Jūs norėsite užsirašyti Kliento ID ir paslaptį (kurią, žinoma, turėtumėte paslaptis). Tačiau tai nėra botas, tiesiog „taikymas“. Turėsite pridėti botą skirtuke „Bot“.
Taip pat užsirašykite šį ženklą ir laikykite jį paslaptyje. Jokiomis aplinkybėmis nepadarykite šio rakto Github. Jūsų botas bus nulaužtas beveik iš karto.
Įdiekite „Node.js“ ir gaukite kodavimą
Jei norite paleisti „JavaScript“ kodą už tinklalapio ribų, jums reikia „Node“. Atsisiųskite jį, įdiekite ją ir įsitikinkite, kad jis veikia terminale (arba komandų eilutėje, nes visa tai turėtų veikti „Windows“ sistemose). Numatytoji komanda yra „mazgas“.
Taip pat rekomenduojame įdiegti mazgo įrankį. Tai komandų eilutės programa, kuri stebi jūsų boto kodą ir automatiškai paleidžia pakeitimus. Galite ją įdiegti atlikdami šią komandą:
npm i -g mazgas
Jums reikės teksto redaktoriaus. Galite tiesiog naudoti užrašų knygelę, tačiau rekomenduojame „Atom“ arba „VSC“.
Štai mūsų „Hello World“:
const Discord = reikalauti ('discord.js'); const client = naujas nesutapimas. client.on („ready“, () => console.log („Prisijungta kaip $ client.user.tag!))); client.on ('message', msg => if (msg.content === 'ping') msg.reply ('pong');); client.login ('token');
Šis kodas paimtas iš „discord.js“ pavyzdžio. Leiskite suskaidyti.
- Pirmosiose dviejose eilutėse reikia konfigūruoti klientą. Pirmoje eilutėje modulis importuojamas į objektą, vadinamą „Nesantaika“, o antra eilutė inicijuoja kliento objektą.
- The
client.on („paruoštas“)
blokas užsidegs, kai paleis botą. Čia tik sukonfigūruotas prisijungti prie jo pavadinimo į terminalą. - The
client.on („žinutė“)
blokas užsidegs kaskart, kai naujas pranešimas bus paskelbtas bet kuriame kanale. Žinoma, jums reikės patikrinti pranešimo turinį ir būtent taijei
blokuoja. Jei pranešimas tiesiog sako „ping“, tada jis atsakys „Pong!“ - Paskutinė eilutė prisijungia prie žetonų iš „bot“ portalo. Akivaizdu, kad ekrano simbolis yra netikras. Niekada nepateikite savo ženklo internete.
Nukopijuokite šį kodą, įklijuokite savo raktą apačioje ir išsaugokite jį kaip index.js
aplanke.
Kaip paleisti Bot
Eikite į savo terminalą ir atlikite šią komandą:
nodemon --inspect index.js
Tai paleidžia scenarijų, o taip pat įsijungia „Chrome“ derinimo priemonė, kurią galite pasiekti įvesdami chromo: // tikrinti /
į „Chrome“ „Omnibar“ ir tada atidarote „specialų„ devtools “mazgui“.
Dabar jis turėtų tiesiog pasakyti „Prisijungęs kaip“, bet čia pridėjau eilutę, kurioje bus užregistruoti visi į konsolę gauti objektai:
Taigi, kas sudaro šį pranešimą? Daug dalykų, iš tikrųjų:
Visų pirma turite autoriaus informaciją ir kanalo informaciją, kurią galite pasiekti naudodami msg.author ir msg.channel. Šį metodą rekomenduoju prisijungti prie „Chrome“ mazgo „devtools“ ir tiesiog žiūrėti, kad pamatytumėte, kas tai daro. Galite rasti kažką įdomaus. Pavyzdžiui, botas užregistruoja savo atsakymus į konsolę, taigi boto atsakymai paleidžiami client.on („žinutė“)
. Taigi, aš padariau spambotą:
Pastaba: Būkite atsargūs, nes tikrai nenorite susidoroti su rekursija.
Kaip pridėti Bot prie serverio
Ši dalis yra sunkesnė nei turėtų būti. Turite imtis šio URL:
https://discordapp.com/oauth2/authorize?client_id=CLIENTID&scope=bot
Ir pakeiskite „CLIENTID“ su „bot“ kliento ID, esančiu bendrosios informacijos skirtuko lape. Tačiau tai padarius, galite suteikti nuorodą savo draugams, kad jie taip pat pridėtų robotą į savo serverius.
Gerai, taigi, ką dar galiu padaryti?
Be pagrindinio nustatymo, bet kas kitas priklauso nuo jūsų. Tačiau tai nebūtų daug pamokos, jei sustabdome sveikas pasaulis, todėl pereikime prie kai kurių dokumentų, todėl jūs turite geresnį supratimą apie tai, kas įmanoma. Siūlau jums perskaityti kiek galite, nes tai labai gerai dokumentuota.
Aš rekomenduoju pridėti console.log (klientas)
kodo pradžioje ir pažvelgę į kliento objektą konsolėje:
Iš čia galite daug sužinoti. Kadangi vienu metu galite pridėti daugelį serverių, serveriai yra Gildijos
žemėlapio objektas. Tame objekte yra atskiros gildijos (kuri yra API pavadinimas „serveriui“), o tie gildijos objektai turi kanalų sąrašus, kuriuose yra visa informacija ir pranešimų sąrašai. API yra labai gilus ir gali užtrukti, kol pasimokys, bet bent jau lengva nustatyti ir pradėti mokytis.