Saltar a contenido

Creación de Addons

Crear un Addon para NovaBot es sencillo.

Acerca de las variables en inglés

Debido al idioma original (en inglés), los códigos ejemplificados se mantendrán en ese mismo idioma durante esta guía, aunque se pueden modificar esos textos sin ningún problema.

Estructura de las carpetas

Estructura de las carpetas
novabot:
  - index.js
  - addons:
    - yourAddon:
      - index.js
      - events:
        - event.js
      - commands:
        - command.js

Para verificar que NovaBot leerá todos los archivos en orden, se debe seguir estrictamente la estructura de las carpetas. NovaBot automáticamente registrará todos los comandos dentro de la carpeta commands y registrará todos los eventos dentro de la carpeta events.

index.js

index.js simple
async function myFunction(){
    console.log("Hello World!");
}

module.exports = {
  name: "YourAddon",
  version: "1.0.0",
  author: "YourName",
  description: "My awesome add-on!",
  myFunction

Esto es un simple index.js. Como puedes ver, module.exports exporta los campos name, version, author y description. Estas variables son importantes para NovaBot, ya que los mostrará en el /reload y en la consola cuando inicie.

command.js

command.js simple
const { SlashCommandBuilder, MessageFlags } = require("discord.js");

const { myFunction } = require("../index.js");

module.exports = {
    data: new SlashCommandBuilder()
    .setName("command")
    .setDescription("Simple command"),

    async execute(interaction){
        await myFunction();
        await interaction.reply({
            content: "myFunction works!",
            flags: MessageFlags.Ephemeral
            //ephemeral: true is deprecated and obsolete
        })
    }
}
Esto creará un simple comando (/command) para nuestro bot que llamará a la función myFunction la cuál dirá "Hello world!" en la consola.

event.js

Evento simple
1
2
3
4
5
6
module.exports = {
    name: "messageCreate",
    async execute(message){
        console.log(`${message.author.id} wrote ${message}`);
    }
}
Esto enviará el mensaje "000000000000000000 wrote MyMessageContent" en la consola cada vez que alguien envíe un mensaje.

Éxito

¡Ya estamos! ¡Esperamos que esto ayude a liberar tu creatividad!