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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 51 - (hide 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 rakin 51 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