galactic-bot/@types/Wrappers.d.ts
Navy.gif c96d63c3bd Update beta branch (#11)
\+ License and copyright attribution
\+ Readme
\+ JSDoc comments
\+ Link to repo in help command

Reviewed-on: #11
Co-authored-by: Navy.gif <navydotgif@gmail.com>
Co-committed-by: Navy.gif <navydotgif@gmail.com>
2024-07-22 17:01:26 +02:00

60 lines
2.2 KiB
TypeScript

// 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 <https://www.gnu.org/licenses/>.
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