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