Početna » kako da » Kako napraviti svoj vlastiti nesklad Bot

    Kako napraviti svoj vlastiti nesklad Bot

    Discord ima izvrstan API za pisanje prilagođenih robota i vrlo aktivnu zajednicu botova. Danas ćemo pogledati kako započeti izradu vlastitog.

    Trebat će vam malo znanja o programiranju za kodiranje botova, tako da nije za svakoga, ali na sreću postoje neki moduli za popularne jezike koji ga čine vrlo jednostavnim. Koristit ćemo najpopularniji diskord.js.

    Početak rada

    Krenite prema portalu Bot diska i stvorite novu aplikaciju.

    Želite zabilježiti ID klijenta i tajnu (koju biste trebali čuvati u tajnosti, naravno). Međutim, to nije bot, već samo "aplikacija". Morat ćete dodati bot pod karticu "Bot".

    Zapišite i ovaj znak i čuvajte ga u tajnosti. Ni u kojem slučaju ne obvezujte ovaj ključ Githubu. Vaš će bot gotovo odmah biti sjeckan.

    Instalirajte Node.js i Get Coding

    Da biste pokrenuli Javascript kôd izvan web stranice, potreban vam je Node. Preuzmite ga, instalirajte ga i provjerite radi li u terminalu (ili Command Prompt, jer bi sve to trebalo raditi na Windows sustavima). Zadana naredba je "čvor".

    Preporučujemo i instaliranje alata nodemon. To je aplikacija naredbenog retka koja prati kod vašeg bota i automatski se ponovno pokreće na promjene. Možete ga instalirati pokretanjem sljedeće naredbe:

    npm i -g nodemon

    Trebat će vam uređivač teksta. Možete koristiti samo bilježnicu, ali preporučujemo Atom ili VSC.

    Evo našeg "Pozdravnog svijeta":

    const Discord = require ('discord.js'); const client = novi Discord.Client (); client.on ('ready', () => console.log ('Prijavljen kao $ client.user.tag!');); client.on ('message', msg => if (msg.content === 'ping') msg.reply ('pong');); client.login ( 'token');

    Ovaj kod je preuzet iz primjera discord.js. Razdvojimo ga.

    • Prve dvije linije su za konfiguraciju klijenta. Prvi redak uvozi modul u objekt nazvan "Discord", a linija dva inicijalizira objekt klijenta.
    • client.on ( 'spreman') Blok će se aktivirati kada se bot pokrene. Ovdje je samo konfigurirano za zapisivanje imena na terminal.
    • client.on ( 'poruke') Blok će pucati svaki put kada nova poruka bude postavljena na bilo koji kanal. Naravno, morat ćete provjeriti sadržaj poruke i to je ono što ako blok. Ako poruka samo kaže "ping", onda će odgovoriti s "Pong!"
    • Posljednji se redak prijavljuje s tokenom s bot portala. Očito, token na slici ovdje je lažni. Nikada ne postavljajte svoj token na internet.

    Kopirajte ovaj kôd, zalijepite ga na dno i spremite ga kao index.js u određenoj mapi.

    Kako pokrenuti Bot

    Prijeđite na svoj terminal i pokrenite sljedeću naredbu:

    nodemon --inspect index.js

    Time se pokreće skripta i otvara program za otklanjanje pogrešaka u pregledniku Chrome kojem možete pristupiti upisivanjem chrome: // pregledati /  u Chromeovu Omnibaru, a zatim otvara "namjenski devtools za Node".

    Sada treba samo reći: "Prijavljeni ste kao", ali ovdje sam dodao redak koji će zapisati sve objekte poruke primljene u konzolu:

    Dakle, što čini ovaj objekt poruke? Puno stvari, zapravo:

    Većina osobito, imate autor informacije i kanal informacije, koje možete pristupiti s msg.author i msg.channel. Preporučujem ovu metodu bilježenja objekata u Devtools čvora Chromea i samo gledate okolo da biste vidjeli što ga čini uspješnim. Možda ćete pronaći nešto zanimljivo. Ovdje, na primjer, bot zapisuje svoje odgovore na konzolu, tako da botovi odgovori pokreću client.on ( 'poruke'). Dakle, napravio sam spambot:

    Bilješka: Budite oprezni s tim, jer se zapravo ne želite baviti rekurzijom.

    Kako dodati Bot na vaš poslužitelj

    Ovaj dio je teži nego što bi trebao biti. Morate uzeti ovaj URL:

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

    Zamijenite CLIENTID s ID-om klijenta vašeg bota, koji se nalazi na kartici s općim informacijama na stranici aplikacije. Nakon što je to učinio ipak, možete dati link na svoje prijatelje da ih dodati bot na svoje poslužitelje kao dobro.

    U redu, pa što još mogu učiniti?

    Osim osnovnih postavki, sve drugo ovisi o vama. Ali, to ne bi bilo mnogo tutorijala ako bismo se zaustavili na pozdravnom svijetu, pa hajde da pogledamo dio dokumentacije, tako da imate bolju ideju o tome što je moguće. Predlažem da pročitate što više možete, jer je vrlo dobro dokumentirano.

    Ja bih preporučio dodavanje console.log (klijent) na početak koda i pogled na objekt klijenta u konzoli:

    Odavde možete puno naučiti. Budući da možete dodati bot na više poslužitelja odjednom, poslužitelji su dio cehovi objekt karte. U tom objektu su pojedinačni cehovi (što je naziv API-ja za “poslužitelj”), a ti cehovski objekti imaju popise kanala koji sadrže sve informacije i popise poruka. API je vrlo dubok i može potrajati dok uči, ali barem ga je lako postaviti i početi učiti.