Easy command handling for revolt.js
command handler for revolt.js bot project
npm i revolthandler.js
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"], //optional , 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"], //optional , optional add more owner Id
path: "./commands", //optinal, (default : "./commands")
});
//...
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
}
}
//"./commands/general/ping.js"
exports.default = {
name: ["ping", "delay"],
description: "Ping!", //description :P
//Be careful
code(message, args, client /*,command*/) {
//Your code here
},
};
//"./commands/owner/test.js"
exports.default = {
name: ["eval", "deneme"],
ownerOnly: {
errorMsg(message, args, client, command) {
//optional
message.reply("You can't use this command");
},
},
code(message, args, client) {
//your code here
},
};
//"./commands/moderate/perm.js"
exports.default = {
name: "perm",
permissions: {
perms: {
user: ["KickMembers"],
bot: ["KickMembers"],
}, //You can see the perm names in : https://revolt.js.org/classes/ServerMember.html#hasPermission
errorMsg(message, args, client, command) {
//optional
message.reply(
`You must have ${command.permission.perms.user.join(
","
)} permission(s) to use this command`
);
},
botErrorMsg(message, args, client, command) {
//optional
message.reply(
`I need the ${command.permission.perms.bot.join(
","
)} permission(s) to execute this command`
);
},
},
code(msg, args, client) {
//Your code here
},
};
//"./commands/general/indm.js"
exports.default = {
name: "in-server",
guildOnly: {
errorMsg(message, author, client) {
//optional
message.reply("You can't use this commmand in dm or group");
},
},
code(message, args, client) {
//Your code here
},
};
//"./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
},
};
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] });
},
};