mirror of
https://github.com/ZeppelinBot/Zeppelin.git
synced 2025-05-10 12:25:02 +00:00
20 lines
762 B
TypeScript
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);
|
|
}
|
|
}
|