xernerx 3.4.3 → 3.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/README.md +10 -10
  2. package/dist/build/ContextCommandBuilder.d.ts +60 -42
  3. package/dist/build/ContextCommandBuilder.js +93 -86
  4. package/dist/build/EventBuilder.d.ts +21 -17
  5. package/dist/build/EventBuilder.js +34 -35
  6. package/dist/build/InhibitorBuilder.d.ts +19 -20
  7. package/dist/build/InhibitorBuilder.js +27 -27
  8. package/dist/build/MessageCommandBuilder.d.ts +53 -42
  9. package/dist/build/MessageCommandBuilder.js +90 -78
  10. package/dist/build/SlashCommandBuilder.d.ts +58 -40
  11. package/dist/build/SlashCommandBuilder.js +125 -118
  12. package/dist/client/XernerxClient.d.ts +28 -28
  13. package/dist/client/XernerxClient.js +101 -83
  14. package/dist/handlers/CommandHandler.d.ts +27 -27
  15. package/dist/handlers/CommandHandler.js +42 -42
  16. package/dist/handlers/EventHandler.d.ts +13 -13
  17. package/dist/handlers/EventHandler.js +16 -16
  18. package/dist/handlers/Handler.d.ts +57 -57
  19. package/dist/handlers/Handler.js +250 -250
  20. package/dist/handlers/InhibitorHandler.d.ts +18 -18
  21. package/dist/handlers/InhibitorHandler.js +21 -21
  22. package/dist/main.cjs +2023 -0
  23. package/dist/main.d.ts +30 -30
  24. package/dist/main.js +42 -42
  25. package/dist/models/CommandArguments.d.ts +17 -17
  26. package/dist/models/CommandArguments.js +121 -123
  27. package/dist/models/Events.d.ts +24 -24
  28. package/dist/models/Events.js +294 -304
  29. package/dist/models/Extensions.d.ts +7 -7
  30. package/dist/models/Extensions.js +23 -23
  31. package/dist/tools/XernerxError.d.ts +5 -5
  32. package/dist/tools/XernerxError.js +8 -8
  33. package/dist/tools/package.d.ts +49 -38
  34. package/dist/tools/package.js +48 -41
  35. package/dist/types/enums.d.ts +35 -35
  36. package/dist/types/enums.js +35 -35
  37. package/dist/types/interfaces.d.ts +25 -25
  38. package/dist/types/interfaces.js +1 -1
  39. package/dist/types/options.d.ts +241 -206
  40. package/dist/types/options.js +1 -1
  41. package/dist/types/types.d.ts +34 -32
  42. package/dist/types/types.js +1 -1
  43. package/dist/utils/ClientUtil.d.ts +25 -25
  44. package/dist/utils/ClientUtil.js +222 -218
  45. package/dist/utils/CommandUtil.d.ts +56 -56
  46. package/dist/utils/CommandUtil.js +248 -260
  47. package/dist/validators/CommandValidations.d.ts +7 -7
  48. package/dist/validators/CommandValidations.js +183 -185
  49. package/dist/validators/InhibitorValidations.d.ts +11 -11
  50. package/dist/validators/InhibitorValidations.js +42 -42
  51. package/dist/validators/Shapes.js +1 -0
  52. package/package.json +54 -39
  53. package/dist/build/XContextCommandBuilder.d.ts +0 -40
  54. package/dist/build/XContextCommandBuilder.js +0 -84
  55. package/dist/build/XEventBuilder.d.ts +0 -17
  56. package/dist/build/XEventBuilder.js +0 -35
  57. package/dist/build/XInhibitorBuilder.d.ts +0 -20
  58. package/dist/build/XInhibitorBuilder.js +0 -28
  59. package/dist/build/XMessageCommandBuilder.d.ts +0 -42
  60. package/dist/build/XMessageCommandBuilder.js +0 -80
  61. package/dist/build/XSlashCommandBuilder.d.ts +0 -36
  62. package/dist/build/XSlashCommandBuilder.js +0 -114
  63. package/dist/models/CommandValidations.d.ts +0 -4
  64. package/dist/models/CommandValidations.js +0 -183
  65. package/dist/models/InhibitorValidations.d.ts +0 -12
  66. package/dist/models/InhibitorValidations.js +0 -42
@@ -1,206 +1,241 @@
1
- import { CacheFactory, ChannelType, ContextMenuCommandType, MessageMentionOptions, Partials, PresenceData, RESTOptions, SweeperOptions, WebSocketOptions } from 'discord.js';
2
- import XernerxExtensionBuilder from 'xernerx-extension-builder';
3
- import { ContextCommandType, EventEmitterType, InhibitorType } from './enums.js';
4
- import { MessageCommandArgsTypes } from './types.js';
5
- export interface DiscordOptions {
6
- shards?: number | number[] | 'auto';
7
- closeTimeout?: number;
8
- shardCount?: number;
9
- makeCache?: CacheFactory;
10
- allowedMentions?: MessageMentionOptions;
11
- partials?: Array<Partials>;
12
- failIfNotExists?: boolean;
13
- presence?: PresenceData;
14
- intents: number[];
15
- waitGuildTimeout?: number;
16
- sweepers?: SweeperOptions;
17
- ws?: WebSocketOptions;
18
- rest?: RESTOptions;
19
- jsonTransformer?: (obj: unknown) => unknown;
20
- }
21
- export interface ClientOptions {
22
- ownerId?: string | string[];
23
- clientPermissions?: bigint[];
24
- userPermissions?: bigint[];
25
- ignoreOwner?: boolean;
26
- logging?: boolean;
27
- cooldown?: {
28
- default?: number;
29
- cache?: number;
30
- };
31
- }
32
- export interface HandlerOptions {
33
- message?: MessageCommandHandlerOptions;
34
- slash?: SlashCommandHandlerOptions;
35
- context?: ContextCommandHandlerOptions;
36
- events?: EventHandlerOptions;
37
- inhibitors?: InhibitorHandlerOptions;
38
- }
39
- export interface ExtensionOptions {
40
- extensions: Array<XernerxExtensionBuilder>;
41
- logging?: boolean;
42
- }
43
- export interface MessageCommandOptions {
44
- name: string;
45
- regex?: string;
46
- aliases?: string[];
47
- description?: string;
48
- prefix?: string | string[];
49
- info?: string;
50
- category?: string;
51
- owner?: boolean;
52
- channelType?: ChannelType | ChannelType[];
53
- separator?: string;
54
- cooldown?: number;
55
- ignoreOwner?: boolean;
56
- channels?: string[];
57
- guilds?: string[];
58
- userPermissions?: bigint[];
59
- clientPermissions?: bigint[];
60
- commandType?: string;
61
- args: Array<MessageArgOptions>;
62
- }
63
- export interface ContextCommandOptions {
64
- name: string;
65
- type: ContextMenuCommandType | ContextCommandType | number;
66
- description?: string;
67
- info?: string;
68
- category?: string;
69
- owner?: boolean;
70
- channelType?: ChannelType;
71
- cooldown?: number;
72
- ignoreOwner?: boolean;
73
- channels?: string[];
74
- guilds?: string[];
75
- userPermissions?: bigint[];
76
- clientPermissions?: bigint[];
77
- defaultMemberPermissions?: bigint | number | bigint | null | undefined;
78
- DMPermission?: undefined | null | boolean;
79
- nameLocalization?: {
80
- locale: 'en-US' | 'en-GB' | 'bg' | 'zh-CN' | 'zh-TW' | 'hr' | 'cs' | 'da' | 'nl' | 'fi' | 'fr' | 'de' | 'el' | 'hi' | 'hu' | 'it' | 'ja' | 'ko' | 'lt' | 'no' | 'pl' | 'pt-BR' | 'ro' | 'ru' | 'es-ES' | 'sv-SE' | 'th' | 'tr' | 'uk' | 'vi';
81
- localizedName: null | string;
82
- };
83
- nameLocalizations?: null | Partial<Record<'en-US' | 'en-GB' | 'bg' | 'zh-CN' | 'zh-TW' | 'hr' | 'cs' | 'da' | 'nl' | 'fi' | 'fr' | 'de' | 'el' | 'hi' | 'hu' | 'it' | 'ja' | 'ko' | 'lt' | 'no' | 'pl' | 'pt-BR' | 'ro' | 'ru' | 'es-ES' | 'sv-SE' | 'th' | 'tr' | 'uk' | 'vi', null | string>>;
84
- commandType?: string;
85
- defer?: {
86
- reply?: boolean;
87
- ephemeral?: boolean;
88
- fetchReply?: boolean;
89
- };
90
- }
91
- export interface MessageArgOptions {
92
- type: MessageCommandArgsTypes;
93
- content?: Array<string>;
94
- match?: string;
95
- name: string;
96
- prompt?: {
97
- reply: string;
98
- send: string;
99
- };
100
- default?: string | Function;
101
- }
102
- export interface SlashArgOptions {
103
- type: 'string' | 'number' | 'boolean' | 'user' | 'channel' | 'role' | 'mentionable' | 'integer';
104
- name: string;
105
- choices: Array<{
106
- name: string;
107
- value: string;
108
- }>;
109
- required: boolean;
110
- description: string;
111
- }
112
- export interface SlashSubcommandOptions {
113
- name: string;
114
- description: string;
115
- args: Array<SlashArgOptions>;
116
- }
117
- export interface SlashGroupOptions {
118
- name: string;
119
- description: string;
120
- subcommands: Array<SlashSubcommandOptions>;
121
- }
122
- export interface SlashCommandOptions {
123
- name: string;
124
- description: string;
125
- info?: string;
126
- category?: string;
127
- owner?: boolean;
128
- channelType?: ChannelType;
129
- separator?: string;
130
- cooldown?: number;
131
- ignoreOwner?: boolean;
132
- channels?: string[];
133
- guilds?: string[];
134
- userPermissions?: bigint[];
135
- clientPermissions?: bigint[];
136
- args?: Array<SlashArgOptions>;
137
- subcommands?: Array<SlashSubcommandOptions>;
138
- groups?: Array<SlashGroupOptions>;
139
- commandType?: string;
140
- defer?: {
141
- reply?: boolean;
142
- ephemeral?: boolean;
143
- fetchReply?: boolean;
144
- };
145
- }
146
- export interface MessageCommandHandlerOptions {
147
- directory: string;
148
- prefix: string[] | string;
149
- allowMention?: boolean;
150
- cooldown?: number;
151
- userPermissions?: bigint[];
152
- clientPermissions?: bigint[];
153
- handleEdits?: boolean;
154
- handleDeletes?: boolean;
155
- handleTyping?: boolean;
156
- util?: boolean;
157
- logging?: boolean;
158
- }
159
- export interface SlashCommandHandlerOptions {
160
- directory: string;
161
- guildId: string;
162
- global: boolean;
163
- cooldown?: number;
164
- userPermissions?: bigint[];
165
- clientPermissions?: bigint[];
166
- util?: boolean;
167
- logging?: boolean;
168
- defer?: {
169
- reply?: boolean;
170
- ephemeral?: boolean;
171
- fetchReply?: boolean;
172
- };
173
- }
174
- export interface ContextCommandHandlerOptions {
175
- directory: string;
176
- guildId: string;
177
- global: boolean;
178
- cooldown?: number;
179
- userPermissions?: bigint[];
180
- clientPermissions?: bigint[];
181
- util?: boolean;
182
- logging?: boolean;
183
- defer?: {
184
- reply?: boolean;
185
- ephemeral?: boolean;
186
- fetchReply?: boolean;
187
- };
188
- }
189
- export interface EventHandlerOptions {
190
- directory: string;
191
- logging?: boolean;
192
- }
193
- export interface EventOptions {
194
- name: string;
195
- emitter?: EventEmitterType;
196
- type?: string;
197
- once?: boolean;
198
- }
199
- export interface InhibitorHandlerOptions {
200
- directory: string;
201
- logging?: boolean;
202
- }
203
- export interface InhibitorOptions {
204
- name: string;
205
- type: InhibitorType;
206
- }
1
+ import { CacheFactory, ChannelType, ContextMenuCommandType, MessageMentionOptions, Partials, PresenceData, RESTOptions, SweeperOptions, WebSocketOptions } from 'discord.js';
2
+ import XernerxExtensionBuilder from 'xernerx-extension-builder';
3
+ import { InhibitorType } from './enums.js';
4
+ import { EventEmitterType, Localizations, MessageCommandArgsTypes } from './types.js';
5
+ export interface DiscordOptions {
6
+ shards?: number | number[] | 'auto';
7
+ closeTimeout?: number;
8
+ shardCount?: number;
9
+ makeCache?: CacheFactory;
10
+ allowedMentions?: MessageMentionOptions;
11
+ partials?: Array<Partials>;
12
+ failIfNotExists?: boolean;
13
+ presence?: PresenceData;
14
+ intents: number[];
15
+ waitGuildTimeout?: number;
16
+ sweepers?: SweeperOptions;
17
+ ws?: WebSocketOptions;
18
+ rest?: RESTOptions;
19
+ jsonTransformer?: (obj: unknown) => unknown;
20
+ }
21
+ export interface ClientOptions {
22
+ ownerId?: string | string[];
23
+ permissions?: {
24
+ client?: Array<string>;
25
+ user?: Array<string>;
26
+ dm?: boolean;
27
+ };
28
+ ignore?: {
29
+ owner?: boolean;
30
+ users: Array<string>;
31
+ channels: Array<string>;
32
+ guilds: Array<string>;
33
+ };
34
+ log?: {
35
+ ready: boolean;
36
+ error: boolean;
37
+ };
38
+ cooldown?: {
39
+ command?: number;
40
+ cache?: number;
41
+ };
42
+ }
43
+ export interface HandlerOptions {
44
+ message?: MessageCommandHandlerOptions;
45
+ slash?: SlashCommandHandlerOptions;
46
+ context?: ContextCommandHandlerOptions;
47
+ events?: EventHandlerOptions;
48
+ inhibitors?: InhibitorHandlerOptions;
49
+ }
50
+ export interface ExtensionOptions {
51
+ extensions: Array<XernerxExtensionBuilder>;
52
+ logging?: boolean;
53
+ }
54
+ export interface MessageCommandOptions {
55
+ name: string;
56
+ aliases?: Array<string>;
57
+ separator?: string;
58
+ description?: string;
59
+ info?: string;
60
+ category?: string;
61
+ prefix?: Array<string> | string;
62
+ regex?: string;
63
+ channelType?: Array<number>;
64
+ cooldown?: number;
65
+ ignore?: {
66
+ owner?: boolean;
67
+ users?: Array<string>;
68
+ channels?: Array<string>;
69
+ guilds?: Array<string>;
70
+ };
71
+ strict?: {
72
+ owner?: boolean;
73
+ users?: Array<string>;
74
+ channels?: Array<string>;
75
+ guilds?: Array<string>;
76
+ };
77
+ permissions?: {
78
+ client?: Array<string>;
79
+ user?: Array<string>;
80
+ dm?: boolean;
81
+ };
82
+ args?: Array<MessageArgumentOptions>;
83
+ }
84
+ export interface ContextCommandOptions {
85
+ name: string;
86
+ type: ContextMenuCommandType;
87
+ nameLocalizations: Record<Localizations, string>;
88
+ description?: string;
89
+ info?: string;
90
+ category?: string;
91
+ channelType?: Array<number> | number;
92
+ cooldown?: number;
93
+ ignore?: {
94
+ owner?: boolean;
95
+ users?: Array<string>;
96
+ channels?: Array<string>;
97
+ guilds?: Array<string>;
98
+ };
99
+ strict?: {
100
+ owner?: boolean;
101
+ users?: Array<string>;
102
+ channels?: Array<string>;
103
+ guilds?: Array<string>;
104
+ };
105
+ permissions?: {
106
+ client?: Array<string>;
107
+ users?: Array<string>;
108
+ dm?: boolean;
109
+ };
110
+ defer?: {
111
+ reply?: boolean;
112
+ ephemeral?: boolean;
113
+ fetch?: boolean;
114
+ };
115
+ }
116
+ export interface MessageArgumentOptions {
117
+ type: MessageCommandArgsTypes;
118
+ content?: Array<string>;
119
+ match?: string;
120
+ name: string;
121
+ prompt?: {
122
+ reply: string;
123
+ send: string;
124
+ };
125
+ default?: string | Function;
126
+ }
127
+ export interface SlashArgumentOptions {
128
+ type: 'string' | 'number' | 'boolean' | 'user' | 'channel' | 'role' | 'mentionable' | 'integer';
129
+ name: string;
130
+ choices: Array<{
131
+ name: string;
132
+ value: string;
133
+ }>;
134
+ required: boolean;
135
+ description: string;
136
+ }
137
+ export interface SlashSubcommandOptions {
138
+ name: string;
139
+ description: string;
140
+ args: Array<SlashArgumentOptions>;
141
+ }
142
+ export interface SlashGroupOptions {
143
+ name: string;
144
+ description: string;
145
+ subcommands: Array<SlashSubcommandOptions>;
146
+ }
147
+ export interface SlashCommandOptions {
148
+ name: string;
149
+ description: string;
150
+ info?: string;
151
+ category?: string;
152
+ owner?: boolean;
153
+ channelType?: ChannelType;
154
+ cooldown?: number;
155
+ ignore?: {
156
+ owner?: boolean;
157
+ users?: Array<string>;
158
+ channels?: Array<string>;
159
+ guilds?: Array<string>;
160
+ };
161
+ strict?: {
162
+ owner?: boolean;
163
+ users?: Array<string>;
164
+ channels?: Array<string>;
165
+ guilds?: Array<string>;
166
+ };
167
+ permissions: {
168
+ client?: Array<string>;
169
+ users?: Array<string>;
170
+ dm?: boolean;
171
+ };
172
+ defer?: {
173
+ reply?: boolean;
174
+ ephemeral?: boolean;
175
+ fetchReply?: boolean;
176
+ };
177
+ args?: Array<SlashArgumentOptions>;
178
+ subcommands?: Array<SlashSubcommandOptions>;
179
+ groups?: Array<SlashGroupOptions>;
180
+ }
181
+ export interface MessageCommandHandlerOptions {
182
+ directory: string;
183
+ prefix: string[] | string;
184
+ allowMention?: boolean;
185
+ cooldown?: number;
186
+ userPermissions?: bigint[];
187
+ clientPermissions?: bigint[];
188
+ handleEdits?: boolean;
189
+ handleDeletes?: boolean;
190
+ handleTyping?: boolean;
191
+ util?: boolean;
192
+ logging?: boolean;
193
+ }
194
+ export interface SlashCommandHandlerOptions {
195
+ directory: string;
196
+ guildId: string;
197
+ global: boolean;
198
+ cooldown?: number;
199
+ userPermissions?: bigint[];
200
+ clientPermissions?: bigint[];
201
+ util?: boolean;
202
+ logging?: boolean;
203
+ defer?: {
204
+ reply?: boolean;
205
+ ephemeral?: boolean;
206
+ fetchReply?: boolean;
207
+ };
208
+ }
209
+ export interface ContextCommandHandlerOptions {
210
+ directory: string;
211
+ guildId: string;
212
+ global: boolean;
213
+ cooldown?: number;
214
+ userPermissions?: bigint[];
215
+ clientPermissions?: bigint[];
216
+ util?: boolean;
217
+ logging?: boolean;
218
+ defer?: {
219
+ reply?: boolean;
220
+ ephemeral?: boolean;
221
+ fetchReply?: boolean;
222
+ };
223
+ }
224
+ export interface EventHandlerOptions {
225
+ directory: string;
226
+ logging?: boolean;
227
+ }
228
+ export interface EventOptions {
229
+ name: string;
230
+ emitter?: EventEmitterType | string;
231
+ type?: 'discord' | string;
232
+ once?: boolean;
233
+ }
234
+ export interface InhibitorHandlerOptions {
235
+ directory: string;
236
+ logging?: boolean;
237
+ }
238
+ export interface InhibitorOptions {
239
+ name: string;
240
+ type: InhibitorType;
241
+ }
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1,32 +1,34 @@
1
- import { TextChannel, Message, User, Guild, GuildMember, Channel, Role, InteractionResponse } from 'discord.js';
2
- import { InteractionCommandUtil, MessageCommandUtil } from '../utils/CommandUtil.js';
3
- export interface XernerxMessage extends Message {
4
- util?: MessageCommandUtil;
5
- response?: string;
6
- }
7
- export interface XernerxInteraction extends InteractionResponse {
8
- util: InteractionCommandUtil;
9
- options?: {
10
- _group: string;
11
- _subcommand: string;
12
- _hoistedOptions: Array<{
13
- name: string;
14
- channel: Channel;
15
- user: XernerxUser;
16
- role: XernerxRole;
17
- value: string;
18
- }>;
19
- };
20
- }
21
- export interface XernerxUser extends User {
22
- isOwner: boolean;
23
- }
24
- export interface XernerxRole extends Role {
25
- }
26
- export interface XernerxTextChannel extends TextChannel {
27
- }
28
- export interface XernerxGuild extends Guild {
29
- }
30
- export interface XernerxMember extends GuildMember {
31
- }
32
- export type MessageCommandArgsTypes = 'rest' | 'option' | 'flag' | 'string' | 'number' | 'channel' | 'user' | 'member' | 'boolean' | 'role';
1
+ import { TextChannel, Message, User, Guild, GuildMember, Channel, Role, InteractionResponse } from 'discord.js';
2
+ import { InteractionCommandUtil, MessageCommandUtil } from '../utils/CommandUtil.js';
3
+ export interface XernerxMessage extends Message {
4
+ util?: MessageCommandUtil;
5
+ response?: string;
6
+ }
7
+ export interface XernerxInteraction extends InteractionResponse {
8
+ util: InteractionCommandUtil;
9
+ options?: {
10
+ _group: string;
11
+ _subcommand: string;
12
+ _hoistedOptions: Array<{
13
+ name: string;
14
+ channel: Channel;
15
+ user: XernerxUser;
16
+ role: XernerxRole;
17
+ value: string;
18
+ }>;
19
+ };
20
+ }
21
+ export interface XernerxUser extends User {
22
+ isOwner: boolean;
23
+ }
24
+ export interface XernerxRole extends Role {
25
+ }
26
+ export interface XernerxTextChannel extends TextChannel {
27
+ }
28
+ export interface XernerxGuild extends Guild {
29
+ }
30
+ export interface XernerxMember extends GuildMember {
31
+ }
32
+ export type MessageCommandArgsTypes = 'rest' | 'option' | 'flag' | 'string' | 'number' | 'channel' | 'user' | 'member' | 'boolean' | 'role';
33
+ export type Localizations = 'id' | 'da' | 'de' | 'en-GB' | 'en-US' | 'es-ES' | 'fr' | 'hr' | 'it' | 'lt' | 'hu' | 'nl' | 'no' | 'pl' | 'pt-BR' | 'ro' | 'fi' | 'sv-SE' | 'vi' | 'tr' | 'cs' | 'el' | 'bg' | 'ru' | 'uk' | 'hi' | 'th' | 'zh-CN' | 'ja' | 'zh-TW' | 'ko';
34
+ export type EventEmitterType = 'client' | 'process';
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1,25 +1,25 @@
1
- import { ActivityType, ClientPresenceStatus } from 'discord.js';
2
- import XernerxClient from '../client/XernerxClient.js';
3
- interface Presence {
4
- text?: string;
5
- type?: ActivityType.Playing | ActivityType.Streaming | ActivityType.Listening | ActivityType.Watching | ActivityType.Competing;
6
- link?: string;
7
- status?: ClientPresenceStatus;
8
- interval?: number;
9
- }
10
- export declare class ClientUtil {
11
- client: XernerxClient;
12
- constructor(client: XernerxClient);
13
- uptime(timestamp: number | null): string;
14
- getSubcommands(name: string): object[];
15
- isOwner(userId: string): boolean;
16
- getAllCommands(): object[];
17
- getAllMessageCommands(): object[];
18
- getAllSlashCommands(): object[];
19
- getAllContextCommands(): object[];
20
- setPresence(options: Presence): void;
21
- getCooldowns(id: string, command?: string): any;
22
- getCooldownTimers(id: string, command?: string): any;
23
- defer(time: number): Promise<unknown>;
24
- }
25
- export {};
1
+ import { ActivityType, ClientPresenceStatus } from 'discord.js';
2
+ import XernerxClient from '../client/XernerxClient.js';
3
+ interface Presence {
4
+ text?: string;
5
+ type?: ActivityType.Playing | ActivityType.Streaming | ActivityType.Listening | ActivityType.Watching | ActivityType.Competing;
6
+ link?: string;
7
+ status?: ClientPresenceStatus;
8
+ interval?: number;
9
+ }
10
+ export declare class ClientUtil {
11
+ client: XernerxClient;
12
+ constructor(client: XernerxClient);
13
+ uptime(timestamp: number | null): string;
14
+ getSubcommands(name: string): object[];
15
+ isOwner(userId: string): boolean;
16
+ getAllCommands(): object[];
17
+ getAllMessageCommands(): object[];
18
+ getAllSlashCommands(): object[];
19
+ getAllContextCommands(): object[];
20
+ setPresence(options: Presence): void;
21
+ getCooldowns(id: string, command?: string): any;
22
+ getCooldownTimers(id: string, command?: string): any;
23
+ defer(time: number): Promise<unknown>;
24
+ }
25
+ export {};