/** * Shared utility functions for PluginBot * Centralised here to avoid duplication across commands */ export function generateAvatarLink(authorID) { const idStr = authorID.toString(); const splitPoint = Math.ceil(idStr.length / 2); const firstHalf = idStr.substring(0, splitPoint); return `https://www.spigotmc.org/data/avatars/l/${firstHalf}/${authorID}.jpg`; } export function generateAuthorURL(authorName, authorID) { return `https://www.spigotmc.org/members/${authorName}.${authorID}/`; } export function generateResourceIconURL(resource) { return resource.icon .fullUrl() .replace("orgdata", "org/data") .replace("https://spigotmc.org", "https://www.spigotmc.org"); // www must be present – embeds don't render without it } export function generateResourceURL(resourceID) { return `https://spigotmc.org/resources/.${resourceID}/`; } /** * Converts basic SpigotMC HTML to Discord Markdown. * BUG FIX: was previously mapped to "**" (bold) instead of "*" (italic) */ export function formatText(description) { return description .replace(//gi, "**") .replace(/<\/b>/gi, "**") .replace(//gi, "*") .replace(/<\/i>/gi, "*") // ← was "**" before (bug) .replace(/