3
0
Fork 0
mirror of https://github.com/ZeppelinBot/Zeppelin.git synced 2025-05-10 12:25:02 +00:00
zeppelin/backend/src/plugins/ReactionRoles/util/refreshReactionRoles.ts

20 lines
762 B
TypeScript

import { ReactionRolesPluginType } from "../types";
import { PluginData } from "knub";
import { applyReactionRoleReactionsToMessage } from "./applyReactionRoleReactionsToMessage";
export async function refreshReactionRoles(
pluginData: PluginData<ReactionRolesPluginType>,
channelId: string,
messageId: string,
) {
const pendingKey = `${channelId}-${messageId}`;
if (pluginData.state.pendingRefreshes.has(pendingKey)) return;
pluginData.state.pendingRefreshes.add(pendingKey);
try {
const reactionRoles = await pluginData.state.reactionRoles.getForMessage(messageId);
await applyReactionRoleReactionsToMessage(pluginData, channelId, messageId, reactionRoles);
} finally {
pluginData.state.pendingRefreshes.delete(pendingKey);
}
}