@globalart/nestcord 1.5.4 → 1.5.6

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 (30) hide show
  1. package/README.md +1 -8
  2. package/dist/core/commands/command.discovery.d.ts +1 -0
  3. package/dist/core/commands/commands.service.d.ts +2 -0
  4. package/dist/core/commands/commands.service.js +16 -0
  5. package/dist/core/commands/context-menus/decorators/message-command.decorator.d.ts +1 -1
  6. package/dist/core/commands/context-menus/decorators/user-command.decorator.d.ts +1 -1
  7. package/dist/core/commands/slash-commands/decorators/subcommand-group.decorator.d.ts +1 -1
  8. package/dist/core/commands/slash-commands/options/attachment-option.decorator.d.ts +2 -2
  9. package/dist/core/commands/slash-commands/options/boolean-option.decorator.d.ts +2 -2
  10. package/dist/core/commands/slash-commands/options/channel-option.decorator.d.ts +3 -3
  11. package/dist/core/commands/slash-commands/options/integer-option.decorator.d.ts +4 -4
  12. package/dist/core/commands/slash-commands/options/member-option.decorator.d.ts +2 -2
  13. package/dist/core/commands/slash-commands/options/mentionable-option.decorator.d.ts +2 -2
  14. package/dist/core/commands/slash-commands/options/number-option.decorator.d.ts +4 -4
  15. package/dist/core/commands/slash-commands/options/option.util.d.ts +1 -1
  16. package/dist/core/commands/slash-commands/options/option.util.js +2 -2
  17. package/dist/core/commands/slash-commands/options/role-option.decorator.d.ts +2 -2
  18. package/dist/core/commands/slash-commands/options/string-option.decorator.d.ts +4 -4
  19. package/dist/core/commands/slash-commands/options/user-option.decorator.d.ts +2 -2
  20. package/dist/core/commands/slash-commands/slash-command.discovery.d.ts +1 -0
  21. package/dist/core/context/decorators/context.decorator.d.ts +2 -2
  22. package/dist/core/context/decorators/discovery.decorator.d.ts +1 -1
  23. package/dist/core/context/decorators/params.util.js +1 -2
  24. package/dist/core/context/nestcord-base.discovery.d.ts +1 -1
  25. package/dist/core/listeners/decorators/on.decorator.d.ts +2 -1
  26. package/dist/core/listeners/decorators/once.decorator.d.ts +2 -1
  27. package/dist/core/message-components/message-component.discovery.d.ts +1 -1
  28. package/dist/core/modals/modal.discovery.d.ts +1 -1
  29. package/dist/localization/utils/localization-map-by-key.util.js +1 -2
  30. package/package.json +2 -2
package/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
  </h1>
5
5
  🤖 A module for creating <b><a href="https://discord.com/">Discord</a> bots</b> using <a href="https://nestjs.com">NestJS</a>, based on <a href="https://discord.js.org/">Discord.js</a>
6
6
  <br/><br/>
7
- <a href="https://nestcord.globalart.dev">Documentation ✨</a> &emsp; <a href="https://github.com/GlobalArtInc/nestcord">Source code 🪡</a> &emsp; <a href="https://github.com/GlobalArtInc/nestcord/tree/master/examples">Examples 🛠️</a> &emsp; <a href="https://discord.gg/BBFhU8g">Community 💬</a>
7
+ <a href="https://nestcord.globalart.dev">Documentation ✨</a> &emsp; <a href="https://github.com/GlobalArtInc/nestcord">Source code 🪡</a> &emsp; <a href="https://github.com/GlobalArtInc/nestcord/tree/master/examples">Examples 🛠️</a> &emsp; <a href="https://discord.gg/4Tc9hssSAv">Community 💬</a>
8
8
  </div>
9
9
 
10
10
  <br/>
@@ -40,10 +40,3 @@ $ npm i @globalart/nestcord discord.js
40
40
  $ yarn add @globalart/nestcord discord.js
41
41
  $ pnpm add @globalart/nestcord discord.js
42
42
  ```
43
-
44
- ## Packages
45
- The repository contains packages
46
- * [NestCord/core](https://nestcord.globalart.dev) - common modules
47
- * [NestCord/localization](https://nestcord.globalart.dev/recipes/localization) - localization of the bot
48
- * [NestCord/pagination](https://nestcord.globalart.dev/recipes/pagination) - pagination module
49
- * [NestCord/stat-reporter](https://nestcord.globalart.dev/recipes/stat-reporter) - report bot stats to the bot monitoring services.
@@ -2,6 +2,7 @@ import { BaseApplicationCommandData, Snowflake } from 'discord.js';
2
2
  import { NestCordBaseDiscovery } from '../context';
3
3
  export interface BaseCommandMeta extends BaseApplicationCommandData {
4
4
  guilds?: Snowflake[];
5
+ category?: string;
5
6
  }
6
7
  /**
7
8
  * Represents a command discovery.
@@ -23,6 +23,8 @@ export declare class CommandsService {
23
23
  registerInGuild(guildId: string): Promise<void | Collection<string, import("discord.js").ApplicationCommand<{}>>>;
24
24
  getCommands(): CommandDiscovery[];
25
25
  getCommandsByGuilds(): Collection<string, CommandDiscovery[]>;
26
+ getCommandsByCategoryMap(): Map<string, CommandDiscovery[]>;
27
+ getCommandsMap(): Map<string, CommandDiscovery>;
26
28
  getCommandByName(name: string): CommandDiscovery;
27
29
  getGlobalCommands(): CommandDiscovery[];
28
30
  getGlobalCommandByName(name: string): CommandDiscovery;
@@ -79,6 +79,22 @@ let CommandsService = CommandsService_1 = class CommandsService {
79
79
  }
80
80
  return collection;
81
81
  }
82
+ getCommandsByCategoryMap() {
83
+ return this.getCommands().reduce((map, command) => {
84
+ const category = command.meta.category || 'no_group';
85
+ if (!map.has(category)) {
86
+ map.set(category, []);
87
+ }
88
+ map.get(category).push(command);
89
+ return map;
90
+ }, new Map());
91
+ }
92
+ getCommandsMap() {
93
+ return this.getCommands().reduce((map, command) => {
94
+ map.set(command.getName(), command);
95
+ return map;
96
+ }, new Map());
97
+ }
82
98
  getCommandByName(name) {
83
99
  return this.getCommands().find((command) => command.getName() === name);
84
100
  }
@@ -14,4 +14,4 @@ import { ContextMenuMeta } from '../context-menu.discovery';
14
14
  * }
15
15
  * ```
16
16
  */
17
- export declare const MessageCommand: (options: Omit<ContextMenuMeta, 'type'>) => import("@nestjs/common").CustomDecorator;
17
+ export declare const MessageCommand: (options: Omit<ContextMenuMeta, "type">) => import("@nestjs/common").CustomDecorator;
@@ -15,4 +15,4 @@ import { ContextMenuMeta } from '../context-menu.discovery';
15
15
  * }
16
16
  * ```
17
17
  */
18
- export declare const UserCommand: (options: Omit<ContextMenuMeta, 'type'>) => import("@nestjs/common").CustomDecorator;
18
+ export declare const UserCommand: (options: Omit<ContextMenuMeta, "type">) => import("@nestjs/common").CustomDecorator;
@@ -13,4 +13,4 @@ export declare const SubcommandGroup: import("@nestjs/core").ReflectableDecorato
13
13
  * @see SlashCommand
14
14
  * @see SubcommandGroup
15
15
  */
16
- export declare const createCommandGroupDecorator: (rootOptions: Omit<SlashCommandMeta, 'type'>) => (subOptions?: Omit<SlashCommandMeta, 'type'>) => ClassDecorator;
16
+ export declare const createCommandGroupDecorator: (rootOptions: Omit<SlashCommandMeta, "type">) => (subOptions?: Omit<SlashCommandMeta, "type">) => ClassDecorator;
@@ -5,8 +5,8 @@
5
5
  */
6
6
  export declare const AttachmentOption: (data: {
7
7
  name: string;
8
+ name_localizations?: import("discord.js").LocalizationMap | null;
8
9
  description: string;
9
- name_localizations?: Partial<Record<"id" | "en-US" | "en-GB" | "bg" | "zh-CN" | "zh-TW" | "hr" | "cs" | "da" | "nl" | "fi" | "fr" | "de" | "el" | "hi" | "hu" | "it" | "ja" | "ko" | "lt" | "no" | "pl" | "pt-BR" | "ro" | "ru" | "es-ES" | "es-419" | "sv-SE" | "th" | "tr" | "uk" | "vi", string>>;
10
- description_localizations?: Partial<Record<"id" | "en-US" | "en-GB" | "bg" | "zh-CN" | "zh-TW" | "hr" | "cs" | "da" | "nl" | "fi" | "fr" | "de" | "el" | "hi" | "hu" | "it" | "ja" | "ko" | "lt" | "no" | "pl" | "pt-BR" | "ro" | "ru" | "es-ES" | "es-419" | "sv-SE" | "th" | "tr" | "uk" | "vi", string>>;
10
+ description_localizations?: import("discord.js").LocalizationMap | null;
11
11
  required?: boolean;
12
12
  }) => PropertyDecorator;
@@ -5,8 +5,8 @@
5
5
  */
6
6
  export declare const BooleanOption: (data: {
7
7
  name: string;
8
+ name_localizations?: import("discord.js").LocalizationMap | null;
8
9
  description: string;
9
- name_localizations?: Partial<Record<"id" | "en-US" | "en-GB" | "bg" | "zh-CN" | "zh-TW" | "hr" | "cs" | "da" | "nl" | "fi" | "fr" | "de" | "el" | "hi" | "hu" | "it" | "ja" | "ko" | "lt" | "no" | "pl" | "pt-BR" | "ro" | "ru" | "es-ES" | "es-419" | "sv-SE" | "th" | "tr" | "uk" | "vi", string>>;
10
- description_localizations?: Partial<Record<"id" | "en-US" | "en-GB" | "bg" | "zh-CN" | "zh-TW" | "hr" | "cs" | "da" | "nl" | "fi" | "fr" | "de" | "el" | "hi" | "hu" | "it" | "ja" | "ko" | "lt" | "no" | "pl" | "pt-BR" | "ro" | "ru" | "es-ES" | "es-419" | "sv-SE" | "th" | "tr" | "uk" | "vi", string>>;
10
+ description_localizations?: import("discord.js").LocalizationMap | null;
11
11
  required?: boolean;
12
12
  }) => PropertyDecorator;
@@ -5,9 +5,9 @@
5
5
  */
6
6
  export declare const ChannelOption: (data: {
7
7
  name: string;
8
+ name_localizations?: import("discord.js").LocalizationMap | null;
8
9
  description: string;
9
- name_localizations?: Partial<Record<"id" | "en-US" | "en-GB" | "bg" | "zh-CN" | "zh-TW" | "hr" | "cs" | "da" | "nl" | "fi" | "fr" | "de" | "el" | "hi" | "hu" | "it" | "ja" | "ko" | "lt" | "no" | "pl" | "pt-BR" | "ro" | "ru" | "es-ES" | "es-419" | "sv-SE" | "th" | "tr" | "uk" | "vi", string>>;
10
- description_localizations?: Partial<Record<"id" | "en-US" | "en-GB" | "bg" | "zh-CN" | "zh-TW" | "hr" | "cs" | "da" | "nl" | "fi" | "fr" | "de" | "el" | "hi" | "hu" | "it" | "ja" | "ko" | "lt" | "no" | "pl" | "pt-BR" | "ro" | "ru" | "es-ES" | "es-419" | "sv-SE" | "th" | "tr" | "uk" | "vi", string>>;
10
+ description_localizations?: import("discord.js").LocalizationMap | null;
11
11
  required?: boolean;
12
- channel_types?: (import("discord.js").ChannelType.GuildText | import("discord.js").ChannelType.GuildVoice | import("discord.js").ChannelType.GuildCategory | import("discord.js").ChannelType.GuildAnnouncement | import("discord.js").ChannelType.AnnouncementThread | import("discord.js").ChannelType.PublicThread | import("discord.js").ChannelType.PrivateThread | import("discord.js").ChannelType.GuildStageVoice | import("discord.js").ChannelType.GuildDirectory | import("discord.js").ChannelType.GuildForum | import("discord.js").ChannelType.GuildMedia)[];
12
+ channel_types?: Exclude<import("discord.js").ChannelType, import("discord.js").ChannelType.DM | import("discord.js").ChannelType.GroupDM>[];
13
13
  }) => PropertyDecorator;
@@ -5,9 +5,9 @@
5
5
  */
6
6
  export declare const IntegerOption: (data: {
7
7
  name: string;
8
+ name_localizations?: import("discord.js").LocalizationMap | null;
8
9
  description: string;
9
- name_localizations?: Partial<Record<"id" | "en-US" | "en-GB" | "bg" | "zh-CN" | "zh-TW" | "hr" | "cs" | "da" | "nl" | "fi" | "fr" | "de" | "el" | "hi" | "hu" | "it" | "ja" | "ko" | "lt" | "no" | "pl" | "pt-BR" | "ro" | "ru" | "es-ES" | "es-419" | "sv-SE" | "th" | "tr" | "uk" | "vi", string>>;
10
- description_localizations?: Partial<Record<"id" | "en-US" | "en-GB" | "bg" | "zh-CN" | "zh-TW" | "hr" | "cs" | "da" | "nl" | "fi" | "fr" | "de" | "el" | "hi" | "hu" | "it" | "ja" | "ko" | "lt" | "no" | "pl" | "pt-BR" | "ro" | "ru" | "es-ES" | "es-419" | "sv-SE" | "th" | "tr" | "uk" | "vi", string>>;
10
+ description_localizations?: import("discord.js").LocalizationMap | null;
11
11
  required?: boolean;
12
12
  choices?: [];
13
13
  min_value?: number;
@@ -15,9 +15,9 @@ export declare const IntegerOption: (data: {
15
15
  autocomplete: true;
16
16
  } | {
17
17
  name: string;
18
+ name_localizations?: import("discord.js").LocalizationMap | null;
18
19
  description: string;
19
- name_localizations?: Partial<Record<"id" | "en-US" | "en-GB" | "bg" | "zh-CN" | "zh-TW" | "hr" | "cs" | "da" | "nl" | "fi" | "fr" | "de" | "el" | "hi" | "hu" | "it" | "ja" | "ko" | "lt" | "no" | "pl" | "pt-BR" | "ro" | "ru" | "es-ES" | "es-419" | "sv-SE" | "th" | "tr" | "uk" | "vi", string>>;
20
- description_localizations?: Partial<Record<"id" | "en-US" | "en-GB" | "bg" | "zh-CN" | "zh-TW" | "hr" | "cs" | "da" | "nl" | "fi" | "fr" | "de" | "el" | "hi" | "hu" | "it" | "ja" | "ko" | "lt" | "no" | "pl" | "pt-BR" | "ro" | "ru" | "es-ES" | "es-419" | "sv-SE" | "th" | "tr" | "uk" | "vi", string>>;
20
+ description_localizations?: import("discord.js").LocalizationMap | null;
21
21
  required?: boolean;
22
22
  choices?: import("discord.js").APIApplicationCommandOptionChoice<number>[];
23
23
  min_value?: number;
@@ -5,8 +5,8 @@
5
5
  */
6
6
  export declare const MemberOption: (data: {
7
7
  name: string;
8
+ name_localizations?: import("discord.js").LocalizationMap | null;
8
9
  description: string;
9
- name_localizations?: Partial<Record<"id" | "en-US" | "en-GB" | "bg" | "zh-CN" | "zh-TW" | "hr" | "cs" | "da" | "nl" | "fi" | "fr" | "de" | "el" | "hi" | "hu" | "it" | "ja" | "ko" | "lt" | "no" | "pl" | "pt-BR" | "ro" | "ru" | "es-ES" | "es-419" | "sv-SE" | "th" | "tr" | "uk" | "vi", string>>;
10
- description_localizations?: Partial<Record<"id" | "en-US" | "en-GB" | "bg" | "zh-CN" | "zh-TW" | "hr" | "cs" | "da" | "nl" | "fi" | "fr" | "de" | "el" | "hi" | "hu" | "it" | "ja" | "ko" | "lt" | "no" | "pl" | "pt-BR" | "ro" | "ru" | "es-ES" | "es-419" | "sv-SE" | "th" | "tr" | "uk" | "vi", string>>;
10
+ description_localizations?: import("discord.js").LocalizationMap | null;
11
11
  required?: boolean;
12
12
  }) => PropertyDecorator;
@@ -5,8 +5,8 @@
5
5
  */
6
6
  export declare const MentionableOption: (data: {
7
7
  name: string;
8
+ name_localizations?: import("discord.js").LocalizationMap | null;
8
9
  description: string;
9
- name_localizations?: Partial<Record<"id" | "en-US" | "en-GB" | "bg" | "zh-CN" | "zh-TW" | "hr" | "cs" | "da" | "nl" | "fi" | "fr" | "de" | "el" | "hi" | "hu" | "it" | "ja" | "ko" | "lt" | "no" | "pl" | "pt-BR" | "ro" | "ru" | "es-ES" | "es-419" | "sv-SE" | "th" | "tr" | "uk" | "vi", string>>;
10
- description_localizations?: Partial<Record<"id" | "en-US" | "en-GB" | "bg" | "zh-CN" | "zh-TW" | "hr" | "cs" | "da" | "nl" | "fi" | "fr" | "de" | "el" | "hi" | "hu" | "it" | "ja" | "ko" | "lt" | "no" | "pl" | "pt-BR" | "ro" | "ru" | "es-ES" | "es-419" | "sv-SE" | "th" | "tr" | "uk" | "vi", string>>;
10
+ description_localizations?: import("discord.js").LocalizationMap | null;
11
11
  required?: boolean;
12
12
  }) => PropertyDecorator;
@@ -5,9 +5,9 @@
5
5
  */
6
6
  export declare const NumberOption: (data: {
7
7
  name: string;
8
+ name_localizations?: import("discord.js").LocalizationMap | null;
8
9
  description: string;
9
- name_localizations?: Partial<Record<"id" | "en-US" | "en-GB" | "bg" | "zh-CN" | "zh-TW" | "hr" | "cs" | "da" | "nl" | "fi" | "fr" | "de" | "el" | "hi" | "hu" | "it" | "ja" | "ko" | "lt" | "no" | "pl" | "pt-BR" | "ro" | "ru" | "es-ES" | "es-419" | "sv-SE" | "th" | "tr" | "uk" | "vi", string>>;
10
- description_localizations?: Partial<Record<"id" | "en-US" | "en-GB" | "bg" | "zh-CN" | "zh-TW" | "hr" | "cs" | "da" | "nl" | "fi" | "fr" | "de" | "el" | "hi" | "hu" | "it" | "ja" | "ko" | "lt" | "no" | "pl" | "pt-BR" | "ro" | "ru" | "es-ES" | "es-419" | "sv-SE" | "th" | "tr" | "uk" | "vi", string>>;
10
+ description_localizations?: import("discord.js").LocalizationMap | null;
11
11
  required?: boolean;
12
12
  choices?: [];
13
13
  min_value?: number;
@@ -15,9 +15,9 @@ export declare const NumberOption: (data: {
15
15
  autocomplete: true;
16
16
  } | {
17
17
  name: string;
18
+ name_localizations?: import("discord.js").LocalizationMap | null;
18
19
  description: string;
19
- name_localizations?: Partial<Record<"id" | "en-US" | "en-GB" | "bg" | "zh-CN" | "zh-TW" | "hr" | "cs" | "da" | "nl" | "fi" | "fr" | "de" | "el" | "hi" | "hu" | "it" | "ja" | "ko" | "lt" | "no" | "pl" | "pt-BR" | "ro" | "ru" | "es-ES" | "es-419" | "sv-SE" | "th" | "tr" | "uk" | "vi", string>>;
20
- description_localizations?: Partial<Record<"id" | "en-US" | "en-GB" | "bg" | "zh-CN" | "zh-TW" | "hr" | "cs" | "da" | "nl" | "fi" | "fr" | "de" | "el" | "hi" | "hu" | "it" | "ja" | "ko" | "lt" | "no" | "pl" | "pt-BR" | "ro" | "ru" | "es-ES" | "es-419" | "sv-SE" | "th" | "tr" | "uk" | "vi", string>>;
20
+ description_localizations?: import("discord.js").LocalizationMap | null;
21
21
  required?: boolean;
22
22
  choices?: import("discord.js").APIApplicationCommandOptionChoice<number>[];
23
23
  min_value?: number;
@@ -3,4 +3,4 @@ import { ApplicationCommandOptionType } from 'discord.js';
3
3
  import { OptionMeta } from '../slash-command.discovery';
4
4
  import { DistributiveOmit } from 'discord-api-types/utils/internals';
5
5
  export declare const OPTIONS_METADATA = "necstord:options_meta";
6
- export declare function createOptionDecorator<T extends APIApplicationCommandOptionBase<any>>(type: ApplicationCommandOptionType, resolver: OptionMeta['resolver']): (data: DistributiveOmit<T, 'type'>) => PropertyDecorator;
6
+ export declare function createOptionDecorator<T extends APIApplicationCommandOptionBase<any>>(type: ApplicationCommandOptionType, resolver: OptionMeta['resolver']): (data: DistributiveOmit<T, "type">) => PropertyDecorator;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createOptionDecorator = exports.OPTIONS_METADATA = void 0;
3
+ exports.OPTIONS_METADATA = void 0;
4
+ exports.createOptionDecorator = createOptionDecorator;
4
5
  exports.OPTIONS_METADATA = 'necstord:options_meta';
5
6
  function createOptionDecorator(type, resolver) {
6
7
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
@@ -17,4 +18,3 @@ function createOptionDecorator(type, resolver) {
17
18
  };
18
19
  };
19
20
  }
20
- exports.createOptionDecorator = createOptionDecorator;
@@ -5,8 +5,8 @@
5
5
  */
6
6
  export declare const RoleOption: (data: {
7
7
  name: string;
8
+ name_localizations?: import("discord.js").LocalizationMap | null;
8
9
  description: string;
9
- name_localizations?: Partial<Record<"id" | "en-US" | "en-GB" | "bg" | "zh-CN" | "zh-TW" | "hr" | "cs" | "da" | "nl" | "fi" | "fr" | "de" | "el" | "hi" | "hu" | "it" | "ja" | "ko" | "lt" | "no" | "pl" | "pt-BR" | "ro" | "ru" | "es-ES" | "es-419" | "sv-SE" | "th" | "tr" | "uk" | "vi", string>>;
10
- description_localizations?: Partial<Record<"id" | "en-US" | "en-GB" | "bg" | "zh-CN" | "zh-TW" | "hr" | "cs" | "da" | "nl" | "fi" | "fr" | "de" | "el" | "hi" | "hu" | "it" | "ja" | "ko" | "lt" | "no" | "pl" | "pt-BR" | "ro" | "ru" | "es-ES" | "es-419" | "sv-SE" | "th" | "tr" | "uk" | "vi", string>>;
10
+ description_localizations?: import("discord.js").LocalizationMap | null;
11
11
  required?: boolean;
12
12
  }) => PropertyDecorator;
@@ -5,9 +5,9 @@
5
5
  */
6
6
  export declare const StringOption: (data: {
7
7
  name: string;
8
+ name_localizations?: import("discord.js").LocalizationMap | null;
8
9
  description: string;
9
- name_localizations?: Partial<Record<"id" | "en-US" | "en-GB" | "bg" | "zh-CN" | "zh-TW" | "hr" | "cs" | "da" | "nl" | "fi" | "fr" | "de" | "el" | "hi" | "hu" | "it" | "ja" | "ko" | "lt" | "no" | "pl" | "pt-BR" | "ro" | "ru" | "es-ES" | "es-419" | "sv-SE" | "th" | "tr" | "uk" | "vi", string>>;
10
- description_localizations?: Partial<Record<"id" | "en-US" | "en-GB" | "bg" | "zh-CN" | "zh-TW" | "hr" | "cs" | "da" | "nl" | "fi" | "fr" | "de" | "el" | "hi" | "hu" | "it" | "ja" | "ko" | "lt" | "no" | "pl" | "pt-BR" | "ro" | "ru" | "es-ES" | "es-419" | "sv-SE" | "th" | "tr" | "uk" | "vi", string>>;
10
+ description_localizations?: import("discord.js").LocalizationMap | null;
11
11
  required?: boolean;
12
12
  choices?: [];
13
13
  autocomplete: true;
@@ -15,9 +15,9 @@ export declare const StringOption: (data: {
15
15
  max_length?: number;
16
16
  } | {
17
17
  name: string;
18
+ name_localizations?: import("discord.js").LocalizationMap | null;
18
19
  description: string;
19
- name_localizations?: Partial<Record<"id" | "en-US" | "en-GB" | "bg" | "zh-CN" | "zh-TW" | "hr" | "cs" | "da" | "nl" | "fi" | "fr" | "de" | "el" | "hi" | "hu" | "it" | "ja" | "ko" | "lt" | "no" | "pl" | "pt-BR" | "ro" | "ru" | "es-ES" | "es-419" | "sv-SE" | "th" | "tr" | "uk" | "vi", string>>;
20
- description_localizations?: Partial<Record<"id" | "en-US" | "en-GB" | "bg" | "zh-CN" | "zh-TW" | "hr" | "cs" | "da" | "nl" | "fi" | "fr" | "de" | "el" | "hi" | "hu" | "it" | "ja" | "ko" | "lt" | "no" | "pl" | "pt-BR" | "ro" | "ru" | "es-ES" | "es-419" | "sv-SE" | "th" | "tr" | "uk" | "vi", string>>;
20
+ description_localizations?: import("discord.js").LocalizationMap | null;
21
21
  required?: boolean;
22
22
  choices?: import("discord.js").APIApplicationCommandOptionChoice<string>[];
23
23
  autocomplete?: false;
@@ -5,8 +5,8 @@
5
5
  */
6
6
  export declare const UserOption: (data: {
7
7
  name: string;
8
+ name_localizations?: import("discord.js").LocalizationMap | null;
8
9
  description: string;
9
- name_localizations?: Partial<Record<"id" | "en-US" | "en-GB" | "bg" | "zh-CN" | "zh-TW" | "hr" | "cs" | "da" | "nl" | "fi" | "fr" | "de" | "el" | "hi" | "hu" | "it" | "ja" | "ko" | "lt" | "no" | "pl" | "pt-BR" | "ro" | "ru" | "es-ES" | "es-419" | "sv-SE" | "th" | "tr" | "uk" | "vi", string>>;
10
- description_localizations?: Partial<Record<"id" | "en-US" | "en-GB" | "bg" | "zh-CN" | "zh-TW" | "hr" | "cs" | "da" | "nl" | "fi" | "fr" | "de" | "el" | "hi" | "hu" | "it" | "ja" | "ko" | "lt" | "no" | "pl" | "pt-BR" | "ro" | "ru" | "es-ES" | "es-419" | "sv-SE" | "th" | "tr" | "uk" | "vi", string>>;
10
+ description_localizations?: import("discord.js").LocalizationMap | null;
11
11
  required?: boolean;
12
12
  }) => PropertyDecorator;
@@ -3,6 +3,7 @@ import { APIApplicationCommandOptionBase } from 'discord-api-types/payloads/v10/
3
3
  import { CommandDiscovery } from '../command.discovery';
4
4
  export interface SlashCommandMeta extends ChatInputApplicationCommandData {
5
5
  type?: ApplicationCommandType.ChatInput | ApplicationCommandOptionType.SubcommandGroup | ApplicationCommandOptionType.Subcommand;
6
+ category?: string;
6
7
  guilds?: Snowflake[];
7
8
  }
8
9
  export interface OptionMeta extends APIApplicationCommandOptionBase<any> {
@@ -3,5 +3,5 @@
3
3
  * This decorator is used to retrieve the context.
4
4
  * @returns The decorated argument.
5
5
  */
6
- export declare const Context: (...pipes: (import("@nestjs/common").PipeTransform<any, any> | import("@nestjs/common").Type<import("@nestjs/common").PipeTransform<any, any>>)[]) => ParameterDecorator;
7
- export declare const Ctx: (...pipes: (import("@nestjs/common").PipeTransform<any, any> | import("@nestjs/common").Type<import("@nestjs/common").PipeTransform<any, any>>)[]) => ParameterDecorator;
6
+ export declare const Context: (...pipes: (import("@nestjs/common").Type<import("@nestjs/common").PipeTransform> | import("@nestjs/common").PipeTransform)[]) => ParameterDecorator;
7
+ export declare const Ctx: (...pipes: (import("@nestjs/common").Type<import("@nestjs/common").PipeTransform> | import("@nestjs/common").PipeTransform)[]) => ParameterDecorator;
@@ -3,4 +3,4 @@
3
3
  * This decorator is used to retrieve the discovery.
4
4
  * @returns The decorated argument.
5
5
  */
6
- export declare const Discovery: (...pipes: (import("@nestjs/common").PipeTransform<any, any> | import("@nestjs/common").Type<import("@nestjs/common").PipeTransform<any, any>>)[]) => ParameterDecorator;
6
+ export declare const Discovery: (...pipes: (import("@nestjs/common").Type<import("@nestjs/common").PipeTransform> | import("@nestjs/common").PipeTransform)[]) => ParameterDecorator;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createNestCordParamDecorator = void 0;
3
+ exports.createNestCordParamDecorator = createNestCordParamDecorator;
4
4
  const common_1 = require("@nestjs/common");
5
5
  const constants_1 = require("@nestjs/common/constants");
6
6
  function createNestCordParamDecorator(type) {
@@ -9,4 +9,3 @@ function createNestCordParamDecorator(type) {
9
9
  Reflect.defineMetadata(constants_1.ROUTE_ARGS_METADATA, (0, common_1.assignMetadata)(args, type, index, undefined, ...pipes), target.constructor, key);
10
10
  };
11
11
  }
12
- exports.createNestCordParamDecorator = createNestCordParamDecorator;
@@ -9,7 +9,7 @@ interface DiscoveredItem {
9
9
  handler?: (...args: unknown[]) => void;
10
10
  }
11
11
  export declare abstract class NestCordBaseDiscovery<T = unknown> {
12
- protected readonly meta: T;
12
+ readonly meta: T;
13
13
  protected readonly reflector: Reflector;
14
14
  protected discovery: DiscoveredItem;
15
15
  protected contextCallback: Function;
@@ -1,7 +1,8 @@
1
+ import { NestCordEvents } from '../listener.interface';
1
2
  import 'reflect-metadata';
2
3
  /**
3
4
  * Decorator that marks a method as a listener for discord.js client.
4
5
  * @param events - The event or events names.
5
6
  * @returns The decorated method.
6
7
  */
7
- export declare const On: <E extends keyof import("discord.js").ClientEvents | "guildChannelPermissionsUpdate" | keyof import("..").CustomGuildAuditLogEntryCreateEvents | keyof import("..").CustomGuildMemberUpdateEvents | keyof import("..").CustomGuildUpdateEvents | keyof import("..").CustomMessageUpdateEvents | keyof import("..").CustomPresenceUpdateEvents | keyof import("..").CustomRoleUpdateEvents | keyof import("..").CustomThreadUpdateEvents | keyof import("..").CustomUserUpdateEvents | keyof import("..").CustomVoiceStateUpdateEvents>(events: E | E[]) => MethodDecorator;
8
+ export declare const On: <E extends keyof NestCordEvents>(events: E | E[]) => MethodDecorator;
@@ -1,6 +1,7 @@
1
+ import { NestCordEvents } from '../listener.interface';
1
2
  /**
2
3
  * Decorator that marks a method as a listener for discord.js client.
3
4
  * @param events - The event or events names.
4
5
  * @returns The decorated method.
5
6
  */
6
- export declare const Once: <K extends keyof import("discord.js").ClientEvents | "guildChannelPermissionsUpdate" | keyof import("..").CustomGuildAuditLogEntryCreateEvents | keyof import("..").CustomGuildMemberUpdateEvents | keyof import("..").CustomGuildUpdateEvents | keyof import("..").CustomMessageUpdateEvents | keyof import("..").CustomPresenceUpdateEvents | keyof import("..").CustomRoleUpdateEvents | keyof import("..").CustomThreadUpdateEvents | keyof import("..").CustomUserUpdateEvents | keyof import("..").CustomVoiceStateUpdateEvents>(events: K | K[]) => MethodDecorator;
7
+ export declare const Once: <K extends keyof NestCordEvents>(events: K | K[]) => MethodDecorator;
@@ -8,7 +8,7 @@ export interface MessageComponentMeta {
8
8
  * Represents a message component discovery.
9
9
  */
10
10
  export declare class MessageComponentDiscovery extends NestCordBaseDiscovery<MessageComponentMeta> {
11
- readonly matcher: import("path-to-regexp").MatchFunction<object>;
11
+ readonly matcher: import("path-to-regexp").MatchFunction<Partial<Record<string, string | string[]>>>;
12
12
  getType(): MessageComponentType;
13
13
  getCustomId(): string;
14
14
  execute(interaction: MessageComponentInteraction): any;
@@ -7,7 +7,7 @@ export interface ModalMeta {
7
7
  * Represents a modal discovery.
8
8
  */
9
9
  export declare class ModalDiscovery extends NestCordBaseDiscovery<ModalMeta> {
10
- readonly matcher: import("path-to-regexp").MatchFunction<object>;
10
+ readonly matcher: import("path-to-regexp").MatchFunction<Partial<Record<string, string | string[]>>>;
11
11
  getCustomId(): string;
12
12
  execute(interaction: ModalSubmitInteraction): any;
13
13
  isModal(): this is ModalDiscovery;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.localizationMapByKey = void 0;
3
+ exports.localizationMapByKey = localizationMapByKey;
4
4
  const v10_1 = require("discord-api-types/v10");
5
5
  function localizationMapByKey(key, only = []) {
6
6
  return Object.values(v10_1.Locale)
@@ -15,4 +15,3 @@ function localizationMapByKey(key, only = []) {
15
15
  return acc;
16
16
  }, {});
17
17
  }
18
- exports.localizationMapByKey = localizationMapByKey;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@globalart/nestcord",
3
3
  "description": "A module for creating Discord bots using NestJS, based on Discord.js",
4
- "version": "1.5.4",
4
+ "version": "1.5.6",
5
5
  "private": false,
6
6
  "scripts": {
7
7
  "build": "rimraf dist && tsc -p tsconfig.build.json",
@@ -73,7 +73,7 @@
73
73
  "lint-staged": "15.2.7",
74
74
  "prettier": "3.3.2",
75
75
  "reflect-metadata": "0.2.2",
76
- "release-it": "17.3.0",
76
+ "release-it": "17.4.0",
77
77
  "rimraf": "5.0.7",
78
78
  "rxjs": "7.8.1",
79
79
  "ts-node": "10.9.2",