xernerx 3.6.0 → 4.0.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 (201) hide show
  1. package/dist/build/ContextCommandBuilder.d.ts +47 -0
  2. package/dist/build/ContextCommandBuilder.js +78 -0
  3. package/dist/{cjs/build → build}/EventBuilder.d.ts +7 -6
  4. package/dist/build/EventBuilder.js +35 -0
  5. package/dist/build/InhibitorBuilder.d.ts +17 -0
  6. package/dist/build/InhibitorBuilder.js +26 -0
  7. package/dist/build/MessageCommandBuilder.d.ts +43 -0
  8. package/dist/build/MessageCommandBuilder.js +71 -0
  9. package/dist/{cjs/build → build}/SlashCommandBuilder.d.ts +16 -31
  10. package/dist/build/SlashCommandBuilder.js +122 -0
  11. package/dist/build copy/ContextCommandBuilder.d.ts +37 -0
  12. package/dist/build copy/ContextCommandBuilder.js +88 -0
  13. package/dist/{mjs/build/EventBuilder.d.ts → build copy/EventBuilder.d.ts } +4 -4
  14. package/dist/build copy/EventBuilder.js +34 -0
  15. package/dist/{cjs/build/InhibitorBuilder.d.ts → build copy/InhibitorBuilder.d.ts } +2 -2
  16. package/dist/build copy/InhibitorBuilder.js +27 -0
  17. package/dist/{cjs/build/MessageCommandBuilder.d.ts → build copy/MessageCommandBuilder.d.ts } +14 -34
  18. package/dist/build copy/MessageCommandBuilder.js +90 -0
  19. package/dist/build copy/SlashCommandBuilder.d.ts +41 -0
  20. package/dist/build copy/SlashCommandBuilder.js +122 -0
  21. package/dist/client/DBLClient.d.ts +8 -0
  22. package/dist/client/DBLClient.js +15 -0
  23. package/dist/client/Top.ggClient.d.ts +1 -0
  24. package/dist/client/Top.ggClient.js +1 -0
  25. package/dist/client/XernerxClient.d.ts +54 -0
  26. package/dist/client/XernerxClient.js +90 -0
  27. package/dist/events/messageCreate.d.ts +1 -0
  28. package/dist/events/messageCreate.js +1 -0
  29. package/dist/functions/AsyncFunctions.d.ts +1 -0
  30. package/dist/functions/AsyncFunctions.js +1 -0
  31. package/dist/functions/delay.d.ts +1 -0
  32. package/dist/functions/delay.js +3 -0
  33. package/dist/functions/deploy.d.ts +2 -0
  34. package/dist/functions/deploy.js +29 -0
  35. package/dist/functions/getPermissionBitField.d.ts +2 -0
  36. package/dist/functions/getPermissionBitField.js +17 -0
  37. package/dist/functions/hasVoted.d.ts +1 -0
  38. package/dist/functions/hasVoted.js +1 -0
  39. package/dist/functions/isOwner.d.ts +3 -0
  40. package/dist/functions/isOwner.js +3 -0
  41. package/dist/functions/isVoter.d.ts +3 -0
  42. package/dist/functions/isVoter.js +5 -0
  43. package/dist/functions/load.d.ts +3 -0
  44. package/dist/functions/load.js +32 -0
  45. package/dist/functions/reload.d.ts +2 -0
  46. package/dist/functions/reload.js +39 -0
  47. package/dist/functions/sendWebhook.d.ts +2 -0
  48. package/dist/functions/sendWebhook.js +12 -0
  49. package/dist/functions/voted.d.ts +1 -0
  50. package/dist/functions/voted.js +1 -0
  51. package/dist/functions/xernerxUser.d.ts +3 -0
  52. package/dist/functions/xernerxUser.js +8 -0
  53. package/dist/handlers/CommandHandler.d.ts +13 -0
  54. package/dist/handlers/CommandHandler.js +220 -0
  55. package/dist/handlers/EventHandler.d.ts +7 -0
  56. package/dist/handlers/EventHandler.js +24 -0
  57. package/dist/handlers/ExtensionHandler.d.ts +7 -0
  58. package/dist/handlers/ExtensionHandler.js +19 -0
  59. package/dist/handlers/Handler.d.ts +14 -0
  60. package/dist/handlers/Handler.js +36 -0
  61. package/dist/handlers/InhibitorHandler.d.ts +7 -0
  62. package/dist/handlers/InhibitorHandler.js +24 -0
  63. package/dist/handlers/WebhookHandler.d.ts +7 -0
  64. package/dist/handlers/WebhookHandler.js +50 -0
  65. package/dist/main.d.ts +11 -0
  66. package/dist/main.js +11 -0
  67. package/dist/models/Arguments.d.ts +15 -0
  68. package/dist/models/Arguments.js +129 -0
  69. package/dist/{cjs/models → models}/CommandArguments.js +2 -7
  70. package/dist/{mjs/models → models}/Events.js +44 -56
  71. package/dist/models/Extensions.js +23 -0
  72. package/dist/models/XernerxUser.js +9 -0
  73. package/dist/tools/XernerxError.d.ts +6 -0
  74. package/dist/tools/XernerxError.js +10 -0
  75. package/dist/tools/XernerxLog.d.ts +13 -0
  76. package/dist/tools/XernerxLog.js +30 -0
  77. package/dist/tools/classes.d.ts +6 -0
  78. package/dist/tools/classes.js +10 -0
  79. package/dist/tools/loggers.d.ts +4 -0
  80. package/dist/tools/loggers.js +4 -0
  81. package/dist/{mjs/tools → tools}/package.d.ts +1 -4
  82. package/dist/{cjs/tools → tools}/package.js +11 -16
  83. package/dist/{cjs/types → types}/enums.js +8 -11
  84. package/dist/types/extenders.d.ts +23 -0
  85. package/dist/types/extenders.js +1 -0
  86. package/dist/types/interfaces.d.ts +224 -0
  87. package/dist/types/interfaces.js +1 -0
  88. package/dist/types/options.js +1 -0
  89. package/dist/types/types.d.ts +181 -0
  90. package/dist/types/types.js +1 -0
  91. package/dist/utils/ClientUtil.d.ts +6 -0
  92. package/dist/utils/ClientUtil.js +7 -0
  93. package/dist/{cjs/utils → utils}/CommandUtil.js +14 -29
  94. package/dist/utils/InteractionArguments.d.ts +1 -0
  95. package/dist/utils/InteractionArguments.js +1 -0
  96. package/dist/utils/InteractionUtil.d.ts +10 -0
  97. package/dist/utils/InteractionUtil.js +15 -0
  98. package/dist/utils/MessageUtil.d.ts +11 -0
  99. package/dist/utils/MessageUtil.js +42 -0
  100. package/dist/utils/Util.d.ts +5 -0
  101. package/dist/utils/Util.js +6 -0
  102. package/dist/{mjs/validators → validators}/CommandValidations.js +10 -13
  103. package/dist/validators/InhibitorValidations.d.ts +18 -0
  104. package/dist/validators/InhibitorValidations.js +34 -0
  105. package/dist/validators/commandValidation.d.ts +6 -0
  106. package/dist/validators/commandValidation.js +48 -0
  107. package/dist/validators/commands.d.ts +4 -0
  108. package/dist/validators/commands.js +25 -0
  109. package/package.json +10 -13
  110. package/dist/cjs/build/ContextCommandBuilder.d.ts +0 -63
  111. package/dist/cjs/build/ContextCommandBuilder.js +0 -97
  112. package/dist/cjs/build/EventBuilder.js +0 -44
  113. package/dist/cjs/build/InhibitorBuilder.js +0 -37
  114. package/dist/cjs/build/MessageCommandBuilder.js +0 -100
  115. package/dist/cjs/build/SlashCommandBuilder.js +0 -169
  116. package/dist/cjs/client/XernerxClient.d.ts +0 -29
  117. package/dist/cjs/client/XernerxClient.js +0 -120
  118. package/dist/cjs/handlers/CommandHandler.d.ts +0 -27
  119. package/dist/cjs/handlers/CommandHandler.js +0 -45
  120. package/dist/cjs/handlers/EventHandler.d.ts +0 -13
  121. package/dist/cjs/handlers/EventHandler.js +0 -19
  122. package/dist/cjs/handlers/Handler.d.ts +0 -57
  123. package/dist/cjs/handlers/Handler.js +0 -308
  124. package/dist/cjs/handlers/InhibitorHandler.d.ts +0 -18
  125. package/dist/cjs/handlers/InhibitorHandler.js +0 -24
  126. package/dist/cjs/handlers/WebhookHandler.d.ts +0 -7
  127. package/dist/cjs/handlers/WebhookHandler.js +0 -23
  128. package/dist/cjs/main.d.ts +0 -44
  129. package/dist/cjs/main.js +0 -112
  130. package/dist/cjs/models/Events.js +0 -309
  131. package/dist/cjs/models/Extensions.js +0 -26
  132. package/dist/cjs/models/XernerxUser.js +0 -12
  133. package/dist/cjs/tools/XernerxError.d.ts +0 -5
  134. package/dist/cjs/tools/XernerxError.js +0 -11
  135. package/dist/cjs/tools/package.d.ts +0 -44
  136. package/dist/cjs/types/interfaces.d.ts +0 -27
  137. package/dist/cjs/types/interfaces.js +0 -2
  138. package/dist/cjs/types/options.js +0 -2
  139. package/dist/cjs/types/types.d.ts +0 -62
  140. package/dist/cjs/types/types.js +0 -2
  141. package/dist/cjs/utils/ClientUtil.d.ts +0 -26
  142. package/dist/cjs/utils/ClientUtil.js +0 -211
  143. package/dist/cjs/validators/CommandValidations.js +0 -169
  144. package/dist/cjs/validators/InhibitorValidations.d.ts +0 -11
  145. package/dist/cjs/validators/InhibitorValidations.js +0 -40
  146. package/dist/mjs/build/ContextCommandBuilder.d.ts +0 -63
  147. package/dist/mjs/build/ContextCommandBuilder.js +0 -97
  148. package/dist/mjs/build/EventBuilder.js +0 -44
  149. package/dist/mjs/build/InhibitorBuilder.d.ts +0 -19
  150. package/dist/mjs/build/InhibitorBuilder.js +0 -37
  151. package/dist/mjs/build/MessageCommandBuilder.d.ts +0 -59
  152. package/dist/mjs/build/MessageCommandBuilder.js +0 -100
  153. package/dist/mjs/build/SlashCommandBuilder.d.ts +0 -65
  154. package/dist/mjs/build/SlashCommandBuilder.js +0 -169
  155. package/dist/mjs/client/XernerxClient.d.ts +0 -29
  156. package/dist/mjs/client/XernerxClient.js +0 -120
  157. package/dist/mjs/handlers/CommandHandler.d.ts +0 -27
  158. package/dist/mjs/handlers/CommandHandler.js +0 -45
  159. package/dist/mjs/handlers/EventHandler.d.ts +0 -13
  160. package/dist/mjs/handlers/EventHandler.js +0 -19
  161. package/dist/mjs/handlers/Handler.d.ts +0 -57
  162. package/dist/mjs/handlers/Handler.js +0 -308
  163. package/dist/mjs/handlers/InhibitorHandler.d.ts +0 -18
  164. package/dist/mjs/handlers/InhibitorHandler.js +0 -24
  165. package/dist/mjs/handlers/WebhookHandler.d.ts +0 -7
  166. package/dist/mjs/handlers/WebhookHandler.js +0 -23
  167. package/dist/mjs/main.d.ts +0 -44
  168. package/dist/mjs/main.js +0 -112
  169. package/dist/mjs/models/CommandArguments.d.ts +0 -17
  170. package/dist/mjs/models/CommandArguments.js +0 -106
  171. package/dist/mjs/models/Events.d.ts +0 -24
  172. package/dist/mjs/models/Extensions.d.ts +0 -7
  173. package/dist/mjs/models/Extensions.js +0 -26
  174. package/dist/mjs/models/XernerxUser.d.ts +0 -2
  175. package/dist/mjs/models/XernerxUser.js +0 -12
  176. package/dist/mjs/tools/XernerxError.d.ts +0 -5
  177. package/dist/mjs/tools/XernerxError.js +0 -11
  178. package/dist/mjs/tools/package.js +0 -45
  179. package/dist/mjs/types/enums.d.ts +0 -44
  180. package/dist/mjs/types/enums.js +0 -38
  181. package/dist/mjs/types/interfaces.d.ts +0 -27
  182. package/dist/mjs/types/interfaces.js +0 -2
  183. package/dist/mjs/types/options.d.ts +0 -254
  184. package/dist/mjs/types/options.js +0 -2
  185. package/dist/mjs/types/types.d.ts +0 -62
  186. package/dist/mjs/types/types.js +0 -2
  187. package/dist/mjs/utils/ClientUtil.d.ts +0 -26
  188. package/dist/mjs/utils/ClientUtil.js +0 -211
  189. package/dist/mjs/utils/CommandUtil.d.ts +0 -58
  190. package/dist/mjs/utils/CommandUtil.js +0 -247
  191. package/dist/mjs/validators/CommandValidations.d.ts +0 -12
  192. package/dist/mjs/validators/InhibitorValidations.d.ts +0 -11
  193. package/dist/mjs/validators/InhibitorValidations.js +0 -40
  194. /package/dist/{cjs/models → models}/CommandArguments.d.ts +0 -0
  195. /package/dist/{cjs/models → models}/Events.d.ts +0 -0
  196. /package/dist/{cjs/models → models}/Extensions.d.ts +0 -0
  197. /package/dist/{cjs/models → models}/XernerxUser.d.ts +0 -0
  198. /package/dist/{cjs/types → types}/enums.d.ts +0 -0
  199. /package/dist/{cjs/types → types}/options.d.ts +0 -0
  200. /package/dist/{cjs/utils → utils}/CommandUtil.d.ts +0 -0
  201. /package/dist/{cjs/validators → validators}/CommandValidations.d.ts +0 -0
@@ -0,0 +1,224 @@
1
+ import { ChannelType, Collection } from 'discord.js';
2
+ import CommandHandler from '../handlers/CommandHandler.js';
3
+ import EventHandler from '../handlers/EventHandler.js';
4
+ import InhibitorHandler from '../handlers/InhibitorHandler.js';
5
+ import WebhookHandler from '../handlers/WebhookHandler.js';
6
+ import ContextCommandBuilder from '../build/ContextCommandBuilder.js';
7
+ import MessageCommandBuilder from '../build/MessageCommandBuilder.js';
8
+ import SlashCommandBuilder from '../build/SlashCommandBuilder.js';
9
+ import { Locales, MessageCommandArgumentType, PermissionNames, SlashCommandArgumentType, EventType, InhibitorType } from './types.js';
10
+ import ExtensionHandler from '../handlers/ExtensionHandler.js';
11
+ export interface XernerxOptions {
12
+ ownerId: string;
13
+ permissions: {
14
+ client: Array<string>;
15
+ user: Array<string>;
16
+ dm: boolean;
17
+ };
18
+ ignore: {
19
+ owner: boolean;
20
+ users: Array<string>;
21
+ channels: Array<string>;
22
+ guilds: Array<string>;
23
+ };
24
+ log: {
25
+ ready: boolean;
26
+ error: boolean;
27
+ };
28
+ cooldown: {
29
+ command: number;
30
+ cache: number;
31
+ };
32
+ }
33
+ export interface ModuleOptions {
34
+ options: {
35
+ message?: MessageHandlerOptions;
36
+ slash?: SlashHandlerOptions;
37
+ context?: ContextHandlerOptions;
38
+ events?: EventHandlerOptions;
39
+ inhibitors?: InhibitorHandlerOptions;
40
+ };
41
+ commandHandler: CommandHandler;
42
+ eventHandler: EventHandler;
43
+ inhibitorHandler: InhibitorHandler;
44
+ webhookHandler: WebhookHandler;
45
+ extensionHandler: ExtensionHandler;
46
+ }
47
+ export interface XernerxCommands {
48
+ message: Collection<string, MessageCommandBuilder>;
49
+ slash: Collection<string, SlashCommandBuilder>;
50
+ context: Collection<string, ContextCommandBuilder>;
51
+ }
52
+ export interface DBLOptions {
53
+ topgg: {
54
+ token: string;
55
+ };
56
+ dbl: {
57
+ token: string;
58
+ };
59
+ config: {
60
+ emits: boolean;
61
+ logs: boolean;
62
+ };
63
+ }
64
+ export interface XernerxCache {
65
+ messages: Collection<string, string>;
66
+ cooldowns: Collection<
67
+ string,
68
+ {
69
+ id: string;
70
+ command: string;
71
+ createdTimestamp: number;
72
+ }
73
+ >;
74
+ }
75
+ interface CommandHandlerOptions {
76
+ directory: string;
77
+ cooldown?: number;
78
+ permissions?: {
79
+ user?: Array<string>;
80
+ client?: Array<string>;
81
+ dm?: boolean;
82
+ };
83
+ logging?: boolean;
84
+ }
85
+ export interface MessageHandlerOptions extends CommandHandlerOptions {
86
+ prefix: string | Array<string>;
87
+ allowMention?: boolean;
88
+ handleEdits?: boolean;
89
+ handleDeletes?: boolean;
90
+ handleTyping?: boolean;
91
+ }
92
+ export interface SlashHandlerOptions extends CommandHandlerOptions {
93
+ defer?: {
94
+ reply?: boolean;
95
+ ephemeral?: boolean;
96
+ fetchReply?: boolean;
97
+ };
98
+ }
99
+ export interface ContextHandlerOptions extends CommandHandlerOptions {
100
+ defer?: {
101
+ reply?: boolean;
102
+ ephemeral?: boolean;
103
+ fetchReply?: boolean;
104
+ };
105
+ }
106
+ export interface EventHandlerOptions {
107
+ directory: string;
108
+ }
109
+ export interface InhibitorHandlerOptions {
110
+ directory: string;
111
+ }
112
+ interface CommandOptions {
113
+ name: string;
114
+ description?: string | null;
115
+ info?: string | null;
116
+ category?: string | null;
117
+ cooldown?: number | null;
118
+ ignore?: {
119
+ owner?: boolean;
120
+ users?: Array<string>;
121
+ channels?: Array<string>;
122
+ guilds?: Array<string>;
123
+ };
124
+ strict?: {
125
+ owner?: boolean;
126
+ users?: Array<string>;
127
+ channels?: Array<string>;
128
+ guilds?: Array<string>;
129
+ };
130
+ permissions?: {
131
+ user?: Array<PermissionNames> | Array<string>;
132
+ client?: Array<PermissionNames> | Array<string>;
133
+ dm?: boolean;
134
+ };
135
+ }
136
+ export interface MessageCommandOptions extends CommandOptions {
137
+ aliases?: Array<string>;
138
+ separator?: string;
139
+ prefix?: Array<string> | string;
140
+ regex?: RegExp;
141
+ channelType?: Array<ChannelType>;
142
+ args?: Array<MessageCommandArgumentOptions>;
143
+ flags?: Array<MessageCommandFlagOptions>;
144
+ }
145
+ export interface MessageCommandArgumentOptions {
146
+ type: MessageCommandArgumentType;
147
+ name: string;
148
+ content?: Array<string>;
149
+ match?: string;
150
+ description?: string;
151
+ default?: string | Function;
152
+ separator?: string | RegExp;
153
+ prompt?: {
154
+ reply?: string;
155
+ send?: string;
156
+ };
157
+ }
158
+ export interface MessageCommandFlagOptions {
159
+ name: string;
160
+ match: string;
161
+ }
162
+ export interface MessageCommandArguments {
163
+ args: Record<string, unknown> | null;
164
+ flags: Record<string, boolean> | null;
165
+ }
166
+ export interface SlashCommandOptions extends CommandOptions {
167
+ description: string;
168
+ nameLocalizations?: Record<Locales, string | null> | null;
169
+ descriptionLocalizations?: Record<Locales, string | null> | null;
170
+ defer?: {
171
+ reply?: boolean;
172
+ ephemeral?: boolean;
173
+ fetchReply?: boolean;
174
+ };
175
+ args?: Array<SlashCommandArgumentOptions>;
176
+ subcommands?: Array<SlashCommandSubcommandOptions>;
177
+ groups?: Array<SlashCommandGroupOptions>;
178
+ }
179
+ export interface ContextCommandOptions extends CommandOptions {
180
+ type: 'user' | 'message';
181
+ nameLocalizations?: Record<Locales, string | null> | null;
182
+ defer?: {
183
+ reply?: boolean;
184
+ ephemeral?: boolean;
185
+ fetchReply?: boolean;
186
+ };
187
+ }
188
+ export interface SlashCommandArgumentOptions {
189
+ type: SlashCommandArgumentType;
190
+ name: string;
191
+ description: string;
192
+ required?: boolean;
193
+ autocomplete?: boolean;
194
+ choices?: Array<{
195
+ name: string;
196
+ value: string;
197
+ }>;
198
+ }
199
+ export interface SlashCommandSubcommandOptions {
200
+ name: string;
201
+ description: string;
202
+ args: Array<SlashCommandArgumentOptions>;
203
+ }
204
+ export interface SlashCommandGroupOptions {
205
+ name: string;
206
+ description: string;
207
+ subcommands: Array<SlashCommandSubcommandOptions>;
208
+ }
209
+ export interface SlashCommandArguments {
210
+ args: Record<string, string>;
211
+ subcommand: Record<string, string>;
212
+ group: Record<string, string>;
213
+ }
214
+ export interface EventBuilderOptions {
215
+ name: EventType;
216
+ emitter: 'discord' | 'process';
217
+ type: string;
218
+ once: boolean;
219
+ }
220
+ export interface InhibitorBuilderOptions {
221
+ name: string;
222
+ type: InhibitorType;
223
+ }
224
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,181 @@
1
+ import {
2
+ SlashCommandBooleanOption,
3
+ SlashCommandChannelOption,
4
+ SlashCommandIntegerOption,
5
+ SlashCommandMentionableOption,
6
+ SlashCommandNumberOption,
7
+ SlashCommandRoleOption,
8
+ SlashCommandStringOption,
9
+ SlashCommandUserOption,
10
+ } from 'discord.js';
11
+ import { XernerxMessageContextInteraction, XernerxSlashInteraction, XernerxUserContextInteraction } from './extenders.js';
12
+ export type FileType = 'MessageCommand' | 'SlashCommand' | 'ContextCommand' | 'Event' | 'Inhibitor';
13
+ export type Locales =
14
+ | 'en-US'
15
+ | 'en-GB'
16
+ | 'bg'
17
+ | 'zh-CN'
18
+ | 'zh-TW'
19
+ | 'hr'
20
+ | 'cs'
21
+ | 'da'
22
+ | 'nl'
23
+ | 'fi'
24
+ | 'fr'
25
+ | 'de'
26
+ | 'el'
27
+ | 'hi'
28
+ | 'hu'
29
+ | 'it'
30
+ | 'ja'
31
+ | 'ko'
32
+ | 'lt'
33
+ | 'no'
34
+ | 'pl'
35
+ | 'pt-BR'
36
+ | 'ro'
37
+ | 'ru'
38
+ | 'es-ES'
39
+ | 'sv-SE'
40
+ | 'th'
41
+ | 'tr'
42
+ | 'uk'
43
+ | 'vi';
44
+ export type SlashCommandArgumentType = 'attachment' | 'boolean' | 'channel' | 'integer' | 'mentionable' | 'number' | 'role' | 'string' | 'user';
45
+ export type SlashCommandOptionChoices = SlashCommandStringOption | SlashCommandNumberOption | SlashCommandIntegerOption;
46
+ export type SlashCommandOption = SlashCommandOptionChoices | SlashCommandBooleanOption | SlashCommandUserOption | SlashCommandChannelOption | SlashCommandRoleOption | SlashCommandMentionableOption;
47
+ export type MessageCommandArgumentType =
48
+ | 'string'
49
+ | 'number'
50
+ | 'boolean'
51
+ | 'confirm'
52
+ | 'channel'
53
+ | 'guild'
54
+ | 'integer'
55
+ | 'mentionable'
56
+ | 'role'
57
+ | 'user'
58
+ | 'message'
59
+ | 'member'
60
+ | 'list'
61
+ | 'option'
62
+ | 'rest';
63
+ export type DiscordEventType =
64
+ | 'applicationCommandPermissionsUpdate'
65
+ | 'autoModerationActionExecution'
66
+ | 'autoModerationRuleCreate'
67
+ | 'autoModerationRuleDelete'
68
+ | 'autoModerationRuleUpdate'
69
+ | 'ready'
70
+ | 'guildCreate'
71
+ | 'guildDelete'
72
+ | 'guildUpdate'
73
+ | 'guildUnavailable'
74
+ | 'guildMemberAdd'
75
+ | 'guildMemberRemove'
76
+ | 'guildMemberUpdate'
77
+ | 'guildMemberAvailable'
78
+ | 'guildMembersChunk'
79
+ | 'guildIntegrationsUpdate'
80
+ | 'roleCreate'
81
+ | 'roleDelete'
82
+ | 'inviteCreate'
83
+ | 'inviteDelete'
84
+ | 'roleUpdate'
85
+ | 'emojiCreate'
86
+ | 'emojiDelete'
87
+ | 'emojiUpdate'
88
+ | 'guildBanAdd'
89
+ | 'guildBanRemove'
90
+ | 'channelCreate'
91
+ | 'channelDelete'
92
+ | 'channelUpdate'
93
+ | 'channelPinsUpdate'
94
+ | 'messageCreate'
95
+ | 'messageDelete'
96
+ | 'messageUpdate'
97
+ | 'messageDeleteBulk'
98
+ | 'messageReactionAdd'
99
+ | 'messageReactionRemove'
100
+ | 'messageReactionRemoveAll'
101
+ | 'messageReactionRemoveEmoji'
102
+ | 'threadCreate'
103
+ | 'threadDelete'
104
+ | 'threadUpdate'
105
+ | 'threadListSync'
106
+ | 'threadMemberUpdate'
107
+ | 'threadMembersUpdate'
108
+ | 'userUpdate'
109
+ | 'presenceUpdate'
110
+ | 'voiceServerUpdate'
111
+ | 'voiceStateUpdate'
112
+ | 'typingStart'
113
+ | 'webhookUpdate'
114
+ | 'interactionCreate'
115
+ | 'error'
116
+ | 'warn'
117
+ | 'debug'
118
+ | 'cacheSweep'
119
+ | 'shardDisconnect'
120
+ | 'shardError'
121
+ | 'shardReconnecting'
122
+ | 'shardReady'
123
+ | 'shardResume'
124
+ | 'invalidated'
125
+ | 'raw'
126
+ | 'stageInstanceCreate'
127
+ | 'stageInstanceUpdate'
128
+ | 'stageInstanceDelete'
129
+ | 'stickerCreate'
130
+ | 'stickerDelete'
131
+ | 'stickerUpdate'
132
+ | 'guildScheduledEventCreate'
133
+ | 'guildScheduledEventUpdate'
134
+ | 'guildScheduledEventDelete'
135
+ | 'guildScheduledEventUserAdd'
136
+ | 'guildScheduledEventUserRemove';
137
+ export type EventType = DiscordEventType | 'webhookInit' | 'webhookPost' | 'webhookError';
138
+ export type XernerxInteraction = XernerxSlashInteraction | XernerxUserContextInteraction | XernerxMessageContextInteraction;
139
+ export type PermissionNames =
140
+ | 'create instant invite'
141
+ | 'kick members'
142
+ | 'ban members'
143
+ | 'administrator'
144
+ | 'manage channels'
145
+ | 'manage guild'
146
+ | 'add reactions'
147
+ | 'view audit log'
148
+ | 'priority speaker'
149
+ | 'stream'
150
+ | 'view channel'
151
+ | 'send messages'
152
+ | 'send tts messages'
153
+ | 'manage messages'
154
+ | 'embed links'
155
+ | 'attach files'
156
+ | 'read message history'
157
+ | 'mention everyone'
158
+ | 'use external emojis'
159
+ | 'view guild insights'
160
+ | 'connect'
161
+ | 'speak'
162
+ | 'mute members'
163
+ | 'deafen members'
164
+ | 'move members'
165
+ | 'use vad'
166
+ | 'change nickname'
167
+ | 'manage nicknames'
168
+ | 'manage roles'
169
+ | 'manage webhooks'
170
+ | 'manage emojis and stickers'
171
+ | 'use application commands'
172
+ | 'request to speak'
173
+ | 'manage events'
174
+ | 'manage threads'
175
+ | 'create public threads'
176
+ | 'create private threads'
177
+ | 'use external stickers'
178
+ | 'send messages in threads'
179
+ | 'start embedded activities'
180
+ | 'moderate members';
181
+ export type InhibitorType = 'message' | 'interaction' | 'command' | 'channel' | 'user' | 'member' | 'guild' | 'contextCommand' | 'messageCommand' | 'slashCommand';
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,6 @@
1
+ import XernerxClient from '../main.js';
2
+ import Util from './Util.js';
3
+ export default class ClientUtil extends Util {
4
+ hasVoted?: Function;
5
+ constructor(client: XernerxClient);
6
+ }
@@ -0,0 +1,7 @@
1
+ import Util from './Util.js';
2
+ export default class ClientUtil extends Util {
3
+ hasVoted;
4
+ constructor(client) {
5
+ super(client);
6
+ }
7
+ }
@@ -1,14 +1,6 @@
1
- 'use strict';
2
- var __importDefault =
3
- (this && this.__importDefault) ||
4
- function (mod) {
5
- return mod && mod.__esModule ? mod : { default: mod };
6
- };
7
- Object.defineProperty(exports, '__esModule', { value: true });
8
- exports.InteractionCommandUtil = exports.MessageCommandUtil = void 0;
9
- const discord_js_1 = require('discord.js');
10
- const XernerxError_js_1 = __importDefault(require('../tools/XernerxError.js'));
11
- class MessageCommandUtil {
1
+ import { ActionRowBuilder, ButtonBuilder, ButtonStyle, EmbedBuilder, StringSelectMenuBuilder } from 'discord.js';
2
+ import XernerxError from '../tools/XernerxError.js';
3
+ export class MessageCommandUtil {
12
4
  client;
13
5
  message;
14
6
  constructor(client, message) {
@@ -90,8 +82,7 @@ class MessageCommandUtil {
90
82
  }
91
83
  createModal() {}
92
84
  }
93
- exports.MessageCommandUtil = MessageCommandUtil;
94
- class InteractionCommandUtil {
85
+ export class InteractionCommandUtil {
95
86
  client;
96
87
  interaction;
97
88
  constructor(client, interaction) {
@@ -110,12 +101,12 @@ class InteractionCommandUtil {
110
101
  }
111
102
  getCommandName() {}
112
103
  selectMenuPaginator(embeds, options) {
113
- if (!Array.isArray(embeds)) throw new XernerxError_js_1.default(`Expected embeds to be of type array, received ${typeof embeds} instead.`);
114
- if (embeds.length > 25) throw new XernerxError_js_1.default(`Max select menu length is 25.`);
104
+ if (!Array.isArray(embeds)) throw new XernerxError(`Expected embeds to be of type array, received ${typeof embeds} instead.`);
105
+ if (embeds.length > 25) throw new XernerxError(`Max select menu length is 25.`);
115
106
  if (typeof options !== 'object') options = {};
116
107
  if (!Array.isArray(options.components)) options.components = [];
117
108
  if (!options.index) {
118
- options.index = new discord_js_1.EmbedBuilder().setTitle('Index').setColor('Random');
109
+ options.index = new EmbedBuilder().setTitle('Index').setColor('Random');
119
110
  for (const embed of embeds) {
120
111
  options.index.addFields([
121
112
  {
@@ -127,14 +118,9 @@ class InteractionCommandUtil {
127
118
  }
128
119
  }
129
120
  if (!options.row) {
130
- options.row = new discord_js_1.ActionRowBuilder();
121
+ options.row = new ActionRowBuilder();
131
122
  if (!options.id) options.id = `${this.interaction.id}-menu`;
132
- options.component = new discord_js_1.StringSelectMenuBuilder()
133
- .setCustomId(options.id)
134
- .setMaxValues(1)
135
- .setMinValues(1)
136
- .setPlaceholder('Select a page.')
137
- .addOptions({ label: 'index', value: '0' });
123
+ options.component = new StringSelectMenuBuilder().setCustomId(options.id).setMaxValues(1).setMinValues(1).setPlaceholder('Select a page.').addOptions({ label: 'index', value: '0' });
138
124
  embeds.map((embed, i = 0) => {
139
125
  options?.component?.addOptions({
140
126
  label: embed.data.title || 'No Name',
@@ -168,21 +154,21 @@ class InteractionCommandUtil {
168
154
  });
169
155
  }
170
156
  buttonPaginator(embeds, options) {
171
- if (!Array.isArray(embeds)) throw new XernerxError_js_1.default(`Expected embeds to be of type array, received ${typeof embeds} instead.`);
172
- if (embeds.length <= 0) throw new XernerxError_js_1.default(`The minimum embeds is 1.`);
157
+ if (!Array.isArray(embeds)) throw new XernerxError(`Expected embeds to be of type array, received ${typeof embeds} instead.`);
158
+ if (embeds.length <= 0) throw new XernerxError(`The minimum embeds is 1.`);
173
159
  if (typeof options !== 'object') options = {};
174
160
  if (!Array.isArray(options.components)) options.components = [];
175
161
  if (!options.row) {
176
- options.row = new discord_js_1.ActionRowBuilder();
162
+ options.row = new ActionRowBuilder();
177
163
  if (!options.id) options.id = `${this.interaction.id}-menu`;
178
164
  }
179
165
  if (!options.buttons) options.buttons = ['⏮️', '◀️', '⏹️', '▶️', '⏭️'];
180
166
  for (const button of options.buttons) {
181
167
  options.row.addComponents(
182
- new discord_js_1.ButtonBuilder()
168
+ new ButtonBuilder()
183
169
  .setCustomId(`${this.interaction.id}-${options.buttons.indexOf(button)}`)
184
170
  .setEmoji(button)
185
- .setStyle(discord_js_1.ButtonStyle.Primary)
171
+ .setStyle(ButtonStyle.Primary)
186
172
  );
187
173
  }
188
174
  let embed = embeds[options.index || 0];
@@ -244,4 +230,3 @@ class InteractionCommandUtil {
244
230
  }
245
231
  createModal() {}
246
232
  }
247
- exports.InteractionCommandUtil = InteractionCommandUtil;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,10 @@
1
+ import { MessagePayload } from 'discord.js';
2
+ import XernerxClient from '../client/XernerxClient.js';
3
+ import { XernerxInteraction } from '../types/types.js';
4
+ import Util from './Util.js';
5
+ export default class InteractionUtil extends Util {
6
+ private interaction;
7
+ constructor(client: XernerxClient, interaction: XernerxInteraction);
8
+ reply(content: MessagePayload): Promise<import('discord.js').Message<boolean> | import('discord.js').InteractionResponse<boolean>>;
9
+ delay(time: number): Promise<unknown>;
10
+ }
@@ -0,0 +1,15 @@
1
+ import delay from '../functions/delay.js';
2
+ import Util from './Util.js';
3
+ export default class InteractionUtil extends Util {
4
+ interaction;
5
+ constructor(client, interaction) {
6
+ super(client);
7
+ this.interaction = interaction;
8
+ }
9
+ async reply(content) {
10
+ return await (this.interaction.replied || this.interaction.deferred ? this.interaction.editReply(content) : this.interaction.reply(content));
11
+ }
12
+ async delay(time) {
13
+ return await delay(time);
14
+ }
15
+ }
@@ -0,0 +1,11 @@
1
+ import { MessagePayload, User } from 'discord.js';
2
+ import XernerxClient from '../client/XernerxClient.js';
3
+ import { XernerxMessage } from '../types/extenders.js';
4
+ import Util from './Util.js';
5
+ export default class MessageUtil extends Util {
6
+ private message;
7
+ constructor(client: XernerxClient, message: XernerxMessage);
8
+ reply(content: MessagePayload): Promise<import('discord.js').Message<boolean> | undefined>;
9
+ webhookReply(content: MessagePayload, url?: URL, user?: User): Promise<void>;
10
+ delay(time: number): Promise<unknown>;
11
+ }
@@ -0,0 +1,42 @@
1
+ import { ChannelType } from 'discord.js';
2
+ import delay from '../functions/delay.js';
3
+ import Util from './Util.js';
4
+ import sendWebhook from '../functions/sendWebhook.js';
5
+ import XernerxError from '../tools/XernerxError.js';
6
+ export default class MessageUtil extends Util {
7
+ message;
8
+ constructor(client, message) {
9
+ super(client);
10
+ this.message = message;
11
+ }
12
+ async reply(content) {
13
+ if (this.client.cache.messages.has(this.message.id)) {
14
+ const id = this.client.cache.messages.get(this.message.id);
15
+ if (!id) return;
16
+ const msg = await this.message.channel.messages.fetch(id);
17
+ msg.edit(content);
18
+ return msg;
19
+ }
20
+ const msg = await this.message.reply(content);
21
+ this.client.cache.messages.set(this.message.id, msg.id);
22
+ return msg;
23
+ }
24
+ async webhookReply(content, url, user) {
25
+ if (this.message.channel.type === ChannelType.DM) throw new XernerxError(`Can't use this method in DM Channels`);
26
+ const channel = this.message.channel;
27
+ let webhook;
28
+ if (!url) {
29
+ webhook = await channel.createWebhook({
30
+ name: user?.username || this.client.user?.username,
31
+ avatar: user?.avatarURL() || this.client.user?.avatarURL(),
32
+ });
33
+ }
34
+ if (!webhook) webhook = { url };
35
+ await sendWebhook(webhook.url, content);
36
+ if (!url) webhook.delete();
37
+ return;
38
+ }
39
+ async delay(time) {
40
+ return await delay(time);
41
+ }
42
+ }
@@ -0,0 +1,5 @@
1
+ import XernerxClient from '../client/XernerxClient.js';
2
+ export default class Util {
3
+ client: XernerxClient;
4
+ constructor(client: XernerxClient);
5
+ }
@@ -0,0 +1,6 @@
1
+ export default class Util {
2
+ client;
3
+ constructor(client) {
4
+ this.client = client;
5
+ }
6
+ }