UNPKG

detritus-client

Version:

A Typescript NodeJS library to interact with Discord's API, both Rest and Gateway.

281 lines (280 loc) 13.2 kB
import { CommandRatelimit, CommandRatelimitItem, CommandRatelimitOptions } from '../commandratelimit'; import { ApplicationCommandOptionTypes, ApplicationCommandTypes } from '../constants'; import { BaseSet } from '../collections/baseset'; import { BaseCollection } from '../collections/basecollection'; import { Structure } from '../structures/basestructure'; import { InteractionDataApplicationCommand, InteractionDataApplicationCommandOption } from '../structures/interaction'; import { InteractionContext } from './context'; export declare type ParsedArgs = Record<string, any>; export declare type ParsedErrors = Record<string, Error>; export declare type CommandRatelimitInfo = { item: CommandRatelimitItem; ratelimit: CommandRatelimit; remaining: number; }; export declare type CommandRatelimitMetadata = { global: boolean; now: number; }; export declare type FailedPermissions = Array<bigint>; export declare type InteractionCommandInvoker = InteractionCommand | InteractionCommandOption; /** * @category InteractionCommand */ export declare type ArgumentConverter = (value: any, context: InteractionContext) => Promise<any> | any; /** * @category InteractionCommand */ export declare type ArgumentDefault = ((context: InteractionContext) => Promise<any> | any) | any; /** * @category InteractionCommand */ export declare type CommandCallbackDmBlocked = (context: InteractionContext) => Promise<any> | any; /** * @category InteractionCommand */ export declare type CommandCallbackLoadingTrigger = (context: InteractionContext) => Promise<any> | any; /** * @category InteractionCommand */ export declare type CommandCallbackBefore = (context: InteractionContext) => Promise<boolean> | boolean; /** * @category InteractionCommand */ export declare type CommandCallbackBeforeRun = (context: InteractionContext, args: ParsedArgs) => Promise<boolean> | boolean; /** * @category InteractionCommand */ export declare type CommandCallbackCancel = (context: InteractionContext) => Promise<any> | any; /** * @category InteractionCommand */ export declare type CommandCallbackCancelRun = (context: InteractionContext, args: ParsedArgs) => Promise<any> | any; /** * @category InteractionCommand */ export declare type CommandCallbackError = (context: InteractionContext, error: any) => Promise<any> | any; /** * @category InteractionCommand */ export declare type CommandCallbackPermissionsFail = (context: InteractionContext, permissions: FailedPermissions) => Promise<any> | any; /** * @category InteractionCommand */ export declare type CommandCallbackRatelimit = (context: InteractionContext, ratelimits: Array<CommandRatelimitInfo>, metadata: CommandRatelimitMetadata) => Promise<any> | any; /** * @category InteractionCommand */ export declare type CommandCallbackRun = (context: InteractionContext, args: ParsedArgs) => Promise<any> | any; /** * @category InteractionCommand */ export declare type CommandCallbackRunError = (context: InteractionContext, args: ParsedArgs, error: any) => Promise<any> | any; /** * @category InteractionCommand */ export declare type CommandCallbackSuccess = (context: InteractionContext) => Promise<any> | any; /** * @category InteractionCommand */ export declare type CommandCallbackValueError = (context: InteractionContext, args: ParsedArgs, errors: ParsedErrors) => Promise<any> | any; /** * Command Options * @category Command Options */ export interface InteractionCommandOptions { _file?: string; default_permission?: boolean; defaultPermission?: boolean; description?: string; name?: string; options?: Array<InteractionCommandOption | InteractionCommandOptionOptions | typeof InteractionCommandOption>; type?: ApplicationCommandTypes; disableDm?: boolean; global?: boolean; guildIds?: Array<string>; metadata?: Record<string, any>; permissions?: Array<bigint | number>; permissionsClient?: Array<bigint | number>; permissionsIgnoreClientOwner?: boolean; ratelimit?: boolean | CommandRatelimitOptions | null; ratelimits?: Array<CommandRatelimitOptions>; triggerLoadingAfter?: number; triggerLoadingAsEphemeral?: boolean; onDmBlocked?: CommandCallbackDmBlocked; onLoadingTrigger?: CommandCallbackLoadingTrigger; onBefore?: CommandCallbackBefore; onBeforeRun?: CommandCallbackBeforeRun; onCancel?: CommandCallbackCancel; onCancelRun?: CommandCallbackCancelRun; onError?: CommandCallbackError; onPermissionsFail?: CommandCallbackPermissionsFail; onPermissionsFailClient?: CommandCallbackPermissionsFail; onRatelimit?: CommandCallbackRatelimit; run?: CommandCallbackRun; onRunError?: CommandCallbackRunError; onSuccess?: CommandCallbackSuccess; onValueError?: CommandCallbackValueError; } export interface InteractionCommandOptionOptions { _file?: string; choices?: Array<InteractionCommandOptionChoice | InteractionCommandOptionChoiceOptions>; default?: ArgumentDefault; description?: string; name?: string; options?: Array<InteractionCommandOption | InteractionCommandOptionOptions | typeof InteractionCommandOption>; required?: boolean; type?: ApplicationCommandOptionTypes | StringConstructor | BooleanConstructor | NumberConstructor | string; value?: ArgumentConverter; disableDm?: boolean; label?: string; metadata?: Record<string, any>; permissions?: Array<bigint | number>; permissionsClient?: Array<bigint | number>; permissionsIgnoreClientOwner?: boolean; ratelimit?: boolean | CommandRatelimitOptions | null; ratelimits?: Array<CommandRatelimitOptions>; triggerLoadingAfter?: number; triggerLoadingAsEphemeral?: boolean; onDmBlocked?: CommandCallbackDmBlocked; onLoadingTrigger?: CommandCallbackLoadingTrigger; onBefore?: CommandCallbackBefore; onBeforeRun?: CommandCallbackBeforeRun; onCancel?: CommandCallbackCancel; onCancelRun?: CommandCallbackCancelRun; onError?: CommandCallbackError; onPermissionsFail?: CommandCallbackPermissionsFail; onPermissionsFailClient?: CommandCallbackPermissionsFail; onRatelimit?: CommandCallbackRatelimit; run?: CommandCallbackRun; onRunError?: CommandCallbackRunError; onSuccess?: CommandCallbackSuccess; onValueError?: CommandCallbackValueError; } export interface InteractionCommandOptionChoiceOptions { name?: string; value?: number | string; } export declare class InteractionCommand<ParsedArgsFinished = ParsedArgs> extends Structure { readonly _file?: string; readonly _keys: BaseSet<string>; readonly _keysSkipDifference: BaseSet<string>; _options?: BaseCollection<string, InteractionCommandOption>; defaultPermission: boolean; description: string; ids: BaseCollection<string, string>; global: boolean; guildIds?: BaseSet<string>; name: string; type: ApplicationCommandTypes; disableDm?: boolean; metadata: Record<string, any>; permissions?: Array<bigint>; permissionsClient?: Array<bigint>; permissionsIgnoreClientOwner?: boolean; ratelimits: Array<CommandRatelimit>; triggerLoadingAfter?: number; triggerLoadingAsEphemeral?: boolean; onDmBlocked?(context: InteractionContext): Promise<any> | any; onLoadingTrigger?(context: InteractionContext): Promise<any> | any; onBefore?(context: InteractionContext): Promise<boolean> | boolean; onBeforeRun?(context: InteractionContext, args: ParsedArgs): Promise<boolean> | boolean; onCancel?(context: InteractionContext): Promise<any> | any; onCancelRun?(context: InteractionContext, args: ParsedArgs): Promise<any> | any; onError?(context: InteractionContext, args: ParsedArgs, error: any): Promise<any> | any; onPermissionsFail?(context: InteractionContext, permissions: FailedPermissions): Promise<any> | any; onPermissionsFailClient?(context: InteractionContext, permissions: FailedPermissions): Promise<any> | any; onRatelimit?(context: InteractionContext, ratelimits: Array<CommandRatelimitInfo>, metadata: CommandRatelimitMetadata): Promise<any> | any; run?(context: InteractionContext, args: ParsedArgsFinished): Promise<any> | any; onRunError?(context: InteractionContext, args: ParsedArgsFinished, error: any): Promise<any> | any; onSuccess?(context: InteractionContext, args: ParsedArgsFinished): Promise<any> | any; onValueError?(context: InteractionContext, args: ParsedArgs, errors: ParsedErrors): Promise<any> | any; constructor(data?: InteractionCommandOptions); get _optionsKey(): string; get fullName(): string; get hash(): string; get hasRun(): boolean; get isGroup(): boolean; get isContextCommand(): boolean; get isContextCommandMessage(): boolean; get isContextCommandUser(): boolean; get isSlashCommand(): boolean; get key(): string; get length(): number; get lengthOptions(): number; get options(): Array<InteractionCommandOption> | undefined; set options(value: Array<InteractionCommandOption> | undefined); getInvoker(data: InteractionDataApplicationCommand): InteractionCommandInvoker | null; getInvokerOption(options: BaseCollection<string, InteractionDataApplicationCommandOption>): InteractionCommandOption | null; _transferValuesToChildren(): void; mergeValue(key: string, value: any): void; } export declare class InteractionCommandOption<ParsedArgsFinished = ParsedArgs> extends Structure { readonly parent?: InteractionCommand | InteractionCommandOption; readonly _file?: string; readonly _keys: BaseSet<string>; _options?: BaseCollection<string, InteractionCommandOption>; choices?: Array<InteractionCommandOptionChoice>; description: string; name: string; required?: boolean; type: ApplicationCommandOptionTypes; default?: ArgumentDefault; disableDm?: boolean; label?: string; metadata: Record<string, any>; permissions?: Array<bigint>; permissionsClient?: Array<bigint>; permissionsIgnoreClientOwner?: boolean; ratelimits?: Array<CommandRatelimit>; triggerLoadingAfter?: number; triggerLoadingAsEphemeral?: boolean; value?: ArgumentConverter; onDmBlocked?(context: InteractionContext): Promise<any> | any; onLoadingTrigger?(context: InteractionContext): Promise<any> | any; onBefore?(context: InteractionContext): Promise<boolean> | boolean; onBeforeRun?(context: InteractionContext, args: ParsedArgs): Promise<boolean> | boolean; onCancel?(context: InteractionContext): Promise<any> | any; onCancelRun?(context: InteractionContext, args: ParsedArgs): Promise<any> | any; onError?(context: InteractionContext, args: ParsedArgs, error: any): Promise<any> | any; onPermissionsFail?(context: InteractionContext, permissions: FailedPermissions): Promise<any> | any; onPermissionsFailClient?(context: InteractionContext, permissions: FailedPermissions): Promise<any> | any; onRatelimit?(context: InteractionContext, ratelimits: Array<CommandRatelimitInfo>, metadata: CommandRatelimitMetadata): Promise<any> | any; run?(context: InteractionContext, args: ParsedArgsFinished): Promise<any> | any; onRunError?(context: InteractionContext, args: ParsedArgsFinished, error: any): Promise<any> | any; onSuccess?(context: InteractionContext, args: ParsedArgsFinished): Promise<any> | any; onValueError?(context: InteractionContext, args: ParsedArgs, errors: ParsedErrors): Promise<any> | any; constructor(data?: InteractionCommandOptionOptions); get _choicesKey(): string; get _optionsKey(): string; get fullName(): string; get hasRun(): boolean; get isSubCommand(): boolean; get isSubCommandGroup(): boolean; get key(): string; get length(): number; get lengthChoices(): number; get lengthOptions(): number; get options(): Array<InteractionCommandOption> | undefined; set options(value: Array<InteractionCommandOption> | undefined); getInvoker(option: InteractionDataApplicationCommandOption): InteractionCommandOption | null; addChoice(name: InteractionCommandOptionChoice | InteractionCommandOptionChoiceOptions): InteractionCommandOptionChoice; addChoice(name: string, value: number | string): InteractionCommandOptionChoice; addOption(value: InteractionCommandOption | InteractionCommandOptionOptions | typeof InteractionCommandOption): InteractionCommandOption; setChoices(value?: Array<InteractionCommandOptionChoice | InteractionCommandOptionChoiceOptions>): this; setDescription(value: string): this; setName(value: string): this; setOptions(value?: Array<InteractionCommandOption | InteractionCommandOptionOptions>): this; setRequired(value: boolean): this; setType(value: ApplicationCommandOptionTypes): this; _transferValuesToChildren(parent: InteractionCommand | InteractionCommandOption): void; mergeValue(key: string, value: any): void; } export declare class InteractionCommandOptionChoice extends Structure { readonly _keys: BaseSet<string>; name: string; value: number | string; constructor(data?: InteractionCommandOptionChoiceOptions); get key(): string; get length(): number; }