UNPKG

@wilcosp/rex

Version:

Rex is an automated command manager for discord js

60 lines (59 loc) 3.22 kB
/*! * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ /// <reference types="node" /> import { APIActionRowComponent, APIAttachment, APIEmbed, APIMessageActionRowComponent, MessageFlags } from "discord-api-types/v10"; import { ActionRowBuilder, ActionRowData, Attachment, AttachmentBuilder, AttachmentPayload, BufferResolvable, ButtonBuilder, InteractionReplyOptions, InteractionUpdateOptions, JSONEncodable, MessageActionRowComponentBuilder, MessageActionRowComponentData, MessageCreateOptions, MessageMentionOptions, RestOrArray } from "discord.js"; import { Stream } from "stream"; type file = BufferResolvable | Stream | JSONEncodable<APIAttachment> | Attachment | AttachmentBuilder | AttachmentPayload; type component = ActionRowBuilder<MessageActionRowComponentBuilder> | JSONEncodable<APIActionRowComponent<APIMessageActionRowComponent>> | ActionRowData<MessageActionRowComponentData | MessageActionRowComponentBuilder> | APIActionRowComponent<APIMessageActionRowComponent>; export declare class RexInteractionReplyBuilder implements InteractionReplyOptions { fetchReply?: boolean | undefined; tts?: boolean | undefined; content?: string | undefined; nonce?: string | undefined; embeds?: (JSONEncodable<APIEmbed> | APIEmbed)[]; allowedMentions?: MessageMentionOptions | undefined; components?: component[]; files?: file[]; private _flags; flags?: Extract<MessageFlags, MessageFlags.Ephemeral | MessageFlags.SuppressEmbeds>; setEphemeral(value: boolean): this; setFetchReply<T extends boolean>(value: T): this & { fetchReply: T; }; setTTS(value: boolean): this; setContent(value: string): this; setNonce(value: string): this; addEmbeds(...embeds: (JSONEncodable<APIEmbed> | APIEmbed)[] | (JSONEncodable<APIEmbed> | APIEmbed)[][]): this; setEmbeds(...embeds: (JSONEncodable<APIEmbed> | APIEmbed)[] | (JSONEncodable<APIEmbed> | APIEmbed)[][]): this; setAllowedMentions(value: MessageMentionOptions): this; addComponents(...components: component[] | component[][]): this; setComponents(...components: component[] | component[][]): this; /** * add an action row with the components you give * @param components the button and/or select components * @returns this */ addActionRow(...components: RestOrArray<ButtonBuilder | MessageActionRowComponentBuilder>): this; addFiles(...files: file[] | file[][]): this; setFiles(...files: file[] | file[][]): this; setSurpressEmbeds(value: boolean): this; toJSON(): InteractionReplyOptions; /** * makes it possible to use the RexInteractionReply to update an interaction response * @returns {InteractionUpdateOptions} update options (no further chaining not possible) */ toUpdateOptions(): InteractionUpdateOptions; toMessage(): MessageCreateOptions; } /** * backwards compatibility for deprecation period * @extends RexInteractionReplyBuilder * @deprecated */ export declare class RexInteractionReply extends RexInteractionReplyBuilder { } export {};