1 |
import { GuildMember } from "discord.js"; |
import { GuildMember } from "discord.js"; |
2 |
import DiscordClient from "../client/Client"; |
import DiscordClient from "../client/Client"; |
3 |
import BaseCommand from "../utils/structures/BaseCommand"; |
import BaseCommand from "../utils/structures/BaseCommand"; |
4 |
|
import Service from "../utils/structures/Service"; |
5 |
|
|
6 |
export default class Auth { |
export default class Auth extends Service { |
|
constructor(protected client: DiscordClient) { |
|
|
|
|
|
} |
|
|
|
|
7 |
async verify(member: GuildMember, command: BaseCommand): Promise<boolean> { |
async verify(member: GuildMember, command: BaseCommand): Promise<boolean> { |
8 |
|
if (command.ownerOnly && !this.client.config.props.global.owners.includes(member.user.id)) { |
9 |
|
return false; |
10 |
|
} |
11 |
|
|
12 |
const cmds: string[] = await this.client.config.get('global_commands'); |
const cmds: string[] = await this.client.config.get('global_commands'); |
13 |
|
|
14 |
if (cmds.indexOf(command.getName()) !== -1) { |
if (cmds.indexOf(command.getName()) !== -1) { |
15 |
return true; |
return true; |
16 |
} |
} |
17 |
|
|
|
if (command.ownerOnly && !this.client.config.props.global.owners.includes(member.user.id)) { |
|
|
return false; |
|
|
} |
|
|
|
|
18 |
if (await member.roles.cache.has(await this.client.config.get('mod_role'))) { |
if (await member.roles.cache.has(await this.client.config.get('mod_role'))) { |
19 |
let restricted: string[] = []; |
let restricted: string[] = []; |
20 |
const roleCommands: { [key: string]: string[] } = await this.client.config.get('role_commands'); |
const roleCommands: { [key: string]: string[] } = await this.client.config.get('role_commands'); |