revolthandler.js
TypeScript icon, indicating that this package has built-in type declarations

2.2.0 • Public • Published

revolthandler.js

Description

Easy command handling for revolt.js

Table of contents

Warn

This version work with revolt.js@6.0.20

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
  },
};

Will add new features in the future

revolthandler.js

Package Sidebar

Install

npm i revolthandler.js

Weekly Downloads

1

Version

2.2.0

License

MIT

Unpacked Size

17 kB

Total Files

14

Last publish

Collaborators

  • mrturk