44 lines
1.5 KiB
TypeScript
44 lines
1.5 KiB
TypeScript
|
import { APIEmbed, ActionRowData, Attachment, AttachmentBuilder, AttachmentPayload, ChannelSelectMenuInteraction, EmbedBuilder, MentionableSelectMenuInteraction, MessageActionRowComponentBuilder, MessageActionRowComponentData, MessageComponent, MessageComponentType, RoleSelectMenuInteraction, StringSelectMenuInteraction, UserSelectMenuInteraction } from 'discord.js';
|
||
|
import { FormatOpts, FormatParams } from './Client.ts';
|
||
|
|
||
|
export type MessageOptions = {
|
||
|
index?: string,
|
||
|
content?: string,
|
||
|
params?: FormatParams,
|
||
|
formatOpts?: FormatOpts,
|
||
|
emoji?: string,
|
||
|
embed?: APIEmbed | EmbedBuilder | null,
|
||
|
embeds?: (APIEmbed | EmbedBuilder)[],
|
||
|
files?: (Attachment | AttachmentBuilder | AttachmentPayload)[]
|
||
|
}
|
||
|
|
||
|
export type PromptMessageOptions = {
|
||
|
files?: Buffer[],
|
||
|
editReply?: boolean,
|
||
|
delete?: boolean,
|
||
|
time?: number,
|
||
|
// disableMentions?: Mention
|
||
|
} & MessageOptions
|
||
|
|
||
|
export type PromptInteractionOptions = {
|
||
|
components: ActionRowData<MessageActionRowComponentData | MessageActionRowComponentBuilder>[]
|
||
|
componentType?: MessageComponentType
|
||
|
} & ReplyOptions
|
||
|
|
||
|
export type ReplyOptions = {
|
||
|
edit?: boolean,
|
||
|
dm?: boolean,
|
||
|
ephemeral?: boolean,
|
||
|
// _edit?: boolean,
|
||
|
} & MessageOptions
|
||
|
|
||
|
export type EditReplyOptions = {
|
||
|
components?: ActionRowData<MessageActionRowComponentData | MessageActionRowComponentBuilder>[]
|
||
|
} & ReplyOptions
|
||
|
|
||
|
export type SelectMenuInteraction =
|
||
|
| StringSelectMenuInteraction
|
||
|
| UserSelectMenuInteraction
|
||
|
| RoleSelectMenuInteraction
|
||
|
| MentionableSelectMenuInteraction
|
||
|
| ChannelSelectMenuInteraction
|