niedziela , 8 września 2024

Tworzenie Bota na Discorda w JavaScript cz.2

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

About Klovy

Założyciel serwisu klovy.pl. Moje zainteresowania to: informatyka, słuchanie muzyki (najbardziej typu: Disco Polo, Dance, Pop itp.), czy również sporty (zarówno letnie jak i zimowe). Lubię także pomagać wielu osobom, szczególnie w branży IT, stąd zamysł o platformie Klovy.

Check Also

Ataki Brute Force (Cloudflare) – jak skutecznie uchronić stronę?

Ataki typu Brute Force (siłowe) to jedne z najstarszych i najbardziej powszechnych metod stosowanych przez …

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *