3
0
Fork 0
mirror of https://github.com/ZeppelinBot/Zeppelin.git synced 2025-05-14 22:05:01 +00:00
zeppelin/backend/src/plugins/Automod/functions/getMatchingRecentActions.ts
2024-04-09 20:57:18 +03:00

27 lines
872 B
TypeScript

import { GuildPluginData } from "knub";
import { startProfiling } from "../../../utils/easyProfiler.js";
import { RecentActionType } from "../constants.js";
import { AutomodPluginType } from "../types.js";
export function getMatchingRecentActions(
pluginData: GuildPluginData<AutomodPluginType>,
type: RecentActionType,
identifier: string | null,
since: number,
to?: number,
) {
const stopProfiling = startProfiling(pluginData.getKnubInstance().profiler, "automod:fns:getMatchingRecentActions");
to = to || Date.now();
const result = pluginData.state.recentActions.filter((action) => {
return (
action.type === type &&
(!identifier || action.identifier === identifier) &&
action.context.timestamp >= since &&
action.context.timestamp <= to! &&
!action.context.actioned
);
});
stopProfiling();
return result;
}