test
This commit is contained in:
parent
6273c03431
commit
9895d039e8
@ -152,10 +152,13 @@ const preloadPinboardImages = async (items) => {
|
||||
}
|
||||
};
|
||||
|
||||
const buildSelectedImageEmbed = (item, imageReference) => {
|
||||
const imageUrl = imageReference?.attachmentName
|
||||
const buildSelectedImageEmbed = (item, imageReference, options = {}) => {
|
||||
const useAttachment = options.useAttachment !== false;
|
||||
const disableCacheBust = options.disableCacheBust === true;
|
||||
|
||||
const imageUrl = useAttachment && imageReference?.attachmentName
|
||||
? `attachment://${imageReference.attachmentName}`
|
||||
: toCacheBustedUrl(item.url);
|
||||
: (disableCacheBust ? item.url : toCacheBustedUrl(item.url));
|
||||
|
||||
return new EmbedBuilder()
|
||||
.setColor('#f59e0b')
|
||||
@ -220,7 +223,7 @@ const buildPanelEmbed = (status) => {
|
||||
return message;
|
||||
};
|
||||
|
||||
const buildPanelPayload = (status, messageId, pinboardItems = null) => {
|
||||
const buildPanelPayload = (status, messageId, pinboardItems = null, options = {}) => {
|
||||
const panelEmbed = buildPanelEmbed(status);
|
||||
const items = (pinboardItems || parsePinboardImageItems()).slice(0, 25);
|
||||
|
||||
@ -233,10 +236,14 @@ const buildPanelPayload = (status, messageId, pinboardItems = null) => {
|
||||
|
||||
const selectedItem = items[currentIndex];
|
||||
const cachedImage = preloadedImagesByUrl.get(selectedItem.url);
|
||||
const selectedImageEmbed = buildSelectedImageEmbed(selectedItem, cachedImage);
|
||||
const selectedImageEmbed = buildSelectedImageEmbed(selectedItem, cachedImage, {
|
||||
useAttachment: options.useAttachmentForSelected,
|
||||
disableCacheBust: options.disableCacheBustForSelected
|
||||
});
|
||||
const selectorRow = buildImageSelectorRow(items, currentIndex);
|
||||
|
||||
const files = cachedImage?.buffer
|
||||
const shouldIncludeFiles = options.includeFiles !== false;
|
||||
const files = shouldIncludeFiles && cachedImage?.buffer
|
||||
? [new AttachmentBuilder(cachedImage.buffer, { name: cachedImage.attachmentName })]
|
||||
: [];
|
||||
|
||||
@ -291,7 +298,11 @@ const update = async (client) => {
|
||||
lastKnownStatus = status;
|
||||
|
||||
const { message } = await resolvePanelMessage(client, channelId, messageId);
|
||||
const payload = buildPanelPayload(status, message.id, pinboardItems);
|
||||
const payload = buildPanelPayload(status, message.id, pinboardItems, {
|
||||
useAttachmentForSelected: true,
|
||||
disableCacheBustForSelected: false,
|
||||
includeFiles: true
|
||||
});
|
||||
|
||||
await message.edit(payload);
|
||||
|
||||
@ -319,7 +330,11 @@ const handlePinboardSelection = async (interaction) => {
|
||||
selectedImageIndexByMessage.set(interaction.message.id, selectedIndex);
|
||||
|
||||
const status = lastKnownStatus || await getMinecraftStatus();
|
||||
const payload = buildPanelPayload(status, interaction.message.id, pinboardItems);
|
||||
const payload = buildPanelPayload(status, interaction.message.id, pinboardItems, {
|
||||
useAttachmentForSelected: false,
|
||||
disableCacheBustForSelected: true,
|
||||
includeFiles: false
|
||||
});
|
||||
await interaction.update(payload);
|
||||
return true;
|
||||
} catch (error) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user