This commit is contained in:
Louis Mazin 2026-04-16 01:09:22 +02:00
parent a3ad041e47
commit 0879da0095

View File

@ -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) => {