Jums bus reikalingos šiek tiek programavimo žinių, koduojančių botą, taigi tai ne visiems, bet laimei yra keletas populiarių kalbų modulių, kuriuos labai lengva padaryti. Mes panaudosime populiariausią, discord.js.
Pradžia
Eikite į "Discord bot" portalą ir sukurkite naują programą.
Įdiekite "Node.js" ir gaukite kodavimą
Norint paleisti Javascript kodą ne tinklalapyje, jums reikia mazgo. Atsisiųskite ją, įdiekite ją ir įsitikinkite, kad jis veikia terminalo (arba komandinės eilutės, nes visa tai turėtų veikti "Windows" sistemose). Numatyta komanda yra "mazgas".
Taip pat rekomenduojame įdiegti "nodemon" įrankį. Tai komandinės eilutės programa, kuri stebi jūsų boto kodą ir automatiškai paleidžiama pakeitimus. Galite jį įdiegti paleisdami šią komandą:
npm i -g nodemon
Jums reikės teksto redaktoriaus. Galėtumėte naudoti "notepad", bet mes rekomenduojame "Atom" arba "VSC".
Štai mūsų "Sveiki pasaulis":
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 kodas yra paimtas iš "discord.js" pavyzdžio. Pabandykime.
- Pirmosios dvi eilutės yra konfigūruoti klientą. Pirmoji eilutė importuoja modulį į objektą, vadinamą "Diskord", o kita linija inicijuoja kliento objektą.
-
The
client.on('ready')
blokas užsidegs, kai botas paleidžiamas. Čia jis tik sukonfigūruotas, kad prisijungtų prie terminalo.
-
The
client.on('message')
blokas užsidegs kiekvieną kartą, kai į bet kurį kanalą bus paskelbta nauja žinutė. Žinoma, turėsite patikrinti pranešimo turinį, ir tai, ką
if
blokas daro. Jei pranešime tik sakoma "ping", tada jis atsakys "Pong!"
- Paskutinė eilutė prisijungia su boto portalo žetonu. Akivaizdu, kad zip ekrane piktograma čia yra netikra. Niekada nepateikite savo simbolio internete.
Nukopijuokite šį kodą, įklijuokite savo raktą apačioje ir išsaugokite jį kaip
index.js
atskirame aplanke.
Kaip paleisti bot
nodemon --inspect index.js
Tai paleidžia scenarijų, taip pat suaktyvina "Chrome" debugerį, kurį galite pasiekti įvesdami tekstą
chrome://inspect/
į "Chrome" Omnibarą ir tada atidarykite "devtools for Node".
Dabar jis turėtų tiesiog pasakyti "Prisijungęs kaip
client.on('message')
. Taigi aš padariau spambot:
Pastaba: Būk atsargus, nes jūs tikrai nenorite elgtis su pasikartojimu.
Kaip pridėti bot prie serverio
https://discordapp.com/oauth2/authorize?client_id=CLIENTID&scope=bot
Ir pakeiskite "CLIENTID" savo boto kliento ID, kuris yra bendrame programos lapo skirtuke. Kai tai padaroma, galite pateikti nuorodą savo draugams, kad jie pridėtų robotą taip pat į savo serverius.
Gerai, taigi, ką dar galiu padaryti?
Aš norėčiau rekomenduoti pridėti
console.log(client)
į savo kodo pradžią ir pažiūrėję į kliento objektą konsolėje:
Guilds
žemėlapio objektas. Tame objekte yra atskiri gildijos (tai yra "serverio" API pavadinimas) ir tie gildijos objektai turi kanalų sąrašus, kuriuose yra visa informacija ir pranešimų sąrašai. API yra labai gilus ir mokytis gali šiek tiek laiko, bet bent jau lengva nustatyti ir pradėti mokytis.