From 0879da00959d87200e94a01501e689d724f304b3 Mon Sep 17 00:00:00 2001 From: Louis Mazin Date: Thu, 16 Apr 2026 01:09:22 +0200 Subject: [PATCH] test --- src/pterodactyl/displayer.js | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/pterodactyl/displayer.js b/src/pterodactyl/displayer.js index 0e3df36..0ef7132 100644 --- a/src/pterodactyl/displayer.js +++ b/src/pterodactyl/displayer.js @@ -3,6 +3,21 @@ const { EmbedBuilder, ActionRowBuilder, StringSelectMenuBuilder } = require('dis const PINBOARD_SELECT_CUSTOM_ID = 'pinboard-image-select'; const selectedImageIndexByMessage = new Map(); +const getCacheBustValue = () => { + const bucketSeconds = Number.parseInt(process.env.PINBOARD_CACHE_BUST_SECONDS || '60', 10); + const safeBucketSeconds = Number.isNaN(bucketSeconds) || bucketSeconds <= 0 ? 60 : bucketSeconds; + return Math.floor(Date.now() / (safeBucketSeconds * 1000)); +}; + +const toCacheBustedUrl = (url) => { + if (process.env.PINBOARD_CACHE_BUST_ENABLED === 'false') { + return url; + } + + const separator = url.includes('?') ? '&' : '?'; + return `${url}${separator}cb=${getCacheBustValue()}`; +}; + const parsePinboardImageUrls = () => { const raw = process.env.PINBOARD_IMAGE_URLS || ''; return raw @@ -22,7 +37,7 @@ const buildSelectedImageEmbed = (url, index, total) => ( new EmbedBuilder() .setColor('#f59e0b') .setTitle(`Image selectionnee (${index + 1}/${total})`) - .setImage(url) + .setImage(toCacheBustedUrl(url)) ); const buildImageSelectorRow = (urls, selectedIndex) => {