Koduleht » kuidas » Kuidas teha oma vastuolu Bot

    Kuidas teha oma vastuolu Bot

    Lahkarvamusel on suurepärane API kohandatud botide kirjutamiseks ja väga aktiivne botide kogukond. Täna vaatame, kuidas alustada omaenda tegemisega.

    Botide koodimiseks on vaja natuke programmeerimisteadmisi, nii et see pole kõigile mõeldud, kuid õnneks on mõned moodulid populaarsetele keeltele, mis muudavad selle väga lihtsaks. Me kasutame kõige populaarsemat, discord.js.

    Alustamine

    Suunduge Discordi botiportaali ja looge uus rakendus.

    Sa tahad teha kliendi ID ja saladuse (mida peaksite muidugi saladuses hoidma) märkima. Kuid see ei ole bot, lihtsalt „Rakendus”. Peate boti lisama vahekaardile „Bot”.

    Märgistage ka see sümbol ja hoidke seda salajas. Mitte mingil juhul ei võta seda võtit Githubile. Teie bot hakatakse peaaegu kohe häkkima.

    Installige Node.js ja Get Coding

    JavaScripti koodi käivitamiseks väljaspool veebilehte vajate sõlme. Laadige see alla, installige see ja veenduge, et see töötab terminalis (või käsureal, kuna kõik see peaks töötama Windowsi süsteemides). Vaikekäsk on “sõlm”.

    Samuti soovitame paigaldada nodemoni tööriista. See on käsurea rakendus, mis jälgib teie boti koodi ja käivitab muudatused automaatselt. Võite selle installida järgmise käsu abil:

    npm i -g nodemon

    Sa pead tekstiredaktori. Sa võiksid lihtsalt kasutada notepadi, kuid soovitame kas Atom või VSC.

    Siin on meie „Tere maailm”:

    const Discord = vaja ('discord.js'); const client = uus ebakõla.Klient (); client.on ('valmis', () => console.log ('sisse logitud $ client.user.tag!');); client.on ('message', msg => if (msg.content === 'ping') msg.reply ('pong');); client.login ('token');

    See kood on võetud näites discord.js. Lõhkem selle maha.

    • Kaks esimest rida on kliendi seadistamine. Esimene rida impordib mooduli objektiks, mida nimetatakse “lahknevuseks”, ja teine ​​rida lähtestab kliendi objekti.
    • The client.on (valmis) blokeerib tulekahju, kui bot käivitub. Siin on see lihtsalt konfigureeritud logima oma nime terminali.
    • The client.on ('message') blokeerib tulekahju iga kord, kui uus sõnum postitatakse mis tahes kanalile. Loomulikult peate kontrollima sõnumi sisu ja seda just see kui blokeerib. Kui sõnum ütleb lihtsalt "ping", siis vastab "Pong!"
    • Viimane rida logib sisse botiportaali märgiga. Ilmselgelt on ekraanil olev sümbol võlts. Ärge kunagi postitage oma sümbolit internetis.

    Kopeerige see kood, kleepige oma märgis allosas ja salvestage see index.js spetsiaalses kaustas.

    Kuidas käivitada Bot

    Suunduge oma terminalile ja käivitage järgmine käsk:

    nodemon --inspect index.js

    See käivitab skripti ja käivitab ka Chrome'i siluri, mida saate sisestada kirjutades kroom: // kontrollida /  Chrome'i Omnibarisse ja seejärel avab „spetsiaalsed devtoolid sõlme jaoks”.

    Nüüd peaks see lihtsalt ütlema „Sisse logitud”, kuid siin olen lisanud rea, mis logib kõik konsoolile saabunud sõnumiobjektid:

    Mis teeb selle sõnumi objekti? Palju asju, tegelikult:

    Kõige olulisem on, et teil on autori info ja kanali info, millele pääsete juurde sõnumiga msg.author ja msg.channel. Soovitan seda meetodit objektide Chrome'i sõlme devtools'isse logimiseks ja lihtsalt vaatan, et näha, mis teeb selle toimimise. Võite leida midagi huvitavat. Näiteks logib bot oma vastused konsoolile, nii et boti vastused käivituvad client.on ('message'). Nii et tegin spamboti:

    Märge: Olge sellega ettevaatlik, sest sa ei taha tõesti rekursiooniga tegeleda.

    Kuidas lisada Bot oma serverile

    See osa on raskem kui peaks olema. Sa pead selle URL-i tegema:

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

    Ja asenda CLIENTID oma boti kliendi ID-ga, mis asub rakenduse lehe üldise teabe vahekaardil. Kui see siiski on tehtud, võite anda oma sõpradele lingi, et nad lisaksid bot oma serveritele.

    Olgu, siis mida veel teha saan?

    Lisaks põhilisele seadistusele on midagi muud teie enda otsustada. Aga see ei oleks palju õpetus, kui me peatusime tervitusmaailmas, nii et läheme üle mõnele dokumentatsioonile, nii et teil on parem ülevaade sellest, mis on võimalik. Ma soovitan teil lugeda nii palju kui võimalik, sest see on väga hästi dokumenteeritud.

    Soovitan lisada console.log (klient) koodi algusse ja vaadates konsooli kliendiobjekti:

    Siit saate palju õppida. Kuna saate botile lisada mitu serverit korraga, on serverid osa sellest Gildid kaardiobjekt. Selles objektis on üksikud Guildid (mis on API nimi "server") ja nendel gildi objektidel on kanaliloendid, mis sisaldavad kogu info ja sõnumite loendeid. API on väga sügav ja võib õppida aega, kuid vähemalt on lihtne seadistada ja alustada õppimist.