@mostfeatured/dbi 0.0.88 → 0.0.90
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.
- package/dist/methods/handleMessageCommands.d.ts.map +1 -1
- package/dist/methods/handleMessageCommands.js +11 -5
- package/dist/methods/handleMessageCommands.js.map +1 -1
- package/dist/types/other/FakeMessageInteraction.js +5 -5
- package/dist/types/other/FakeMessageInteraction.js.map +1 -1
- package/package.json +1 -1
- package/src/methods/handleMessageCommands.ts +13 -6
- package/src/types/other/FakeMessageInteraction.ts +12 -12
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleMessageCommands.d.ts","sourceRoot":"","sources":["../../src/methods/handleMessageCommands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuD,OAAO,EAAgD,MAAM,YAAY,CAAC;AACxI,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAO7B,MAAM,MAAM,oCAAoC,GAAG,uBAAuB,GAAG,WAAW,GAAG,WAAW,GAAG,eAAe,GAAG,gBAAgB,GAAG,YAAY,GAAG,YAAY,GAAG,eAAe,GAAG,WAAW,GAAG,WAAW,GAAG,gBAAgB,GAAG,aAAa,GAAG,gBAAgB,GAAG,aAAa,GAAG,oBAAoB,GAAG,uBAAuB,CAAC;AAE/U,wBAAsB,qBAAqB,CAAC,GAAG,EAAE,GAAG,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"handleMessageCommands.d.ts","sourceRoot":"","sources":["../../src/methods/handleMessageCommands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuD,OAAO,EAAgD,MAAM,YAAY,CAAC;AACxI,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAO7B,MAAM,MAAM,oCAAoC,GAAG,uBAAuB,GAAG,WAAW,GAAG,WAAW,GAAG,eAAe,GAAG,gBAAgB,GAAG,YAAY,GAAG,YAAY,GAAG,eAAe,GAAG,WAAW,GAAG,WAAW,GAAG,gBAAgB,GAAG,aAAa,GAAG,gBAAgB,GAAG,aAAa,GAAG,oBAAoB,GAAG,uBAAuB,CAAC;AAE/U,wBAAsB,qBAAqB,CAAC,GAAG,EAAE,GAAG,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,OAAO,iBAqTrF"}
|
|
@@ -59,6 +59,8 @@ async function handleMessageCommands(dbi, message) {
|
|
|
59
59
|
lastValue = value;
|
|
60
60
|
switch (option.type) {
|
|
61
61
|
case discord_js_1.ApplicationCommandOptionType.String: {
|
|
62
|
+
if (!option.required && !value)
|
|
63
|
+
break;
|
|
62
64
|
if (option.autocomplete && option.onComplete) {
|
|
63
65
|
let choices = await option.onComplete({
|
|
64
66
|
interaction,
|
|
@@ -111,6 +113,8 @@ async function handleMessageCommands(dbi, message) {
|
|
|
111
113
|
break;
|
|
112
114
|
}
|
|
113
115
|
case discord_js_1.ApplicationCommandOptionType.Integer: {
|
|
116
|
+
if (!option.required && !value)
|
|
117
|
+
break;
|
|
114
118
|
let parsedInt = parseInt(value);
|
|
115
119
|
if (option.autocomplete && option.onComplete) {
|
|
116
120
|
let choices = await option.onComplete({
|
|
@@ -169,6 +173,8 @@ async function handleMessageCommands(dbi, message) {
|
|
|
169
173
|
break;
|
|
170
174
|
}
|
|
171
175
|
case discord_js_1.ApplicationCommandOptionType.Number: {
|
|
176
|
+
if (!option.required && !value)
|
|
177
|
+
break;
|
|
172
178
|
let parsedFloat = parseFloat(value);
|
|
173
179
|
if (option.autocomplete && option.onComplete) {
|
|
174
180
|
let choices = await option.onComplete({
|
|
@@ -228,35 +234,35 @@ async function handleMessageCommands(dbi, message) {
|
|
|
228
234
|
}
|
|
229
235
|
case discord_js_1.ApplicationCommandOptionType.Boolean: {
|
|
230
236
|
let boolKeys = Object.keys(dbi.config.messageCommands.typeAliases.booleans);
|
|
231
|
-
if (!boolKeys.includes(value.toLowerCase())) {
|
|
237
|
+
if (option.required && !boolKeys.includes(value.toLowerCase())) {
|
|
232
238
|
errorType = "InvalidBoolean";
|
|
233
239
|
break;
|
|
234
240
|
}
|
|
235
241
|
break;
|
|
236
242
|
}
|
|
237
243
|
case discord_js_1.ApplicationCommandOptionType.User: {
|
|
238
|
-
if (!interaction.options.getUser(option.name)) {
|
|
244
|
+
if (option.required && !interaction.options.getUser(option.name)) {
|
|
239
245
|
errorType = "InvalidUser";
|
|
240
246
|
break;
|
|
241
247
|
}
|
|
242
248
|
break;
|
|
243
249
|
}
|
|
244
250
|
case discord_js_1.ApplicationCommandOptionType.Channel: {
|
|
245
|
-
if (!interaction.options.getChannel(option.name, null, option.channelTypes)) {
|
|
251
|
+
if (option.required && !interaction.options.getChannel(option.name, null, option.channelTypes)) {
|
|
246
252
|
errorType = "InvalidChannel";
|
|
247
253
|
break;
|
|
248
254
|
}
|
|
249
255
|
break;
|
|
250
256
|
}
|
|
251
257
|
case discord_js_1.ApplicationCommandOptionType.Role: {
|
|
252
|
-
if (!interaction.options.getRole(option.name)) {
|
|
258
|
+
if (option.required && !interaction.options.getRole(option.name)) {
|
|
253
259
|
errorType = "InvalidRole";
|
|
254
260
|
break;
|
|
255
261
|
}
|
|
256
262
|
break;
|
|
257
263
|
}
|
|
258
264
|
case discord_js_1.ApplicationCommandOptionType.Mentionable: {
|
|
259
|
-
if (!interaction.options.getMentionable(option.name)) {
|
|
265
|
+
if (option.required && !interaction.options.getMentionable(option.name)) {
|
|
260
266
|
errorType = "InvalidMentionable";
|
|
261
267
|
break;
|
|
262
268
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleMessageCommands.js","sourceRoot":"","sources":["../../src/methods/handleMessageCommands.ts"],"names":[],"mappings":"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","sourcesContent":["import { ApplicationCommandType, ChatInputCommandInteraction, Message, MessagePayload, ApplicationCommandOptionType } from \"discord.js\";\r\nimport { NamespaceEnums } from \"../../generated/namespaceData\";\r\nimport { DBI } from \"../DBI\";\r\nimport { FakeMessageInteraction } from \"../types/other/FakeMessageInteraction\";\r\nimport { TDBILocaleString } from \"../types/other/Locale\";\r\n\r\nconst INTEGER_REGEX = /^-?\\d+$/;\r\nconst NUMBER_REGEX = /^-?\\d+(?:\\.\\d+)?$/;\r\n\r\nexport type TDBIMessageCommandArgumentErrorTypes = \"MissingRequiredOption\" | \"MinLength\" | \"MaxLength\" | \"InvalidChoice\" | \"InvalidInteger\" | \"MinInteger\" | \"MaxInteger\" | \"InvalidNumber\" | \"MinNumber\" | \"MaxNumber\" | \"InvalidBoolean\" | \"InvalidUser\" | \"InvalidChannel\" | \"InvalidRole\" | \"InvalidMentionable\" | \"InvalidCompleteChoice\";\r\n\r\nexport async function handleMessageCommands(dbi: DBI<NamespaceEnums>, message: Message) {\r\n const chatInputs = dbi.data.interactions.filter(i => i.type === \"ChatInput\");\r\n const prefixes = dbi.config.messageCommands.prefixes ?? [];\r\n if (!prefixes.length) return;\r\n const content = message.content;\r\n const usedPrefix = prefixes.find(p => content.startsWith(p));\r\n if (!usedPrefix) return;\r\n const contentWithoutPrefix = content.slice(usedPrefix?.length ?? 0);\r\n const contentLower = contentWithoutPrefix.toLowerCase();\r\n\r\n let locale: string = message.guild.preferredLocale?.split(\"-\")?.at(0) || dbi.config.defaults.locale as any;\r\n let usedAlias: string | undefined;\r\n let chatInput = chatInputs.find(i => {\r\n let found = contentLower.startsWith(i.name);\r\n if (found) return true;\r\n let alias = i.other?.messageCommand?.aliases?.find(a => contentLower.startsWith(a));\r\n if (alias) {\r\n usedAlias = alias;\r\n return true;\r\n }\r\n return false;\r\n });\r\n let commandName = usedAlias ?? chatInput?.name;\r\n\r\n if (!chatInput) {\r\n fLoop: for (const [localeInterName, localeData] of dbi.data.interactionLocales) {\r\n for (const [localeName, translation] of Object.entries(localeData.data || {})) {\r\n if (contentLower.startsWith(translation.name)) {\r\n commandName = translation.name;\r\n locale = localeName;\r\n chatInput = chatInputs.find(i => i.name === localeData.name);\r\n break fLoop;\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (!chatInput) return;\r\n\r\n const interaction = new FakeMessageInteraction(dbi, message, chatInput, locale, commandName, usedPrefix);\r\n\r\n if (chatInput.options.length) {\r\n let errorType: TDBIMessageCommandArgumentErrorTypes;\r\n let lastOption: any;\r\n let lastValue: any;\r\n let lastExtra: any;\r\n let lastIndex: number;\r\n for (let i = 0; i < chatInput.options.length; i++) {\r\n lastIndex = i;\r\n const option: any = interaction.dbiChatInputOptions[i];\r\n const value = interaction.parsedArgs.get(option.name)?.value;\r\n\r\n lastOption = option;\r\n lastValue = value;\r\n\r\n switch (option.type) {\r\n case ApplicationCommandOptionType.String: {\r\n if (option.autocomplete && option.onComplete) {\r\n let choices = await option.onComplete({\r\n interaction,\r\n value\r\n });\r\n if (!choices.length) choices = await option.onComplete({\r\n interaction,\r\n value: \"\"\r\n });\r\n if (choices.length > 20) throw new Error(\"Autocomplete returned more than 20 choices.\");\r\n lastExtra = choices;\r\n if (!choices.find(c => c.name === value || c.value === value)) {\r\n if (value) {\r\n errorType = \"InvalidCompleteChoice\";\r\n break;\r\n } else if (option.required && !value) {\r\n errorType = \"MissingRequiredOption\";\r\n break;\r\n }\r\n }\r\n option._choices = choices;\r\n }\r\n\r\n if (option.choices) {\r\n const localeData = dbi.data.interactionLocales.get(chatInput.name)?.data;\r\n const choicesLocaleData = localeData?.[locale as TDBILocaleString]?.options?.[option.name]?.choices;\r\n if (!option.choices.find(c => c.name === value || c.value === value || (choicesLocaleData?.[c.value] && choicesLocaleData?.[c.value] === value))) {\r\n lastExtra = option.choices.map(c => ({ name: choicesLocaleData?.[c.value] ?? c.name, value: c.value }));\r\n if (value) {\r\n errorType = \"InvalidChoice\";\r\n break;\r\n } else if (option.required && !value) {\r\n errorType = \"MissingRequiredOption\";\r\n break;\r\n }\r\n }\r\n break;\r\n }\r\n\r\n if (option.minLength && value.length < option.minLength) {\r\n errorType = \"MinLength\";\r\n break;\r\n }\r\n if (option.maxLength && value.length > option.maxLength) {\r\n errorType = \"MaxLength\";\r\n break;\r\n }\r\n\r\n break;\r\n }\r\n case ApplicationCommandOptionType.Integer: {\r\n let parsedInt = parseInt(value);\r\n\r\n if (option.autocomplete && option.onComplete) {\r\n let choices = await option.onComplete({\r\n interaction,\r\n value\r\n });\r\n if (!choices.length) choices = await option.onComplete({\r\n interaction,\r\n value: \"\"\r\n });\r\n if (choices.length > 20) throw new Error(\"Autocomplete returned more than 20 choices.\");\r\n lastExtra = choices;\r\n if (!choices.find(c => c.value === parsedInt || c.name === value)) {\r\n if (value) {\r\n errorType = \"InvalidCompleteChoice\";\r\n break;\r\n } else if (option.required && !value) {\r\n errorType = \"MissingRequiredOption\";\r\n break;\r\n }\r\n }\r\n option._choices = choices;\r\n break;\r\n }\r\n\r\n if (option.choices) {\r\n const localeData = dbi.data.interactionLocales.get(chatInput.name)?.data;\r\n const choicesLocaleData = localeData?.[locale as TDBILocaleString]?.options?.[option.name]?.choices;\r\n if (!option.choices.find(c => c.value === parsedInt || c.name === value || (choicesLocaleData?.[c.value] && choicesLocaleData?.[c.value] === value))) {\r\n lastExtra = option.choices.map(c => ({ name: choicesLocaleData?.[c.value] ?? c.name, value: c.value }));\r\n if (value) {\r\n errorType = \"InvalidChoice\";\r\n break;\r\n } else if (option.required && !value) {\r\n errorType = \"MissingRequiredOption\";\r\n break;\r\n }\r\n }\r\n break;\r\n }\r\n\r\n if (!INTEGER_REGEX.test(value)) {\r\n errorType = \"InvalidInteger\";\r\n break;\r\n }\r\n \r\n if (option.minValue && parsedInt < option.minValue) {\r\n errorType = \"MinInteger\";\r\n break;\r\n }\r\n\r\n if (option.maxValue && parsedInt > option.maxValue) {\r\n errorType = \"MaxInteger\";\r\n break;\r\n }\r\n\r\n break;\r\n }\r\n case ApplicationCommandOptionType.Number: {\r\n let parsedFloat = parseFloat(value);\r\n\r\n if (option.autocomplete && option.onComplete) {\r\n let choices = await option.onComplete({\r\n interaction,\r\n value\r\n });\r\n if (!choices.length) choices = await option.onComplete({\r\n interaction,\r\n value: \"\"\r\n });\r\n if (choices.length > 20) throw new Error(\"Autocomplete returned more than 20 choices.\");\r\n lastExtra = choices;\r\n if (!choices.find(c => c.value === parsedFloat || c.name === value)) {\r\n if (value) {\r\n errorType = \"InvalidCompleteChoice\";\r\n break;\r\n } else if (option.required && !value) {\r\n errorType = \"MissingRequiredOption\";\r\n break;\r\n }\r\n }\r\n option._choices = choices;\r\n break;\r\n }\r\n\r\n if (option.choices) {\r\n const localeData = dbi.data.interactionLocales.get(chatInput.name)?.data;\r\n const choicesLocaleData = localeData?.[locale as TDBILocaleString]?.options?.[option.name]?.choices;\r\n if (!option.choices.find(c => c.value === parsedFloat || c.name === value || (choicesLocaleData?.[c.value] && choicesLocaleData?.[c.value] === value))) {\r\n lastExtra = option.choices.map(c => ({ name: choicesLocaleData?.[c.value] ?? c.name, value: c.value }));\r\n if (value) {\r\n errorType = \"InvalidChoice\";\r\n break;\r\n } else if (option.required && !value) {\r\n errorType = \"MissingRequiredOption\";\r\n break;\r\n }\r\n }\r\n break;\r\n }\r\n\r\n if (!NUMBER_REGEX.test(value)) {\r\n errorType = \"InvalidNumber\";\r\n break;\r\n }\r\n\r\n if (option.minValue && parsedFloat < option.minValue) {\r\n errorType = \"MinNumber\";\r\n break;\r\n }\r\n\r\n if (option.maxValue && parsedFloat > option.maxValue) {\r\n errorType = \"MaxNumber\";\r\n break;\r\n }\r\n break;\r\n }\r\n case ApplicationCommandOptionType.Boolean: {\r\n let boolKeys = Object.keys(dbi.config.messageCommands.typeAliases.booleans);\r\n if (!boolKeys.includes(value.toLowerCase())) {\r\n errorType = \"InvalidBoolean\";\r\n break;\r\n }\r\n break;\r\n }\r\n case ApplicationCommandOptionType.User: {\r\n if (!interaction.options.getUser(option.name)) {\r\n errorType = \"InvalidUser\";\r\n break;\r\n }\r\n break;\r\n }\r\n case ApplicationCommandOptionType.Channel: {\r\n if (!interaction.options.getChannel(option.name, null, option.channelTypes)) {\r\n errorType = \"InvalidChannel\";\r\n break;\r\n }\r\n break;\r\n }\r\n case ApplicationCommandOptionType.Role: {\r\n if (!interaction.options.getRole(option.name)) {\r\n errorType = \"InvalidRole\";\r\n break;\r\n }\r\n break;\r\n }\r\n case ApplicationCommandOptionType.Mentionable: {\r\n if (!interaction.options.getMentionable(option.name)) {\r\n errorType = \"InvalidMentionable\";\r\n break;\r\n }\r\n break;\r\n }\r\n case ApplicationCommandOptionType.Attachment: {\r\n if (option.required && !value) {\r\n errorType = \"MissingRequiredOption\";\r\n }\r\n break;\r\n }\r\n }\r\n\r\n if (errorType) {\r\n break;\r\n } else {\r\n lastExtra = null;\r\n lastIndex = null;\r\n lastOption = null;\r\n lastValue = null;\r\n }\r\n }\r\n\r\n if (errorType) {\r\n let res = await dbi.events.trigger(\"messageCommandArgumentError\", {\r\n interaction,\r\n message,\r\n locale: {\r\n user: dbi.data.locales.get(interaction.locale) || dbi.data.locales.get(dbi.config.defaults.locale),\r\n guild: message.guild?.preferredLocale ? (dbi.data.locales.get(message.guild?.preferredLocale?.split(\"-\")?.at(0)) || dbi.data.locales.get(dbi.config.defaults.locale)) : null\r\n },\r\n error: {\r\n type: errorType,\r\n option: lastOption,\r\n extra: lastExtra,\r\n index: lastIndex\r\n },\r\n value: lastValue\r\n });\r\n if (!res) return;\r\n }\r\n }\r\n\r\n\r\n dbi.data.clients.first().client.emit(\"interactionCreate\", interaction as any);\r\n}"]}
|
|
1
|
+
{"version":3,"file":"handleMessageCommands.js","sourceRoot":"","sources":["../../src/methods/handleMessageCommands.ts"],"names":[],"mappings":"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","sourcesContent":["import { ApplicationCommandType, ChatInputCommandInteraction, Message, MessagePayload, ApplicationCommandOptionType } from \"discord.js\";\r\nimport { NamespaceEnums } from \"../../generated/namespaceData\";\r\nimport { DBI } from \"../DBI\";\r\nimport { FakeMessageInteraction } from \"../types/other/FakeMessageInteraction\";\r\nimport { TDBILocaleString } from \"../types/other/Locale\";\r\n\r\nconst INTEGER_REGEX = /^-?\\d+$/;\r\nconst NUMBER_REGEX = /^-?\\d+(?:\\.\\d+)?$/;\r\n\r\nexport type TDBIMessageCommandArgumentErrorTypes = \"MissingRequiredOption\" | \"MinLength\" | \"MaxLength\" | \"InvalidChoice\" | \"InvalidInteger\" | \"MinInteger\" | \"MaxInteger\" | \"InvalidNumber\" | \"MinNumber\" | \"MaxNumber\" | \"InvalidBoolean\" | \"InvalidUser\" | \"InvalidChannel\" | \"InvalidRole\" | \"InvalidMentionable\" | \"InvalidCompleteChoice\";\r\n\r\nexport async function handleMessageCommands(dbi: DBI<NamespaceEnums>, message: Message) {\r\n const chatInputs = dbi.data.interactions.filter(i => i.type === \"ChatInput\");\r\n const prefixes = dbi.config.messageCommands.prefixes ?? [];\r\n if (!prefixes.length) return;\r\n const content = message.content;\r\n const usedPrefix = prefixes.find(p => content.startsWith(p));\r\n if (!usedPrefix) return;\r\n const contentWithoutPrefix = content.slice(usedPrefix?.length ?? 0);\r\n const contentLower = contentWithoutPrefix.toLowerCase();\r\n\r\n let locale: string = message.guild.preferredLocale?.split(\"-\")?.at(0) || dbi.config.defaults.locale as any;\r\n let usedAlias: string | undefined;\r\n let chatInput = chatInputs.find(i => {\r\n let found = contentLower.startsWith(i.name);\r\n if (found) return true;\r\n let alias = i.other?.messageCommand?.aliases?.find(a => contentLower.startsWith(a));\r\n if (alias) {\r\n usedAlias = alias;\r\n return true;\r\n }\r\n return false;\r\n });\r\n let commandName = usedAlias ?? chatInput?.name;\r\n\r\n if (!chatInput) {\r\n fLoop: for (const [localeInterName, localeData] of dbi.data.interactionLocales) {\r\n for (const [localeName, translation] of Object.entries(localeData.data || {})) {\r\n if (contentLower.startsWith(translation.name)) {\r\n commandName = translation.name;\r\n locale = localeName;\r\n chatInput = chatInputs.find(i => i.name === localeData.name);\r\n break fLoop;\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (!chatInput) return;\r\n\r\n const interaction = new FakeMessageInteraction(dbi, message, chatInput, locale, commandName, usedPrefix);\r\n\r\n if (chatInput.options.length) {\r\n let errorType: TDBIMessageCommandArgumentErrorTypes;\r\n let lastOption: any;\r\n let lastValue: any;\r\n let lastExtra: any;\r\n let lastIndex: number;\r\n for (let i = 0; i < chatInput.options.length; i++) {\r\n lastIndex = i;\r\n const option: any = interaction.dbiChatInputOptions[i];\r\n const value = interaction.parsedArgs.get(option.name)?.value;\r\n\r\n lastOption = option;\r\n lastValue = value;\r\n\r\n switch (option.type) {\r\n case ApplicationCommandOptionType.String: {\r\n\r\n if (!option.required && !value) break;\r\n\r\n if (option.autocomplete && option.onComplete) {\r\n let choices = await option.onComplete({\r\n interaction,\r\n value\r\n });\r\n if (!choices.length) choices = await option.onComplete({\r\n interaction,\r\n value: \"\"\r\n });\r\n if (choices.length > 20) throw new Error(\"Autocomplete returned more than 20 choices.\");\r\n lastExtra = choices;\r\n if (!choices.find(c => c.name === value || c.value === value)) {\r\n if (value) {\r\n errorType = \"InvalidCompleteChoice\";\r\n break;\r\n } else if (option.required && !value) {\r\n errorType = \"MissingRequiredOption\";\r\n break;\r\n }\r\n }\r\n option._choices = choices;\r\n }\r\n\r\n if (option.choices) {\r\n const localeData = dbi.data.interactionLocales.get(chatInput.name)?.data;\r\n const choicesLocaleData = localeData?.[locale as TDBILocaleString]?.options?.[option.name]?.choices;\r\n if (!option.choices.find(c => c.name === value || c.value === value || (choicesLocaleData?.[c.value] && choicesLocaleData?.[c.value] === value))) {\r\n lastExtra = option.choices.map(c => ({ name: choicesLocaleData?.[c.value] ?? c.name, value: c.value }));\r\n if (value) {\r\n errorType = \"InvalidChoice\";\r\n break;\r\n } else if (option.required && !value) {\r\n errorType = \"MissingRequiredOption\";\r\n break;\r\n }\r\n }\r\n break;\r\n }\r\n\r\n if (option.minLength && value.length < option.minLength) {\r\n errorType = \"MinLength\";\r\n break;\r\n }\r\n if (option.maxLength && value.length > option.maxLength) {\r\n errorType = \"MaxLength\";\r\n break;\r\n }\r\n\r\n break;\r\n }\r\n case ApplicationCommandOptionType.Integer: {\r\n if (!option.required && !value) break;\r\n\r\n let parsedInt = parseInt(value);\r\n\r\n if (option.autocomplete && option.onComplete) {\r\n let choices = await option.onComplete({\r\n interaction,\r\n value\r\n });\r\n if (!choices.length) choices = await option.onComplete({\r\n interaction,\r\n value: \"\"\r\n });\r\n if (choices.length > 20) throw new Error(\"Autocomplete returned more than 20 choices.\");\r\n lastExtra = choices;\r\n if (!choices.find(c => c.value === parsedInt || c.name === value)) {\r\n if (value) {\r\n errorType = \"InvalidCompleteChoice\";\r\n break;\r\n } else if (option.required && !value) {\r\n errorType = \"MissingRequiredOption\";\r\n break;\r\n }\r\n }\r\n option._choices = choices;\r\n break;\r\n }\r\n\r\n if (option.choices) {\r\n const localeData = dbi.data.interactionLocales.get(chatInput.name)?.data;\r\n const choicesLocaleData = localeData?.[locale as TDBILocaleString]?.options?.[option.name]?.choices;\r\n if (!option.choices.find(c => c.value === parsedInt || c.name === value || (choicesLocaleData?.[c.value] && choicesLocaleData?.[c.value] === value))) {\r\n lastExtra = option.choices.map(c => ({ name: choicesLocaleData?.[c.value] ?? c.name, value: c.value }));\r\n if (value) {\r\n errorType = \"InvalidChoice\";\r\n break;\r\n } else if (option.required && !value) {\r\n errorType = \"MissingRequiredOption\";\r\n break;\r\n }\r\n }\r\n break;\r\n }\r\n\r\n if (!INTEGER_REGEX.test(value)) {\r\n errorType = \"InvalidInteger\";\r\n break;\r\n }\r\n\r\n if (option.minValue && parsedInt < option.minValue) {\r\n errorType = \"MinInteger\";\r\n break;\r\n }\r\n\r\n if (option.maxValue && parsedInt > option.maxValue) {\r\n errorType = \"MaxInteger\";\r\n break;\r\n }\r\n\r\n break;\r\n }\r\n case ApplicationCommandOptionType.Number: {\r\n if (!option.required && !value) break;\r\n\r\n let parsedFloat = parseFloat(value);\r\n\r\n if (option.autocomplete && option.onComplete) {\r\n let choices = await option.onComplete({\r\n interaction,\r\n value\r\n });\r\n if (!choices.length) choices = await option.onComplete({\r\n interaction,\r\n value: \"\"\r\n });\r\n if (choices.length > 20) throw new Error(\"Autocomplete returned more than 20 choices.\");\r\n lastExtra = choices;\r\n if (!choices.find(c => c.value === parsedFloat || c.name === value)) {\r\n if (value) {\r\n errorType = \"InvalidCompleteChoice\";\r\n break;\r\n } else if (option.required && !value) {\r\n errorType = \"MissingRequiredOption\";\r\n break;\r\n }\r\n }\r\n option._choices = choices;\r\n break;\r\n }\r\n\r\n if (option.choices) {\r\n const localeData = dbi.data.interactionLocales.get(chatInput.name)?.data;\r\n const choicesLocaleData = localeData?.[locale as TDBILocaleString]?.options?.[option.name]?.choices;\r\n if (!option.choices.find(c => c.value === parsedFloat || c.name === value || (choicesLocaleData?.[c.value] && choicesLocaleData?.[c.value] === value))) {\r\n lastExtra = option.choices.map(c => ({ name: choicesLocaleData?.[c.value] ?? c.name, value: c.value }));\r\n if (value) {\r\n errorType = \"InvalidChoice\";\r\n break;\r\n } else if (option.required && !value) {\r\n errorType = \"MissingRequiredOption\";\r\n break;\r\n }\r\n }\r\n break;\r\n }\r\n\r\n if (!NUMBER_REGEX.test(value)) {\r\n errorType = \"InvalidNumber\";\r\n break;\r\n }\r\n\r\n if (option.minValue && parsedFloat < option.minValue) {\r\n errorType = \"MinNumber\";\r\n break;\r\n }\r\n\r\n if (option.maxValue && parsedFloat > option.maxValue) {\r\n errorType = \"MaxNumber\";\r\n break;\r\n }\r\n break;\r\n }\r\n case ApplicationCommandOptionType.Boolean: {\r\n let boolKeys = Object.keys(dbi.config.messageCommands.typeAliases.booleans);\r\n if (option.required && !boolKeys.includes(value.toLowerCase())) {\r\n errorType = \"InvalidBoolean\";\r\n break;\r\n }\r\n break;\r\n }\r\n case ApplicationCommandOptionType.User: {\r\n if (option.required && !interaction.options.getUser(option.name)) {\r\n errorType = \"InvalidUser\";\r\n break;\r\n }\r\n break;\r\n }\r\n case ApplicationCommandOptionType.Channel: {\r\n if (option.required && !interaction.options.getChannel(option.name, null, option.channelTypes)) {\r\n errorType = \"InvalidChannel\";\r\n break;\r\n }\r\n break;\r\n }\r\n case ApplicationCommandOptionType.Role: {\r\n if (option.required && !interaction.options.getRole(option.name)) {\r\n errorType = \"InvalidRole\";\r\n break;\r\n }\r\n break;\r\n }\r\n case ApplicationCommandOptionType.Mentionable: {\r\n if (option.required && !interaction.options.getMentionable(option.name)) {\r\n errorType = \"InvalidMentionable\";\r\n break;\r\n }\r\n break;\r\n }\r\n case ApplicationCommandOptionType.Attachment: {\r\n if (option.required && !value) {\r\n errorType = \"MissingRequiredOption\";\r\n }\r\n break;\r\n }\r\n }\r\n\r\n if (errorType) {\r\n break;\r\n } else {\r\n lastExtra = null;\r\n lastIndex = null;\r\n lastOption = null;\r\n lastValue = null;\r\n }\r\n }\r\n\r\n if (errorType) {\r\n let res = await dbi.events.trigger(\"messageCommandArgumentError\", {\r\n interaction,\r\n message,\r\n locale: {\r\n user: dbi.data.locales.get(interaction.locale) || dbi.data.locales.get(dbi.config.defaults.locale),\r\n guild: message.guild?.preferredLocale ? (dbi.data.locales.get(message.guild?.preferredLocale?.split(\"-\")?.at(0)) || dbi.data.locales.get(dbi.config.defaults.locale)) : null\r\n },\r\n error: {\r\n type: errorType,\r\n option: lastOption,\r\n extra: lastExtra,\r\n index: lastIndex\r\n },\r\n value: lastValue\r\n });\r\n if (!res) return;\r\n }\r\n }\r\n\r\n\r\n dbi.data.clients.first().client.emit(\"interactionCreate\", interaction as any);\r\n}"]}
|
|
@@ -254,19 +254,19 @@ class FakeMessageInteraction /* implements ChatInputCommandInteraction */ {
|
|
|
254
254
|
return { ...this.options.get(arg.name), value: this.options.getBoolean(arg.name) };
|
|
255
255
|
}
|
|
256
256
|
case discord_js_1.ApplicationCommandOptionType.User: {
|
|
257
|
-
return { ...this.options.get(arg.name), value: this.options.getUser(arg.name)
|
|
257
|
+
return { ...this.options.get(arg.name), value: this.options.getUser(arg.name)?.id };
|
|
258
258
|
}
|
|
259
259
|
case discord_js_1.ApplicationCommandOptionType.Channel: {
|
|
260
|
-
return { ...this.options.get(arg.name), value: this.options.getChannel(arg.name)
|
|
260
|
+
return { ...this.options.get(arg.name), value: this.options.getChannel(arg.name)?.id };
|
|
261
261
|
}
|
|
262
262
|
case discord_js_1.ApplicationCommandOptionType.Role: {
|
|
263
|
-
return { ...this.options.get(arg.name), value: this.options.getRole(arg.name)
|
|
263
|
+
return { ...this.options.get(arg.name), value: this.options.getRole(arg.name)?.id };
|
|
264
264
|
}
|
|
265
265
|
case discord_js_1.ApplicationCommandOptionType.Mentionable: {
|
|
266
|
-
return { ...this.options.get(arg.name), value: this.options.getMentionable(arg.name)
|
|
266
|
+
return { ...this.options.get(arg.name), value: this.options.getMentionable(arg.name)?.id };
|
|
267
267
|
}
|
|
268
268
|
case discord_js_1.ApplicationCommandOptionType.Attachment: {
|
|
269
|
-
return { ...this.options.get(arg.name), value: this.options.getAttachment(arg.name)
|
|
269
|
+
return { ...this.options.get(arg.name), value: this.options.getAttachment(arg.name)?.url };
|
|
270
270
|
}
|
|
271
271
|
case discord_js_1.ApplicationCommandOptionType.Subcommand: {
|
|
272
272
|
return { ...this.options.get(arg.name), value: this.options.getSubcommand() };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FakeMessageInteraction.js","sourceRoot":"","sources":["../../../src/types/other/FakeMessageInteraction.ts"],"names":[],"mappings":"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","sourcesContent":["import { Message, MessagePayload, ApplicationCommandType, ChatInputCommandInteraction, Locale, APIInteractionGuildMember, GuildMember, PermissionsBitField, CacheType, CommandInteractionOptionResolver, CommandOptionDataTypeResolvable, ApplicationCommandOptionType, User, Attachment } from 'discord.js';\r\nimport { TDBIInteractions } from '../Interaction';\r\nimport { plsParseArgs } from \"plsargs\";\r\nimport { DBI } from '../../DBI';\r\nimport { NamespaceEnums } from \"../../../generated/namespaceData\";\r\nimport { ChannelType } from \"discord-api-types/v10\";\r\n\r\nexport class FakeMessageInteraction /* implements ChatInputCommandInteraction */ {\r\n channelId: string;\r\n commandName: string;\r\n appPermissions: any;\r\n applicationId: string;\r\n channel: any; \r\n command: any;\r\n commandGuildId: string;\r\n commandId: any; \r\n commandType: ApplicationCommandType.ChatInput;\r\n // awaitModalSubmit: (...arr: any[]) => any;\r\n // fetchReply: () => Promise<any>;\r\n deferred: boolean = false;\r\n client: any; \r\n createdAt: Date;\r\n ephemeral: boolean = false;\r\n createdTimestamp: number;\r\n guild: any; \r\n guildId: string;\r\n guildLocale: Locale;\r\n id: string;\r\n user: User;\r\n private repliedMessage: Message | undefined;\r\n private lastFollowUp: Message | undefined;\r\n member: GuildMember | APIInteractionGuildMember;\r\n memberPermissions: Readonly<PermissionsBitField>;\r\n parsedArgs = new Map<string, FakeMessageInteractionArgument>();\r\n usedCommandName: string;\r\n fullCommandName: string;\r\n options: any;\r\n dbiChatInput: TDBIInteractions<string | number>;\r\n dbiChatInputOptions: any[];\r\n fake: boolean = true;\r\n\r\n constructor(private dbi: DBI<NamespaceEnums>, private message: Message, chatInput: TDBIInteractions<string | number>, public locale: string, commandName: string, private usedPrefix: string) {\r\n const self = this;\r\n \r\n this.channelId = message.channel.id;\r\n this.commandName = chatInput.name.split(\" \").at(0);\r\n this.appPermissions = message.guild?.members.me.permissionsIn(message.channel as any) ?? new PermissionsBitField(8n);\r\n this.applicationId = message.client.user.id;\r\n this.channel = message.channel as any;\r\n this.commandGuildId = message.guild.id;\r\n this.commandType = ApplicationCommandType.ChatInput;\r\n \r\n this.client = message.client;\r\n this.createdAt = message.createdAt;\r\n this.createdTimestamp = message.createdTimestamp;\r\n this.guild = message.guild;\r\n this.guildId = message.guild?.id;\r\n this.guildLocale = message.guild?.preferredLocale;\r\n this.id = message.guild?.commands.cache.find((cmd) => cmd.name === this.commandName)?.id ?? message.client.application.commands.cache.find((cmd) => cmd.name === this.commandName)?.id ?? \"-1\";\r\n this.locale = message.guild?.preferredLocale;\r\n this.member = message.member;\r\n this.memberPermissions = message.member?.permissions;\r\n this.user = message.author;\r\n\r\n this.usedCommandName = commandName;\r\n this.fullCommandName = chatInput.name;\r\n this.dbiChatInput = chatInput;\r\n this.dbiChatInputOptions = chatInput.options ? chatInput.options.map(i => ({ ...i })) : []; \r\n\r\n {\r\n const argContent = message.content.slice(usedPrefix.length + commandName.length).replace(/ +/, \" \").trim();\r\n const args = plsParseArgs(argContent);\r\n\r\n const options = chatInput.options ?? [];\r\n const atchs = [...message.attachments.values()];\r\n for (let i = 0, attachmentIndex = 0, namedValueSize = 0; i < options.length; i++) {\r\n const option = options[i];\r\n if (!option) break;\r\n if (option.type === ApplicationCommandOptionType.Attachment) {\r\n this.parsedArgs.set(option.name, {\r\n name: option.name,\r\n type: option.type,\r\n value: atchs.at(attachmentIndex)?.url,\r\n attachment: atchs.at(attachmentIndex++)\r\n })\r\n continue;\r\n }\r\n const arg = args.get(option.name) ?? args.get(i - attachmentIndex - namedValueSize);\r\n if (args.get(option.name)) namedValueSize++;\r\n this.parsedArgs.set(option.name, {\r\n name: option.name,\r\n type: option.type,\r\n value: arg\r\n });\r\n }\r\n }\r\n\r\n let _hoistedOptions: any = [];\r\n\r\n this.options = {\r\n get(name: string) {\r\n const rawValue = self.getRawOptionValue(name);\r\n if (!rawValue) return null;\r\n return {\r\n value: rawValue,\r\n get boolean() { return self.options.getBoolean(name); },\r\n get channel() { return self.options.getChannel(name); },\r\n get string() { return self.options.getString(name); },\r\n get integer() { return self.options.getInteger(name); },\r\n get number() { return self.options.getNumber(name); },\r\n get user() { return self.options.getUser(name); },\r\n get member() { return self.options.getMember(name); },\r\n get role() { return self.options.getRole(name); },\r\n get mentionable() { return self.options.getMentionable(name); },\r\n get attachment() { return self.options.getAttachment(name); }\r\n };\r\n },\r\n get _hoistedOptions() {\r\n return _hoistedOptions;\r\n },\r\n getSubcommand() {\r\n let splitted = self.fullCommandName.split(\" \");\r\n if (splitted.length === 1) return null;\r\n return splitted.at(-1);\r\n },\r\n getSubcommandGroup() {\r\n let splitted = self.fullCommandName.split(\" \");\r\n if (splitted.length === 3) return splitted[1];\r\n return null;\r\n },\r\n getBoolean(name: string) {\r\n const rawValue = self.getRawOptionValue(name);\r\n if (!rawValue) return null;\r\n return !!self.dbi.config.messageCommands.typeAliases.booleans[rawValue.toLowerCase()];\r\n },\r\n getChannel(name: string, _: any, channelType?: ChannelType) {\r\n const rawValue = self.getRawOptionValue(name);\r\n if (!rawValue) return null;\r\n let value = rawValue.replace(/<#|>/g, \"\");\r\n let channel = self.message.client.channels.cache.get(value);\r\n if (!channel) channel = self.message.client.channels.cache.find(c => {\r\n if (self.guildId && (c as any).guildId && (c as any).guildId !== self.guildId) return false;\r\n return (c as any).name === value;\r\n });\r\n if (channelType && channel?.type !== channelType) return null;\r\n return channel;\r\n },\r\n getString(name: string) {\r\n const dbiOption = self.getClonedDBIOption(name);\r\n let rawValue = `${self.getRawOptionValue(name)}`;\r\n let choices = dbiOption.choices ?? dbiOption._choices;\r\n if (choices) return choices.find(c => c.value === rawValue || c.name === rawValue)?.value ?? rawValue;\r\n return rawValue;\r\n },\r\n getInteger(name: string) {\r\n const dbiOption = self.getClonedDBIOption(name);\r\n let rawValue = self.getRawOptionValue(name);\r\n let parsedValue = parseInt(rawValue);\r\n let choices = dbiOption.choices ?? dbiOption._choices;\r\n if (choices) return choices.find(c => c.value === parsedValue || c.name === rawValue)?.value ?? rawValue;\r\n return rawValue;\r\n },\r\n getNumber(name: string) {\r\n const dbiOption = self.getClonedDBIOption(name);\r\n let rawValue = self.getRawOptionValue(name);\r\n let parsedValue = parseFloat(rawValue);\r\n let choices = dbiOption.choices ?? dbiOption._choices;\r\n if (choices) return choices.find(c => c.value === parsedValue || c.name === rawValue)?.value ?? rawValue;\r\n return rawValue;\r\n },\r\n getUser(name: string) {\r\n const rawValue = self.getRawOptionValue(name);\r\n if (!rawValue) return null;\r\n let value = rawValue.replace(/<@!?|>/g, \"\");\r\n let user = self.message.client.users.cache.get(value);\r\n if (!user) user = self.message.client.users.cache.find(u => u.username === value || u.tag === value);\r\n return user;\r\n },\r\n getMember(name: string) {\r\n const rawValue = self.getRawOptionValue(name);\r\n if (!rawValue) return null;\r\n let value = rawValue.replace(/<@!?|>/g, \"\");\r\n let member = self.message.guild?.members.cache.get(value);\r\n if (!member) member = self.message.guild?.members.cache.find(m => m.user.username === value || m.user.tag === value);\r\n return member;\r\n },\r\n getRole(name: string) {\r\n const rawValue = self.getRawOptionValue(name);\r\n if (!rawValue) return null;\r\n let value = rawValue.replace(/<@&|>/g, \"\");\r\n let role = self.message.guild?.roles.cache.get(value);\r\n if (!role) role = self.message.guild?.roles.cache.find(r => r.name === value);\r\n return role;\r\n },\r\n getMentionable(name: string) {\r\n const rawValue = self.getRawOptionValue(name);\r\n if (!rawValue) return null;\r\n let value = rawValue.replace(/<@(!|&)?|>/g, \"\");\r\n let user = self.message.client.users.cache.get(value);\r\n if (!user) user = self.message.client.users.cache.find(u => u.username === value || u.tag === value);\r\n if (user) return user;\r\n let member = self.message.guild?.members.cache.get(value);\r\n if (!member) member = self.message.guild?.members.cache.find(m => m.user.username === value || m.user.tag === value);\r\n if (member) return member;\r\n let role = self.message.guild?.roles.cache.get(value);\r\n if (!role) role = self.message.guild?.roles.cache.find(r => r.name === value);\r\n if (role) return role;\r\n return null;\r\n },\r\n getMessage() {\r\n return self.message;\r\n },\r\n getAttachment(name: string) {\r\n let d = self.parsedArgs.get(name);\r\n return d?.attachment ?? null;\r\n }\r\n }\r\n\r\n _hoistedOptions = [...self.parsedArgs.values()].map(arg => {\r\n switch (arg.type) {\r\n case ApplicationCommandOptionType.String: {\r\n return { ...this.options.get(arg.name), value: this.options.getString(arg.name) };\r\n }\r\n case ApplicationCommandOptionType.Integer: {\r\n return { ...this.options.get(arg.name), value: this.options.getInteger(arg.name) };\r\n }\r\n case ApplicationCommandOptionType.Number: {\r\n return { ...this.options.get(arg.name), value: this.options.getNumber(arg.name) };\r\n }\r\n case ApplicationCommandOptionType.Boolean: {\r\n return { ...this.options.get(arg.name), value: this.options.getBoolean(arg.name) };\r\n }\r\n case ApplicationCommandOptionType.User: {\r\n return { ...this.options.get(arg.name), value: this.options.getUser(arg.name).id };\r\n }\r\n case ApplicationCommandOptionType.Channel: {\r\n return { ...this.options.get(arg.name), value: this.options.getChannel(arg.name).id };\r\n }\r\n case ApplicationCommandOptionType.Role: {\r\n return { ...this.options.get(arg.name), value: this.options.getRole(arg.name).id };\r\n }\r\n case ApplicationCommandOptionType.Mentionable: {\r\n return { ...this.options.get(arg.name), value: this.options.getMentionable(arg.name).id };\r\n }\r\n case ApplicationCommandOptionType.Attachment: {\r\n return { ...this.options.get(arg.name), value: this.options.getAttachment(arg.name).url };\r\n }\r\n case ApplicationCommandOptionType.Subcommand: {\r\n return { ...this.options.get(arg.name), value: this.options.getSubcommand() };\r\n }\r\n case ApplicationCommandOptionType.SubcommandGroup: {\r\n return { ...this.options.get(arg.name), value: this.options.getSubcommandGroup() };\r\n }\r\n }\r\n })\r\n }\r\n\r\n private getRawOptionValue(name: string): any {\r\n return this.parsedArgs.get(name)?.value;\r\n }\r\n\r\n private getClonedDBIOption(name: string): any {\r\n return this.dbiChatInputOptions.find(o => o.name === name);\r\n }\r\n\r\n inGuild() {\r\n return true;\r\n }\r\n\r\n async deferReply(options: any): Promise<any> {\r\n // if (options.ephemeral) throw new Error(\"Ephemeral replies are not supported in message commands.\");\r\n if (this.repliedMessage) throw new Error(\"Already deferred reply.\");\r\n this.repliedMessage = await this.message.reply(options?.content ?? \"Loading...\");\r\n this.deferred = true;\r\n return this.repliedMessage;\r\n }\r\n\r\n async deleteReply() {\r\n if (!this.repliedMessage) throw new Error(\"No deferred reply.\");\r\n await this.repliedMessage.delete();\r\n this.repliedMessage = undefined;\r\n }\r\n\r\n async followUp(content: string | MessagePayload) {\r\n if (!this.repliedMessage) throw new Error(\"No deferred reply.\");\r\n if (!this.lastFollowUp) {\r\n this.lastFollowUp = await this.repliedMessage.reply(content);\r\n } else {\r\n this.lastFollowUp = await this.lastFollowUp.reply(content);\r\n }\r\n return this.lastFollowUp;\r\n }\r\n\r\n async editReply(content: string | MessagePayload) {\r\n if (!this.repliedMessage) throw new Error(\"No deferred reply.\");\r\n await this.repliedMessage.edit(content);\r\n return this.repliedMessage;\r\n }\r\n\r\n async reply(content: string | MessagePayload): Promise<any> {\r\n if (this.repliedMessage) throw new Error(\"Already deferred reply.\");\r\n this.repliedMessage = await this.message.reply(content);\r\n return this.repliedMessage;\r\n }\r\n\r\n async awaitModalSubmit() {\r\n throw new Error(\"Method not implemented.\");\r\n };\r\n\r\n async fetchReply() {\r\n return this.repliedMessage?.id && await this.message.channel.messages.fetch(this.repliedMessage.id);\r\n };\r\n\r\n isAnySelectMenu() { return false; }\r\n isAutocomplete() { return false; }\r\n isButton() { return false; }\r\n isChannelSelectMenu() { return false; }\r\n isChatInputCommand() { return true; }\r\n isCommand() { return true; }\r\n isContextMenuCommand() { return false; }\r\n isMentionableSelectMenu() { return false; }\r\n isMessageComponent() { return false; }\r\n isMessageContextMenuCommand() { return false; }\r\n isModalSubmit() { return false; }\r\n isRepliable() { return true; }\r\n isRoleSelectMenu() { return false; }\r\n isStringSelectMenu() { return false; }\r\n isUserContextMenuCommand() { return false; }\r\n isUserSelectMenu() { return false; }\r\n isSelectMenu() { return false; }\r\n}\r\n\r\ninterface FakeMessageInteractionArgument {\r\n type: ApplicationCommandOptionType,\r\n value: any,\r\n attachment?: Attachment,\r\n name: string\r\n}"]}
|
|
1
|
+
{"version":3,"file":"FakeMessageInteraction.js","sourceRoot":"","sources":["../../../src/types/other/FakeMessageInteraction.ts"],"names":[],"mappings":"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","sourcesContent":["import { Message, MessagePayload, ApplicationCommandType, ChatInputCommandInteraction, Locale, APIInteractionGuildMember, GuildMember, PermissionsBitField, CacheType, CommandInteractionOptionResolver, CommandOptionDataTypeResolvable, ApplicationCommandOptionType, User, Attachment } from 'discord.js';\r\nimport { TDBIInteractions } from '../Interaction';\r\nimport { plsParseArgs } from \"plsargs\";\r\nimport { DBI } from '../../DBI';\r\nimport { NamespaceEnums } from \"../../../generated/namespaceData\";\r\nimport { ChannelType } from \"discord-api-types/v10\";\r\n\r\nexport class FakeMessageInteraction /* implements ChatInputCommandInteraction */ {\r\n channelId: string;\r\n commandName: string;\r\n appPermissions: any;\r\n applicationId: string;\r\n channel: any;\r\n command: any;\r\n commandGuildId: string;\r\n commandId: any;\r\n commandType: ApplicationCommandType.ChatInput;\r\n // awaitModalSubmit: (...arr: any[]) => any;\r\n // fetchReply: () => Promise<any>;\r\n deferred: boolean = false;\r\n client: any;\r\n createdAt: Date;\r\n ephemeral: boolean = false;\r\n createdTimestamp: number;\r\n guild: any;\r\n guildId: string;\r\n guildLocale: Locale;\r\n id: string;\r\n user: User;\r\n private repliedMessage: Message | undefined;\r\n private lastFollowUp: Message | undefined;\r\n member: GuildMember | APIInteractionGuildMember;\r\n memberPermissions: Readonly<PermissionsBitField>;\r\n parsedArgs = new Map<string, FakeMessageInteractionArgument>();\r\n usedCommandName: string;\r\n fullCommandName: string;\r\n options: any;\r\n dbiChatInput: TDBIInteractions<string | number>;\r\n dbiChatInputOptions: any[];\r\n fake: boolean = true;\r\n\r\n constructor(private dbi: DBI<NamespaceEnums>, private message: Message, chatInput: TDBIInteractions<string | number>, public locale: string, commandName: string, private usedPrefix: string) {\r\n const self = this;\r\n\r\n this.channelId = message.channel.id;\r\n this.commandName = chatInput.name.split(\" \").at(0);\r\n this.appPermissions = message.guild?.members.me.permissionsIn(message.channel as any) ?? new PermissionsBitField(8n);\r\n this.applicationId = message.client.user.id;\r\n this.channel = message.channel as any;\r\n this.commandGuildId = message.guild.id;\r\n this.commandType = ApplicationCommandType.ChatInput;\r\n\r\n this.client = message.client;\r\n this.createdAt = message.createdAt;\r\n this.createdTimestamp = message.createdTimestamp;\r\n this.guild = message.guild;\r\n this.guildId = message.guild?.id;\r\n this.guildLocale = message.guild?.preferredLocale;\r\n this.id = message.guild?.commands.cache.find((cmd) => cmd.name === this.commandName)?.id ?? message.client.application.commands.cache.find((cmd) => cmd.name === this.commandName)?.id ?? \"-1\";\r\n this.locale = message.guild?.preferredLocale;\r\n this.member = message.member;\r\n this.memberPermissions = message.member?.permissions;\r\n this.user = message.author;\r\n\r\n this.usedCommandName = commandName;\r\n this.fullCommandName = chatInput.name;\r\n this.dbiChatInput = chatInput;\r\n this.dbiChatInputOptions = chatInput.options ? chatInput.options.map(i => ({ ...i })) : [];\r\n\r\n {\r\n const argContent = message.content.slice(usedPrefix.length + commandName.length).replace(/ +/, \" \").trim();\r\n const args = plsParseArgs(argContent);\r\n\r\n const options = chatInput.options ?? [];\r\n const atchs = [...message.attachments.values()];\r\n for (let i = 0, attachmentIndex = 0, namedValueSize = 0; i < options.length; i++) {\r\n const option = options[i];\r\n if (!option) break;\r\n if (option.type === ApplicationCommandOptionType.Attachment) {\r\n this.parsedArgs.set(option.name, {\r\n name: option.name,\r\n type: option.type,\r\n value: atchs.at(attachmentIndex)?.url,\r\n attachment: atchs.at(attachmentIndex++)\r\n })\r\n continue;\r\n }\r\n const arg = args.get(option.name) ?? args.get(i - attachmentIndex - namedValueSize);\r\n if (args.get(option.name)) namedValueSize++;\r\n this.parsedArgs.set(option.name, {\r\n name: option.name,\r\n type: option.type,\r\n value: arg\r\n });\r\n }\r\n }\r\n\r\n let _hoistedOptions: any = [];\r\n\r\n this.options = {\r\n get(name: string) {\r\n const rawValue = self.getRawOptionValue(name);\r\n if (!rawValue) return null;\r\n return {\r\n value: rawValue,\r\n get boolean() { return self.options.getBoolean(name); },\r\n get channel() { return self.options.getChannel(name); },\r\n get string() { return self.options.getString(name); },\r\n get integer() { return self.options.getInteger(name); },\r\n get number() { return self.options.getNumber(name); },\r\n get user() { return self.options.getUser(name); },\r\n get member() { return self.options.getMember(name); },\r\n get role() { return self.options.getRole(name); },\r\n get mentionable() { return self.options.getMentionable(name); },\r\n get attachment() { return self.options.getAttachment(name); }\r\n };\r\n },\r\n get _hoistedOptions() {\r\n return _hoistedOptions;\r\n },\r\n getSubcommand() {\r\n let splitted = self.fullCommandName.split(\" \");\r\n if (splitted.length === 1) return null;\r\n return splitted.at(-1);\r\n },\r\n getSubcommandGroup() {\r\n let splitted = self.fullCommandName.split(\" \");\r\n if (splitted.length === 3) return splitted[1];\r\n return null;\r\n },\r\n getBoolean(name: string) {\r\n const rawValue = self.getRawOptionValue(name);\r\n if (!rawValue) return null;\r\n return !!self.dbi.config.messageCommands.typeAliases.booleans[rawValue.toLowerCase()];\r\n },\r\n getChannel(name: string, _: any, channelType?: ChannelType) {\r\n const rawValue = self.getRawOptionValue(name);\r\n if (!rawValue) return null;\r\n let value = rawValue.replace(/<#|>/g, \"\");\r\n let channel = self.message.client.channels.cache.get(value);\r\n if (!channel) channel = self.message.client.channels.cache.find(c => {\r\n if (self.guildId && (c as any).guildId && (c as any).guildId !== self.guildId) return false;\r\n return (c as any).name === value;\r\n });\r\n if (channelType && channel?.type !== channelType) return null;\r\n return channel;\r\n },\r\n getString(name: string) {\r\n const dbiOption = self.getClonedDBIOption(name);\r\n let rawValue = `${self.getRawOptionValue(name)}`;\r\n let choices = dbiOption.choices ?? dbiOption._choices;\r\n if (choices) return choices.find(c => c.value === rawValue || c.name === rawValue)?.value ?? rawValue;\r\n return rawValue;\r\n },\r\n getInteger(name: string) {\r\n const dbiOption = self.getClonedDBIOption(name);\r\n let rawValue = self.getRawOptionValue(name);\r\n let parsedValue = parseInt(rawValue);\r\n let choices = dbiOption.choices ?? dbiOption._choices;\r\n if (choices) return choices.find(c => c.value === parsedValue || c.name === rawValue)?.value ?? rawValue;\r\n return rawValue;\r\n },\r\n getNumber(name: string) {\r\n const dbiOption = self.getClonedDBIOption(name);\r\n let rawValue = self.getRawOptionValue(name);\r\n let parsedValue = parseFloat(rawValue);\r\n let choices = dbiOption.choices ?? dbiOption._choices;\r\n if (choices) return choices.find(c => c.value === parsedValue || c.name === rawValue)?.value ?? rawValue;\r\n return rawValue;\r\n },\r\n getUser(name: string) {\r\n const rawValue = self.getRawOptionValue(name);\r\n if (!rawValue) return null;\r\n let value = rawValue.replace(/<@!?|>/g, \"\");\r\n let user = self.message.client.users.cache.get(value);\r\n if (!user) user = self.message.client.users.cache.find(u => u.username === value || u.tag === value);\r\n return user;\r\n },\r\n getMember(name: string) {\r\n const rawValue = self.getRawOptionValue(name);\r\n if (!rawValue) return null;\r\n let value = rawValue.replace(/<@!?|>/g, \"\");\r\n let member = self.message.guild?.members.cache.get(value);\r\n if (!member) member = self.message.guild?.members.cache.find(m => m.user.username === value || m.user.tag === value);\r\n return member;\r\n },\r\n getRole(name: string) {\r\n const rawValue = self.getRawOptionValue(name);\r\n if (!rawValue) return null;\r\n let value = rawValue.replace(/<@&|>/g, \"\");\r\n let role = self.message.guild?.roles.cache.get(value);\r\n if (!role) role = self.message.guild?.roles.cache.find(r => r.name === value);\r\n return role;\r\n },\r\n getMentionable(name: string) {\r\n const rawValue = self.getRawOptionValue(name);\r\n if (!rawValue) return null;\r\n let value = rawValue.replace(/<@(!|&)?|>/g, \"\");\r\n let user = self.message.client.users.cache.get(value);\r\n if (!user) user = self.message.client.users.cache.find(u => u.username === value || u.tag === value);\r\n if (user) return user;\r\n let member = self.message.guild?.members.cache.get(value);\r\n if (!member) member = self.message.guild?.members.cache.find(m => m.user.username === value || m.user.tag === value);\r\n if (member) return member;\r\n let role = self.message.guild?.roles.cache.get(value);\r\n if (!role) role = self.message.guild?.roles.cache.find(r => r.name === value);\r\n if (role) return role;\r\n return null;\r\n },\r\n getMessage() {\r\n return self.message;\r\n },\r\n getAttachment(name: string) {\r\n let d = self.parsedArgs.get(name);\r\n return d?.attachment ?? null;\r\n }\r\n }\r\n\r\n _hoistedOptions = [...self.parsedArgs.values()].map(arg => {\r\n switch (arg.type) {\r\n case ApplicationCommandOptionType.String: {\r\n return { ...this.options.get(arg.name), value: this.options.getString(arg.name) };\r\n }\r\n case ApplicationCommandOptionType.Integer: {\r\n return { ...this.options.get(arg.name), value: this.options.getInteger(arg.name) };\r\n }\r\n case ApplicationCommandOptionType.Number: {\r\n return { ...this.options.get(arg.name), value: this.options.getNumber(arg.name) };\r\n }\r\n case ApplicationCommandOptionType.Boolean: {\r\n return { ...this.options.get(arg.name), value: this.options.getBoolean(arg.name) };\r\n }\r\n case ApplicationCommandOptionType.User: {\r\n return { ...this.options.get(arg.name), value: this.options.getUser(arg.name)?.id };\r\n }\r\n case ApplicationCommandOptionType.Channel: {\r\n return { ...this.options.get(arg.name), value: this.options.getChannel(arg.name)?.id };\r\n }\r\n case ApplicationCommandOptionType.Role: {\r\n return { ...this.options.get(arg.name), value: this.options.getRole(arg.name)?.id };\r\n }\r\n case ApplicationCommandOptionType.Mentionable: {\r\n return { ...this.options.get(arg.name), value: this.options.getMentionable(arg.name)?.id };\r\n }\r\n case ApplicationCommandOptionType.Attachment: {\r\n return { ...this.options.get(arg.name), value: this.options.getAttachment(arg.name)?.url };\r\n }\r\n case ApplicationCommandOptionType.Subcommand: {\r\n return { ...this.options.get(arg.name), value: this.options.getSubcommand() };\r\n }\r\n case ApplicationCommandOptionType.SubcommandGroup: {\r\n return { ...this.options.get(arg.name), value: this.options.getSubcommandGroup() };\r\n }\r\n }\r\n })\r\n }\r\n\r\n private getRawOptionValue(name: string): any {\r\n return this.parsedArgs.get(name)?.value;\r\n }\r\n\r\n private getClonedDBIOption(name: string): any {\r\n return this.dbiChatInputOptions.find(o => o.name === name);\r\n }\r\n\r\n inGuild() {\r\n return true;\r\n }\r\n\r\n async deferReply(options: any): Promise<any> {\r\n // if (options.ephemeral) throw new Error(\"Ephemeral replies are not supported in message commands.\");\r\n if (this.repliedMessage) throw new Error(\"Already deferred reply.\");\r\n this.repliedMessage = await this.message.reply(options?.content ?? \"Loading...\");\r\n this.deferred = true;\r\n return this.repliedMessage;\r\n }\r\n\r\n async deleteReply() {\r\n if (!this.repliedMessage) throw new Error(\"No deferred reply.\");\r\n await this.repliedMessage.delete();\r\n this.repliedMessage = undefined;\r\n }\r\n\r\n async followUp(content: string | MessagePayload) {\r\n if (!this.repliedMessage) throw new Error(\"No deferred reply.\");\r\n if (!this.lastFollowUp) {\r\n this.lastFollowUp = await this.repliedMessage.reply(content);\r\n } else {\r\n this.lastFollowUp = await this.lastFollowUp.reply(content);\r\n }\r\n return this.lastFollowUp;\r\n }\r\n\r\n async editReply(content: string | MessagePayload) {\r\n if (!this.repliedMessage) throw new Error(\"No deferred reply.\");\r\n await this.repliedMessage.edit(content);\r\n return this.repliedMessage;\r\n }\r\n\r\n async reply(content: string | MessagePayload): Promise<any> {\r\n if (this.repliedMessage) throw new Error(\"Already deferred reply.\");\r\n this.repliedMessage = await this.message.reply(content);\r\n return this.repliedMessage;\r\n }\r\n\r\n async awaitModalSubmit() {\r\n throw new Error(\"Method not implemented.\");\r\n };\r\n\r\n async fetchReply() {\r\n return this.repliedMessage?.id && await this.message.channel.messages.fetch(this.repliedMessage.id);\r\n };\r\n\r\n isAnySelectMenu() { return false; }\r\n isAutocomplete() { return false; }\r\n isButton() { return false; }\r\n isChannelSelectMenu() { return false; }\r\n isChatInputCommand() { return true; }\r\n isCommand() { return true; }\r\n isContextMenuCommand() { return false; }\r\n isMentionableSelectMenu() { return false; }\r\n isMessageComponent() { return false; }\r\n isMessageContextMenuCommand() { return false; }\r\n isModalSubmit() { return false; }\r\n isRepliable() { return true; }\r\n isRoleSelectMenu() { return false; }\r\n isStringSelectMenu() { return false; }\r\n isUserContextMenuCommand() { return false; }\r\n isUserSelectMenu() { return false; }\r\n isSelectMenu() { return false; }\r\n}\r\n\r\ninterface FakeMessageInteractionArgument {\r\n type: ApplicationCommandOptionType,\r\n value: any,\r\n attachment?: Attachment,\r\n name: string\r\n}"]}
|
package/package.json
CHANGED
|
@@ -66,6 +66,9 @@ export async function handleMessageCommands(dbi: DBI<NamespaceEnums>, message: M
|
|
|
66
66
|
|
|
67
67
|
switch (option.type) {
|
|
68
68
|
case ApplicationCommandOptionType.String: {
|
|
69
|
+
|
|
70
|
+
if (!option.required && !value) break;
|
|
71
|
+
|
|
69
72
|
if (option.autocomplete && option.onComplete) {
|
|
70
73
|
let choices = await option.onComplete({
|
|
71
74
|
interaction,
|
|
@@ -117,6 +120,8 @@ export async function handleMessageCommands(dbi: DBI<NamespaceEnums>, message: M
|
|
|
117
120
|
break;
|
|
118
121
|
}
|
|
119
122
|
case ApplicationCommandOptionType.Integer: {
|
|
123
|
+
if (!option.required && !value) break;
|
|
124
|
+
|
|
120
125
|
let parsedInt = parseInt(value);
|
|
121
126
|
|
|
122
127
|
if (option.autocomplete && option.onComplete) {
|
|
@@ -163,7 +168,7 @@ export async function handleMessageCommands(dbi: DBI<NamespaceEnums>, message: M
|
|
|
163
168
|
errorType = "InvalidInteger";
|
|
164
169
|
break;
|
|
165
170
|
}
|
|
166
|
-
|
|
171
|
+
|
|
167
172
|
if (option.minValue && parsedInt < option.minValue) {
|
|
168
173
|
errorType = "MinInteger";
|
|
169
174
|
break;
|
|
@@ -177,6 +182,8 @@ export async function handleMessageCommands(dbi: DBI<NamespaceEnums>, message: M
|
|
|
177
182
|
break;
|
|
178
183
|
}
|
|
179
184
|
case ApplicationCommandOptionType.Number: {
|
|
185
|
+
if (!option.required && !value) break;
|
|
186
|
+
|
|
180
187
|
let parsedFloat = parseFloat(value);
|
|
181
188
|
|
|
182
189
|
if (option.autocomplete && option.onComplete) {
|
|
@@ -237,35 +244,35 @@ export async function handleMessageCommands(dbi: DBI<NamespaceEnums>, message: M
|
|
|
237
244
|
}
|
|
238
245
|
case ApplicationCommandOptionType.Boolean: {
|
|
239
246
|
let boolKeys = Object.keys(dbi.config.messageCommands.typeAliases.booleans);
|
|
240
|
-
if (!boolKeys.includes(value.toLowerCase())) {
|
|
247
|
+
if (option.required && !boolKeys.includes(value.toLowerCase())) {
|
|
241
248
|
errorType = "InvalidBoolean";
|
|
242
249
|
break;
|
|
243
250
|
}
|
|
244
251
|
break;
|
|
245
252
|
}
|
|
246
253
|
case ApplicationCommandOptionType.User: {
|
|
247
|
-
if (!interaction.options.getUser(option.name)) {
|
|
254
|
+
if (option.required && !interaction.options.getUser(option.name)) {
|
|
248
255
|
errorType = "InvalidUser";
|
|
249
256
|
break;
|
|
250
257
|
}
|
|
251
258
|
break;
|
|
252
259
|
}
|
|
253
260
|
case ApplicationCommandOptionType.Channel: {
|
|
254
|
-
if (!interaction.options.getChannel(option.name, null, option.channelTypes)) {
|
|
261
|
+
if (option.required && !interaction.options.getChannel(option.name, null, option.channelTypes)) {
|
|
255
262
|
errorType = "InvalidChannel";
|
|
256
263
|
break;
|
|
257
264
|
}
|
|
258
265
|
break;
|
|
259
266
|
}
|
|
260
267
|
case ApplicationCommandOptionType.Role: {
|
|
261
|
-
if (!interaction.options.getRole(option.name)) {
|
|
268
|
+
if (option.required && !interaction.options.getRole(option.name)) {
|
|
262
269
|
errorType = "InvalidRole";
|
|
263
270
|
break;
|
|
264
271
|
}
|
|
265
272
|
break;
|
|
266
273
|
}
|
|
267
274
|
case ApplicationCommandOptionType.Mentionable: {
|
|
268
|
-
if (!interaction.options.getMentionable(option.name)) {
|
|
275
|
+
if (option.required && !interaction.options.getMentionable(option.name)) {
|
|
269
276
|
errorType = "InvalidMentionable";
|
|
270
277
|
break;
|
|
271
278
|
}
|
|
@@ -10,19 +10,19 @@ export class FakeMessageInteraction /* implements ChatInputCommandInteraction */
|
|
|
10
10
|
commandName: string;
|
|
11
11
|
appPermissions: any;
|
|
12
12
|
applicationId: string;
|
|
13
|
-
channel: any;
|
|
13
|
+
channel: any;
|
|
14
14
|
command: any;
|
|
15
15
|
commandGuildId: string;
|
|
16
|
-
commandId: any;
|
|
16
|
+
commandId: any;
|
|
17
17
|
commandType: ApplicationCommandType.ChatInput;
|
|
18
18
|
// awaitModalSubmit: (...arr: any[]) => any;
|
|
19
19
|
// fetchReply: () => Promise<any>;
|
|
20
20
|
deferred: boolean = false;
|
|
21
|
-
client: any;
|
|
21
|
+
client: any;
|
|
22
22
|
createdAt: Date;
|
|
23
23
|
ephemeral: boolean = false;
|
|
24
24
|
createdTimestamp: number;
|
|
25
|
-
guild: any;
|
|
25
|
+
guild: any;
|
|
26
26
|
guildId: string;
|
|
27
27
|
guildLocale: Locale;
|
|
28
28
|
id: string;
|
|
@@ -41,7 +41,7 @@ export class FakeMessageInteraction /* implements ChatInputCommandInteraction */
|
|
|
41
41
|
|
|
42
42
|
constructor(private dbi: DBI<NamespaceEnums>, private message: Message, chatInput: TDBIInteractions<string | number>, public locale: string, commandName: string, private usedPrefix: string) {
|
|
43
43
|
const self = this;
|
|
44
|
-
|
|
44
|
+
|
|
45
45
|
this.channelId = message.channel.id;
|
|
46
46
|
this.commandName = chatInput.name.split(" ").at(0);
|
|
47
47
|
this.appPermissions = message.guild?.members.me.permissionsIn(message.channel as any) ?? new PermissionsBitField(8n);
|
|
@@ -49,7 +49,7 @@ export class FakeMessageInteraction /* implements ChatInputCommandInteraction */
|
|
|
49
49
|
this.channel = message.channel as any;
|
|
50
50
|
this.commandGuildId = message.guild.id;
|
|
51
51
|
this.commandType = ApplicationCommandType.ChatInput;
|
|
52
|
-
|
|
52
|
+
|
|
53
53
|
this.client = message.client;
|
|
54
54
|
this.createdAt = message.createdAt;
|
|
55
55
|
this.createdTimestamp = message.createdTimestamp;
|
|
@@ -65,7 +65,7 @@ export class FakeMessageInteraction /* implements ChatInputCommandInteraction */
|
|
|
65
65
|
this.usedCommandName = commandName;
|
|
66
66
|
this.fullCommandName = chatInput.name;
|
|
67
67
|
this.dbiChatInput = chatInput;
|
|
68
|
-
this.dbiChatInputOptions = chatInput.options ? chatInput.options.map(i => ({ ...i })) : [];
|
|
68
|
+
this.dbiChatInputOptions = chatInput.options ? chatInput.options.map(i => ({ ...i })) : [];
|
|
69
69
|
|
|
70
70
|
{
|
|
71
71
|
const argContent = message.content.slice(usedPrefix.length + commandName.length).replace(/ +/, " ").trim();
|
|
@@ -231,19 +231,19 @@ export class FakeMessageInteraction /* implements ChatInputCommandInteraction */
|
|
|
231
231
|
return { ...this.options.get(arg.name), value: this.options.getBoolean(arg.name) };
|
|
232
232
|
}
|
|
233
233
|
case ApplicationCommandOptionType.User: {
|
|
234
|
-
return { ...this.options.get(arg.name), value: this.options.getUser(arg.name)
|
|
234
|
+
return { ...this.options.get(arg.name), value: this.options.getUser(arg.name)?.id };
|
|
235
235
|
}
|
|
236
236
|
case ApplicationCommandOptionType.Channel: {
|
|
237
|
-
return { ...this.options.get(arg.name), value: this.options.getChannel(arg.name)
|
|
237
|
+
return { ...this.options.get(arg.name), value: this.options.getChannel(arg.name)?.id };
|
|
238
238
|
}
|
|
239
239
|
case ApplicationCommandOptionType.Role: {
|
|
240
|
-
return { ...this.options.get(arg.name), value: this.options.getRole(arg.name)
|
|
240
|
+
return { ...this.options.get(arg.name), value: this.options.getRole(arg.name)?.id };
|
|
241
241
|
}
|
|
242
242
|
case ApplicationCommandOptionType.Mentionable: {
|
|
243
|
-
return { ...this.options.get(arg.name), value: this.options.getMentionable(arg.name)
|
|
243
|
+
return { ...this.options.get(arg.name), value: this.options.getMentionable(arg.name)?.id };
|
|
244
244
|
}
|
|
245
245
|
case ApplicationCommandOptionType.Attachment: {
|
|
246
|
-
return { ...this.options.get(arg.name), value: this.options.getAttachment(arg.name)
|
|
246
|
+
return { ...this.options.get(arg.name), value: this.options.getAttachment(arg.name)?.url };
|
|
247
247
|
}
|
|
248
248
|
case ApplicationCommandOptionType.Subcommand: {
|
|
249
249
|
return { ...this.options.get(arg.name), value: this.options.getSubcommand() };
|