import { Attachment, ChatInputCommandInteraction, Message } from "discord.js"; import { GuildPluginData } from "knub"; import { isContextMessage } from "../../../pluginUtils.js"; import { ModActionsPluginType } from "../types.js"; export async function formatReasonWithMessageLinkForAttachments( pluginData: GuildPluginData, reason: string, context: Message | ChatInputCommandInteraction, attachments: Attachment[], ) { if (isContextMessage(context)) { const allAttachments = [...new Set([...context.attachments.values(), ...attachments])]; return allAttachments.length > 0 ? ((reason || "") + " " + context.url).trim() : reason; } if (attachments.length < 1) { return reason; } const attachmentsMessage = await pluginData.state.common.storeAttachmentsAsMessage(attachments, context.channel); return ((reason || "") + " " + attachmentsMessage.url).trim(); } export function formatReasonWithAttachments(reason: string, attachments: Attachment[]) { const attachmentUrls = attachments.map((a) => a.url); return ((reason || "") + " " + attachmentUrls.join(" ")).trim(); }