/[sudobot]/trunk/src/utils/structures/BaseCommand.ts
ViewVC logotype

Diff of /trunk/src/utils/structures/BaseCommand.ts

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 51 by rakin, Mon Jul 29 17:28:23 2024 UTC revision 125 by rakin, Mon Jul 29 17:28:41 2024 UTC
# Line 1  Line 1 
1  import { CommandInteraction, CommandInteractionOption, Interaction, Message, MessageEditOptions, MessageOptions, MessagePayload, WebhookEditMessageOptions } from 'discord.js';  import { ModalSubmitInteraction } from 'discord-modals';
2    import { AutocompleteInteraction, CommandInteraction, CommandInteractionOption, ContextMenuInteraction, Interaction, Message, MessageEditOptions, MessageOptions, MessagePayload, WebhookEditMessageOptions } from 'discord.js';
3  import DiscordClient from '../../client/Client';  import DiscordClient from '../../client/Client';
4    import AutoCompleteOptions from '../../types/AutoCompleteOptions';
5  import CommandOptions from '../../types/CommandOptions';  import CommandOptions from '../../types/CommandOptions';
6  import InteractionOptions from '../../types/InteractionOptions';  import InteractionOptions from '../../types/InteractionOptions';
7    
8  export default abstract class BaseCommand {  export default abstract class BaseCommand {
9      supportsInteractions: boolean = false;      supportsInteractions: boolean = false;
10      supportsLegacy: boolean = true;      supportsLegacy: boolean = true;
11        supportsContextMenu: boolean = false;
12        coolDown?: number;
13        ownerOnly: boolean = false;
14    
15      constructor(private name: string, private category: string, private aliases: Array<string>) {      constructor(private name: string, private category: string, private aliases: Array<string>) {
16    
# Line 23  export default abstract class BaseComman Line 28  export default abstract class BaseComman
28          return this.aliases;          return this.aliases;
29      }      }
30    
31      async deferReply(msg: Message | CommandInteraction, options: MessageOptions | string | MessagePayload | WebhookEditMessageOptions, edit: boolean = false): Promise<Message | CommandInteraction> {      async autoComplete(client: DiscordClient, interaction: AutocompleteInteraction, options: AutoCompleteOptions): Promise <void> {
32    
33        }
34    
35        async default(client: DiscordClient, interaction: Interaction): Promise <void> {
36            
37        }
38    
39        async modalSubmit(client: DiscordClient, interaction: ModalSubmitInteraction): Promise <void> {
40            
41        }
42    
43        async deferReply(msg: Message | CommandInteraction | ContextMenuInteraction, options: MessageOptions | string | MessagePayload | WebhookEditMessageOptions, edit: boolean = false): Promise<Message | CommandInteraction> {
44          if (msg instanceof Message) {          if (msg instanceof Message) {
45              return await msg[edit ? 'edit' : 'reply'](options as (MessageOptions & MessageEditOptions));              return await msg[edit ? 'edit' : 'reply'](options as (MessageOptions & MessageEditOptions));
46          }          }

Legend:
Removed from v.51  
changed lines
  Added in v.125

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26