1.2.2 • Published 12 months ago

multi-commands-beta v1.2.2

Weekly downloads
-
License
MIT
Repository
-
Last release
12 months ago

Introduction

Multi-Commands is an npm which allows you to have hybrid commands without the need of external frameworks to discord.js.

Beta

multi-command is currently undergoing testing and bug fixes.

Example

index.js

const Discord = require("discord.js") // npm i discord.js || yarn add discord.js
const MultiCommands = require("multi-commands-beta");
const client = new Discord.Client({
    intent: [
        // Your intents
    ]
})

client.on("ready", async(client) => {
    console.log("Hello World!")
    
const commands = new MultiCommands.Settings({
    Client: client, // Discord client
    path: "./commands", // String,
    debug: false // Boolean
})

client.commands = new Discord.Collection()


commands.setCollection(client.commands);
})

client.on("messageCreate", async(message) => {
    let prefix = "!";
    if (message.channel.type === Discord.ChannelType.DM) return;
    if (!message.content.toLowerCase() === prefix) return;
    if (!message.content.toLowerCase().startsWith(prefix)) return;

    const args = message.content.slice(prefix.length).trim().split(/ +/);

    const command = message.client.commands.find((d) => d.aliases.includes(args.shift().toLowerCase()))
        || message.client.commands.get(args.shift().toLowerCase());
        if (!command) return;
        const ctx = new MultiCommands.context(message, args)

        command.run(ctx)

})

client.on("interactionCreate", async(i) => {
    if (i.isCommand()) {
        const command = i.client.commands.get(i.commandName);
        const ctx = new MultiCommands.context(i)
        if (command) command.run(ctx)
    }
})

ping.js

module.exports = {
    name: "ping",
    aliases: ["pong"],
    slash: {
        name: "ping",
        description: "pong"
    },
    run: async(ctx) => {
        ctx.send({
            content: "Pong!", // String -> optional with embed
            ephemeral: true, // Boolean -> optional,
            reply: true, // Boolean -> optional,
            embeds: [], // Array -> optional with content,
            components: [] // Array -> optional with content
        })
    }
}
1.2.2

12 months ago

1.2.1

12 months ago

1.2.0

12 months ago

1.1.0

12 months ago

1.0.9

12 months ago

1.0.8

12 months ago

1.0.7

12 months ago

1.0.6

12 months ago

1.0.3

12 months ago

1.0.2

12 months ago

1.0.1

12 months ago

1.0.0

12 months ago