@wilcosp/rex
Version:
Rex is an automated command manager for discord js
60 lines (59 loc) • 3.22 kB
TypeScript
/*!
* 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 {};