Migrate Starboard to new Plugin structure

This commit is contained in:
Dark 2020-07-22 23:15:40 +02:00
parent a3d0ec03d9
commit 599a504b17
12 changed files with 443 additions and 0 deletions

View file

@ -0,0 +1,27 @@
import { SavedMessage } from "src/data/entities/SavedMessage";
import { PluginData } from "knub";
import { StarboardPluginType } from "../types";
import { removeMessageFromStarboard } from "./removeMessageFromStarboard";
import { removeMessageFromStarboardMessages } from "./removeMessageFromStarboardMessages";
export async function onMessageDelete(pluginData: PluginData<StarboardPluginType>, msg: SavedMessage) {
// Deleted source message
const starboardMessages = await pluginData.state.starboardMessages.getStarboardMessagesForMessageId(msg.id);
for (const starboardMessage of starboardMessages) {
removeMessageFromStarboard(pluginData, starboardMessage);
}
// Deleted message from the starboard
const deletedStarboardMessages = await pluginData.state.starboardMessages.getStarboardMessagesForStarboardMessageId(
msg.id,
);
if (deletedStarboardMessages.length === 0) return;
for (const starboardMessage of deletedStarboardMessages) {
removeMessageFromStarboardMessages(
pluginData,
starboardMessage.starboard_message_id,
starboardMessage.starboard_channel_id,
);
}
}