3
0
Fork 0
mirror of https://github.com/ZeppelinBot/Zeppelin.git synced 2025-06-06 23:55:03 +00:00
zeppelin/backend/src/plugins/ContextMenus/ContextMenuPlugin.ts
2025-05-23 01:12:52 +00:00

41 lines
1.4 KiB
TypeScript

import { PluginOptions, PluginOverride, guildPlugin } from "knub";
import { GuildCases } from "../../data/GuildCases.js";
import { CasesPlugin } from "../Cases/CasesPlugin.js";
import { LogsPlugin } from "../Logs/LogsPlugin.js";
import { ModActionsPlugin } from "../ModActions/ModActionsPlugin.js";
import { MutesPlugin } from "../Mutes/MutesPlugin.js";
import { UtilityPlugin } from "../Utility/UtilityPlugin.js";
import { BanCmd } from "./commands/BanUserCtxCmd.js";
import { CleanCmd } from "./commands/CleanMessageCtxCmd.js";
import { ModMenuCmd } from "./commands/ModMenuUserCtxCmd.js";
import { MuteCmd } from "./commands/MuteUserCtxCmd.js";
import { NoteCmd } from "./commands/NoteUserCtxCmd.js";
import { WarnCmd } from "./commands/WarnUserCtxCmd.js";
import { ContextMenuPluginType, zContextMenusConfig } from "./types.js";
const defaultOverrides: Array<PluginOverride<ContextMenuPluginType>> = [
{
level: ">=50",
config: {
can_use: true,
can_open_mod_menu: true,
},
},
];
export const ContextMenuPlugin = guildPlugin<ContextMenuPluginType>()({
name: "context_menu",
dependencies: () => [CasesPlugin, MutesPlugin, ModActionsPlugin, LogsPlugin, UtilityPlugin],
configSchema: zContextMenusConfig,
defaultOverrides,
contextMenuCommands: [ModMenuCmd, NoteCmd, WarnCmd, MuteCmd, BanCmd, CleanCmd],
beforeLoad(pluginData) {
const { state, guild } = pluginData;
state.cases = GuildCases.getGuildInstance(guild.id);
},
});