Szükséged lesz egy kis programozási ismeretre a bot kódolására, így nem mindenkinek, de szerencsére vannak olyan modulok a népszerű nyelvek számára, amelyek nagyon könnyűek. A legnépszerűbb, a discord.js-et használjuk.
Elkezdeni
Vezesse át a Discord bot botját, és hozzon létre egy új alkalmazást.
Telepítse a Node.js és a Get Coding alkalmazást
Ha a Javascript-kódot egy weboldalon kívül kívánja futtatni, akkor Node-ot kell megadnia. Töltse le, telepítse, és győződjön meg róla, hogy működik egy terminálon (vagy parancssorban, mert mindeznek Windows rendszereken kell működnie). Az alapértelmezett parancs "csomópont".
Javasoljuk továbbá a nodemon eszköz telepítését is. Ez egy parancssori alkalmazás, amely figyeli a botod kódját, és automatikusan újraindul a változtatásokon. A következő parancs futtatásával telepíthető:
npm i -g nodemon
Szüksége lesz szövegszerkesztőre. Csak jegyzettömböt használhat, de javasoljuk Atom vagy VSC.
Itt van a "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');
Ez a kód a discord.js példából származik. Letöröljük.
- Az első két sor az ügyfél beállítása. Az 1. vonal importálja a modult egy "Discord" nevű objektumnak, és a 2. sor inicializálja az ügyfélobjektumot.
-
A
client.on('ready')
blokk fog lőni, amikor a bot elindul. Itt csak úgy van beállítva, hogy beírja a nevét a terminálnak.
-
A
client.on('message')
A blokk minden alkalommal bekapcsol, amikor egy új üzenetet küld minden csatornára. Természetesen ellenőrizni kell az üzenet tartalmát, és ez az, amit a
if
blokk nem. Ha az üzenet csak azt mondja, hogy "ping", akkor válaszol a "Pong!"
- Az utolsó sor a bot-portálhoz tartozó tokennel jelentkezik be. Nyilvánvaló, hogy a képernyőn látható jelzés hamis. Soha ne tedd közzé a tokenet az interneten.
Másolja le ezt a kódot, illessze be a token aljára, és mentse el
index.js
egy dedikált mappában.
Hogyan kell futtatni a botot?
nodemon --inspect index.js
Ez elindítja a szkriptet, és fel is szerzi a Chrome hibakeresőt, amelyet a gépeléssel elérhet
chrome://inspect/
a Chrome Omnibárjába, majd megnyitja a "dedikált devtools for Node" -ot.
Most csak azt mondja: "be van jelentkezve
client.on('message')
. Tehát egy spambotot készítettem:
jegyzet: Vigyázz, mert nem igazán akarsz foglalkozni a rekurzióval.
Hogyan lehet hozzáadni a botot a kiszolgálóhoz?
https://discordapp.com/oauth2/authorize?client_id=CLIENTID&scope=bot
És helyezze a CLIENTID-et a bot ügyfél-azonosítójával, amely megtalálható az alkalmazás oldal általános információs lapján. Miután ez megtörtént, megadhatod a barátainak a linket, hogy hozzáadják a botot a szervereikhez is.
Rendben, akkor mit tehetek?
Azt javaslom, hogy adjunk hozzá
console.log(client)
a kód megkezdéséhez, és nézze meg az ügyfélobjektumot a konzolban:
Guilds
térkép objektum. Ebben a objektumban az egyes céhek (az API neve a "kiszolgálónak"), és azok a céhek objektumok tartalmaznak csatornalistákat, amelyek tartalmazzák az összes információt és üzenetlistát. Az API nagyon mély, és eltarthat egy ideig a tanuláshoz, de legalább könnyű beállítani és elkezdeni a tanulást.