feat(API): updateMessage API for forcing re-renders

This commit is contained in:
Nuckyz 2024-05-29 04:57:18 -03:00
parent 9b9a5322c9
commit 537fc5e33d
No known key found for this signature in database
GPG key ID: 440BF8296E1C4AD9
8 changed files with 106 additions and 20 deletions

View file

@ -17,6 +17,7 @@
*/
import { addAccessory, removeAccessory } from "@api/MessageAccessories";
import { updateMessage } from "@api/MessageUpdater";
import { definePluginSettings } from "@api/Settings";
import ErrorBoundary from "@components/ErrorBoundary";
import { Devs } from "@utils/constants.js";
@ -28,7 +29,6 @@ import {
Button,
ChannelStore,
Constants,
FluxDispatcher,
GuildStore,
IconUtils,
MessageStore,
@ -250,15 +250,9 @@ function MessageEmbedAccessory({ message }: { message: Message; }) {
if (linkedMessage) {
messageCache.set(messageID, { message: linkedMessage, fetched: true });
} else {
const msg = { ...message } as any;
delete msg.embeds;
delete msg.interaction;
messageFetchQueue.unshift(() => fetchMessage(channelID, messageID)
.then(m => m && FluxDispatcher.dispatch({
type: "MESSAGE_UPDATE",
message: msg
}))
.then(m => m && updateMessage(message.channel_id, message.id))
);
continue;
}
@ -367,7 +361,7 @@ export default definePlugin({
name: "MessageLinkEmbeds",
description: "Adds a preview to messages that link another message",
authors: [Devs.TheSun, Devs.Ven, Devs.RyanCaoDev],
dependencies: ["MessageAccessoriesAPI"],
dependencies: ["MessageAccessoriesAPI", "MessageUpdaterAPI"],
settings,