// Galactic - Discord moderation bot // Copyright (C) 2024 Navy.gif // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program. If not, see . 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[] componentType?: MessageComponentType } & ReplyOptions export type ReplyOptions = { edit?: boolean, dm?: boolean, ephemeral?: boolean, // _edit?: boolean, } & MessageOptions export type EditReplyOptions = { components?: ActionRowData[] } & ReplyOptions export type SelectMenuInteraction = | StringSelectMenuInteraction | UserSelectMenuInteraction | RoleSelectMenuInteraction | MentionableSelectMenuInteraction | ChannelSelectMenuInteraction