Dzisiaj wam pokażę jak napisać bota discord w javascriptcie na bibliotece discord.js.
Pierwszym krokiem będzie wpisanie dwóch komend podanych poniżej
npm init -y
npm i discord.js
Pierwsza komenda tworzy nowy projekt, druga instaluje bibliotekę discord.js. Po wpisaniu komend tworzymy plik index.js oraz importujemy w nim klasę Client z biblioteki discord.js.
const { Client } = require('discord.js');
W kolejnych linijkach dodamy zmienną stałą const client, będzie ona zawierać instancje naszego bota.
const client = new Client();
Teraz możemy dodać event ready będzie on odpowiedzialny za powiadomienie nas o tym, że bot zalogował się do Discorda.
client.on('ready', () => {
console.log(`Zalogowano jako ${client.user.tag}`) // Obiekt client posiada wartość user, z której możemy wyciągnąć tag (username + discriminator) bota
});
Dodamy również event message, będzie odpowiadał za wywoływanie komend.
const prefix = '!'; // Definiujemy prefix naszego bota
client.on('message', (msg) => {
if (!msg.guild || msg.author.bot) return; // Sprawdzamy czy komenda jest wowałana na serwerze oraz czy autor jest botem
if (!msg.content.startsWith(prefix)) return;
const args = msg.content.slice(prefix.length).trim().split(/ +/g); // Argumenty komendy
const cmd = args.shift().toLowerCase(); // Komenda
if (cmd === 'ping') {
msg.channel.send(`> \`Pong! ${(~~(Math.round(client.ws.ping)))}ms\` `); // Odpowiedź na komendę "ping" zawierająca opóźnienie bota
} else if (cmd === 'pong') {
msg.channel.send(`<@!${msg.author.id}>`); // Odpowiedź na komendę pong pingująca autora komendy
}
});
Musimy jeszcze dodać logowanie się bota na token.
client.login('token twojego bota');
Aby odpalić bota wpisz w konsoli node ., możesz po tym sprawdzić czy komendy !ping oraz !pong działają.