Bot discord w js – Discord.js od podstaw #1

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ą.

Chcesz być na bieżąco? Obserwuj nas w google news lub polub nas na Facebooku.