Add level command for checking your permission level with the bot

This commit is contained in:
Dragory 2018-07-14 20:56:08 +03:00
parent 6bf865af77
commit 67e4e811a7

View file

@ -1,13 +1,21 @@
import { Plugin, decorators as d } from "knub"; import { Plugin, decorators as d } from "knub";
import { Message, TextChannel } from "eris"; import { Message, TextChannel } from "eris";
import { errorMessage } from "../utils";
export class UtilityPlugin extends Plugin { export class UtilityPlugin extends Plugin {
getDefaultOptions() { getDefaultOptions() {
return { return {
permissions: { permissions: {
roles: false roles: false,
level: false
}, },
overrides: [ overrides: [
{
level: ">0",
permissions: {
level: true
}
},
{ {
level: ">=50", level: ">=50",
permissions: { permissions: {
@ -24,4 +32,20 @@ export class UtilityPlugin extends Plugin {
const roles = (msg.channel as TextChannel).guild.roles.map(role => `${role.name} ${role.id}`); const roles = (msg.channel as TextChannel).guild.roles.map(role => `${role.name} ${role.id}`);
msg.channel.createMessage("```" + roles.join("\n") + "```"); msg.channel.createMessage("```" + roles.join("\n") + "```");
} }
@d.command("level", "[userId:string]")
@d.permission("level")
async levelCmd(msg: Message, args) {
const member = args.userId ? this.guild.members.get(args.userId) : msg.member;
if (!member) {
msg.channel.createMessage(errorMessage("Member not found"));
return;
}
const level = this.getMemberLevel(member);
msg.channel.createMessage(
`The permission level of ${member.username}#${member.discriminator} is **${level}**`
);
}
} }