aboutsummaryrefslogtreecommitdiff
path: root/src/lib/extensions/discord.js/ExtendedUser.ts
blob: 23de523a9ec1da8e2ebe7546b1caeb4028954359 (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
30
31
32
33
34
35
import { User, type Partialize } from 'discord.js';

declare module 'discord.js' {
	export interface User {
		/**
		 * Indicates whether the user is an owner of the bot.
		 */
		isOwner(): boolean;
		/**
		 * Indicates whether the user is a superuser of the bot.
		 */
		isSuperUser(): boolean;
	}
}

export type PartialBushUser = Partialize<ExtendedUser, 'username' | 'tag' | 'discriminator' | 'isOwner' | 'isSuperUser'>;

/**
 * Represents a user on Discord.
 */
export class ExtendedUser extends User {
	/**
	 * Indicates whether the user is an owner of the bot.
	 */
	public override isOwner(): boolean {
		return this.client.isOwner(this);
	}

	/**
	 * Indicates whether the user is a superuser of the bot.
	 */
	public override isSuperUser(): boolean {
		return this.client.isSuperUser(this);
	}
}