Cześć, dzisiaj przychodzę do was z kolejną częścią tworzenia bota na discorda
1. Pobranie paczek i ułożenie plików w strukturze katalogów
- Na początek pobierzemy paczki takie jak:
discord-api-types
i@discordjs/rest
zrobisz to w ten sposób:npm install discord-api-types @discordjs/rest
- Kolejnym krokiem będzie ułożenie plików i stworzenie potrzebnych:
zrób to w ten sposób:
- Tutaj stworzyłem plik ’handler.js’ oraz folder ’src’ w którym umieściłem foldery ’commands’ i ’events’, w folderze ’commands’ stworzyłem także plik ’ping.js’ a w folderze ’events’ stworzyłem pliki ’ready.js’ i ’interactionCreate.js’.
2. Utworzenie handlera, i pliku 'ready’ i dołączenie ich do index
Główną funkcją handlera jest zarządzanie ładowaniem komend i eventów, co pozwala na zachowanie porządku i modularności w projekcie.
handler.js:
Cały kod znajduje się tutaj: https://lucjanmnm.klovy.pl/strony/discord/
index.js:
Dodajemy 2 linijki: const { loadEvents } = require("./handler");
oraz loadEvents(client);
ready.js:
const { Client } = require("discord.js");
const { loadCommands } = require("../../handler")
module.exports = {
name: "ready",
/**
*
* @param {Client} client
*/
async execute(client) {
loadCommands(client);
}
}
interactionCreate.js:
const { Client, Interaction } = require("discord.js");
module.exports = {
name: "interactionCreate",
/**
*
* @param {Client} client
* @param {Interaction} interaction
*/
async execute(client, interaction) {
if(interaction.isCommand()) {
if(!client.commands.has(interaction.commandName)) return;
const interactionFunction = client.commands.get(interaction.commandName);
interactionFunction(interaction, client);
}
}
}
3. Piszemy pierwszą komendę
Komenda będzie odpowiadała na wybraną / komendę.
W pliku ping.js który znajduje się w folderze commands piszemy:
const { SlashCommandBuilder, Client, Interaction } = require("discord.js");
module.exports = {
data: new SlashCommandBuilder()
.setName("ping")
.setDescription("Testowa komenda"),
/**
*
* @param {Interaction} interaction
* @param {Client} client
*/
async execute(interaction, client){
await interaction.deferReply();
interaction.editReply({ content: "pong" })
}
}
- SlashCommandBuilder – dzięki niemu możemy utworzyć / komendę
- module.exports – exportuje dane aby można było je wykorzystać
4. Uruchom bota
Wpisz node .
w terminal i zobacz efekt!
Discord:
5. Kod
cały kod znajduje się tu: https://lucjanmnm.klovy.pl/strony/discord/ w karcie: Tworzenie Bota na Discorda w JavaScript cz.2
PAMIĘTAJ! zmienić token w pliku .env na swój