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

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

Parent Directory Parent Directory | Revision Log Revision Log


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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26