aboutsummaryrefslogtreecommitdiff
path: root/lib/extensions/discord.js/ExtendedUser.ts
blob: 7846a70171bd9a3c27f53645f5f4d513d813fedc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import { User } from 'discord.js';
import type { TanzaniteClient } from '../discord-akairo/TanzaniteClient.js';

interface Extension {
	/**
	 * Indicates whether the user is an owner of the bot.
	 */
	isOwner(): boolean;
	/**
	 * Indicates whether the user is a superuser of the bot.
	 */
	isSuperUser(): boolean;
}

declare module 'discord.js' {
	export interface User extends Extension {
		readonly client: TanzaniteClient;
	}
}

export class ExtendedUser extends User implements Extension {
	public override isOwner(): boolean {
		return this.client.isOwner(this);
	}

	public override isSuperUser(): boolean {
		return this.client.isSuperUser(this);
	}
}