Lai kodētu bot, jums būs vajadzīgas nedaudz programmēšanas zināšanas, tādēļ tas nav visiem, bet, par laimi, ir daži populāri valodu moduļi, kas padara to ļoti viegli izdarīt. Mēs izmantosim populārāko, discord.js.
Darba sākšana
Pārejiet pie Discord portāla un izveidojiet jaunu lietojumprogrammu.
Instalējiet Node.js un iegūstiet kodēšanu
Lai palaistu Javascript kodu ārpus tīmekļa lapas, jums nepieciešams Node. Lejupielādējiet to, instalējiet to un pārliecinieties, ka tas darbojas terminālā (vai komandrindas tekstā, jo tas viss darbosies ar Windows sistēmām). Noklusējuma komanda ir "mezgls".
Mēs iesakām arī instalēt nodemon rīku. Tā ir komandrindas lietotne, kas pārrauga jūsu bot kodu un automātiski restartējas pēc izmaiņām. Jūs varat to instalēt, izpildot šādu komandu:
npm i -g nodemon
Jums būs nepieciešams teksta redaktors. Jūs varētu vienkārši izmantot notepad, bet mēs iesakām vai nu Atom, vai VSC.
Lūk, mūsu "Hello World":
const Discord = require('discord.js'); const client = new Discord.Client(); client.on('ready', () => { console.log(`Logged in as ${client.user.tag}!`); }); client.on('message', msg => { if (msg.content === 'ping') { msg.reply('pong'); } }); client.login('token');
Šis kods ir ņemts no disord.js piemēra. Let's sadalīt to uz leju.
- Pirmās divas rindas ir konfigurēt klientu. Viena līnija importē moduli objektā ar nosaukumu "Diskord", un otra līnija inicializē klienta objektu.
-
The
client.on('ready')
bloks tiks aktivizēts, kad bot startēs. Šeit tas ir tikai konfigurēts, lai pieteiktos tā nosaukumam uz termināli.
-
The
client.on('message')
bloks tiks aizvērts katru reizi, kad jebkuram kanālam ir publicēta jauna ziņa. Protams, jums būs jāpārbauda ziņu saturs, un tas ir tas, ko
if
bloķē. Ja ziņojums tikai saka "ping", tad tas atbildēs ar "Pong!"
- Pēdējā rinda piesakās ar bot portāla pilnvaru. Acīmredzot, simbols ekrānuzņēmumā šeit ir viltota. Nekad neiesniedziet savu pilnvaru internetā.
Nokopējiet šo kodu, ielīmējiet to pilnvarā apakšā un saglabājiet to kā
index.js
mapē.
Kā palaist bot
nodemon --inspect index.js
Tas palaiž skriptu, kā arī aktivizē Chrome atkļūdotāju, kuru varat piekļūt, ierakstot
chrome://inspect/
Chrome versijā Omnibar un pēc tam atverot "devtooles par nodalījumu".
Tagad tam vajadzētu vienkārši teikt: "Pieteikties kā
client.on('message')
. Tātad es izveidoju spambots:
Piezīme: Esi uzmanīgs ar to, jo jūs patiešām nevēlaties risināt jautājumu par recursion.
Kā pievienot bot jūsu serverim
https://discordapp.com/oauth2/authorize?client_id=CLIENTID&scope=bot
Un aizvietojiet CLIENTID ar savu bot klienta ID, kas atrodams pieteikuma lapas cilnē Vispārīga informācija. Kad tas ir paveikts, tomēr jūs varat dot saiti saviem draugiem, lai viņi pievienotu bot saviem serveriem.
Labi, tātad, ko vēl es varu darīt?
Es ieteiktu pievienot
console.log(client)
uz sava koda sākumu un konsole apskatot klienta objektu:
Guilds
kartes objekts. Šajā objektā ir atsevišķas ģildes (kas ir API nosaukums "serverim"), un šiem ģildes objektiem ir kanālu saraksti, kuros ir visa informācija un ziņu saraksti. API ir ļoti dziļa, un, lai uzzinātu, tas var aizņemt laiku, bet vismaz to ir viegli iestatīt un sākt mācīties.