/[sudobot]/trunk/src/services/Auth.ts
ViewVC logotype

Contents of /trunk/src/services/Auth.ts

Parent Directory Parent Directory | Revision Log Revision Log


Revision 51 - (show annotations)
Mon Jul 29 17:28:23 2024 UTC (8 months, 1 week ago) by rakin
File MIME type: application/typescript
File size: 989 byte(s)
Release version 2.0
1 import { GuildMember } from "discord.js";
2 import DiscordClient from "../client/Client";
3
4 export default class Auth {
5 constructor(protected client: DiscordClient) {
6
7 }
8
9 async verify(member: GuildMember, command: string): Promise<boolean> {
10 const cmds: string[] = await this.client.config.get('global_commands');
11
12 if (cmds.indexOf(command) !== -1) {
13 return true;
14 }
15
16 if (await member.roles.cache.has(await this.client.config.get('mod_role'))) {
17 let restricted: string[] = [];
18 const roleCommands: { [key: string]: string[] } = await this.client.config.get('role_commands');
19
20 for (const roleID in roleCommands) {
21 if (await member.roles.cache.has(roleID)) {
22 restricted = await roleCommands[roleID];
23 break;
24 }
25 }
26
27 return restricted.indexOf(command) === -1;
28 }
29
30 return false;
31 }
32 };

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26