Skip to content

ramazaneris/revolthandler.js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

revolthandler.js

Description

Easy command handling for revolt.js

Table of contents

About

command handler for revolt.js bot project

Badges

NPM Downloads

Install

npm i revolthandler.js

Example

Handler

Setup

CommonJS

const revolt = require("revolt.js");
const client = new revolt.Client();
const revoltHandler = require("revolthandler.js");
const handler = new revoltHandler.Handler({
    client: client, //required
    prefix: "!", //required
    owners: ["Your Revolt ID"], //required , optional add more owner Id
    path: "./commands", //optional, (default : "./commands")
});
client.once("ready", () => {
    handler.start();
});
client.loginBot("YOUR_BOT_TOKEN_HERE");

EsModule

//...
import { Handler } from "revolthandler.js";
const handler = new Handler({
    client: client, //required
    prefix: "!", //required
    owners: ["Your Revolt ID"], //required , optional add more owner Id
    path: "./commands", //optinal, (default : "./commands")
});
//...

Standart using example

CommonJS

//"./commands/general/ping.js"
exports.default = {
    name: "ping",
    description: "Ping!", //description :P
    //Be careful
    code(message, args, client) {
        //Your code here
        message.channel.sendMessage("Pong");
    },
};

EsModule

export default {
  name:"ping",
  description:"Ping!"
  code(message:any,args:string[],client:any){
    //Your code here
  }
}

Aliases example

//"./commands/general/ping.js"
exports.default = {
    name: "ping",
    aliases: ["delay"],
    description: "Ping!", //description :P
    //Be careful
    code(message, args, client) {
        //Your code here
    },
};

Only owner command example

//"./commands/owner/test.js"
exports.default = {
    name: "eval",
    aliases: ["eval"],
    ownerOnly: {
        status: true,
        errorMsg(message, author, command) {
            //optional
            message.reply("You can't use this command");
        },
    },
    code(message, args, client) {
        //your code here
    },
};

Only perm(s) command example

//"./commands/moderate/perm.js"
exports.default = {
    name: "perm",
    ownerPerms: {
        perms: ["KickMembers"], //You can see the perm names in : https://revolt.js.org/modules/permissions_definitions.html#Permission (onlyString)
        errorMsg(message, member, command, perms) {
            //optional
            message.reply(
                `You must have ${perms.join(
                    ","
                )} permission(s) to use this command`
            );
        },
        code(msg, args, client) {
            //Your code here
        },
    },
};

Allow DM

//"./commands/general/indm.js"
exports.default = {
    name: "indm",
    allowDM: {
        //be careful "DM", not "Dm or dm"
        status: true,
        errorMsg(message, author, client) {
            //optional
            message.reply("You can't use this commmand in dm or group");
        },
        code(message, args, client) {
            //Your code here
        },
    },
};

Non Prefixed

//"./commands/general/nonprefixed.js"
exports.default = {
    name: "withoutprefix", //WARN : The command name is case sensitive here!
    nonPrefixed: true,
    code(message, args, client) {
        //Your code here
    },
};

Embed Builder & Uploader

All in one

const { EmbedBuilder, Uploader } = require("revolthandler.js");
exports.default = {
    name: "coolembed",
    async code(message, args, client) {
        const myuploader = new Uploader(client);
        const myemb = new EmbedBuilder();
        myemb
            .setDescription("Cool describe")
            .setColour("red") //hex code or name is acceptable
            .setTitle("Cool title")
            .setMedia(
                await myuploader.upload("imagelink/imagebuffer", "filename.png")
            ) ////You can add an big picture or file
            .setUrl("https://www.npmjs.com/package/revolthandler.js")
            .setIconUrl("imagelink"); //You can add an picture in front of the title
        message.channel.sendMessage({ embeds: [myemb] });
    },
};

Will add new features in the future

revolthandler.js