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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 344 - (hide annotations)
Mon Jul 29 17:29:40 2024 UTC (8 months, 1 week ago) by rakin
File MIME type: application/typescript
File size: 1173 byte(s)
chore: eslint autofix
1 rakin 51 import { GuildMember } from "discord.js";
2 rakin 58 import BaseCommand from "../utils/structures/BaseCommand";
3 rakin 226 import Service from "../utils/structures/Service";
4 rakin 51
5 rakin 226 export default class Auth extends Service {
6 rakin 58 async verify(member: GuildMember, command: BaseCommand): Promise<boolean> {
7 rakin 266 if (command.ownerOnly && !this.client.config.props.global.owners.includes(member.user.id)) {
8     return false;
9     }
10    
11 rakin 51 const cmds: string[] = await this.client.config.get('global_commands');
12    
13 rakin 58 if (cmds.indexOf(command.getName()) !== -1) {
14 rakin 51 return true;
15     }
16    
17     if (await member.roles.cache.has(await this.client.config.get('mod_role'))) {
18     let restricted: string[] = [];
19     const roleCommands: { [key: string]: string[] } = await this.client.config.get('role_commands');
20    
21     for (const roleID in roleCommands) {
22     if (await member.roles.cache.has(roleID)) {
23     restricted = await roleCommands[roleID];
24     break;
25     }
26     }
27    
28 rakin 58 return restricted.indexOf(command.getName()) === -1;
29 rakin 51 }
30    
31     return false;
32     }
33     };

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26