diff --git a/util/helpers.js b/util/helpers.js new file mode 100644 index 0000000..4b6c314 --- /dev/null +++ b/util/helpers.js @@ -0,0 +1,75 @@ +/** + * 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(/