mirror of
https://github.com/ZeppelinBot/Zeppelin.git
synced 2025-06-08 00:05:01 +00:00
refactor: move defaults to config schemas
This commit is contained in:
parent
09eb8e92f2
commit
83d35052c3
91 changed files with 450 additions and 888 deletions
|
@ -11,19 +11,12 @@ import { AddReactionRoleEvt } from "./events/AddReactionRoleEvt.js";
|
|||
import { MessageDeletedEvt } from "./events/MessageDeletedEvt.js";
|
||||
import { ReactionRolesPluginType, zReactionRolesConfig } from "./types.js";
|
||||
|
||||
const MIN_AUTO_REFRESH = 1000 * 60 * 15; // 15min minimum, let's not abuse the API
|
||||
export const ReactionRolesPlugin = guildPlugin<ReactionRolesPluginType>()({
|
||||
name: "reaction_roles",
|
||||
|
||||
const defaultOptions: PluginOptions<ReactionRolesPluginType> = {
|
||||
config: {
|
||||
auto_refresh_interval: MIN_AUTO_REFRESH,
|
||||
remove_user_reactions: true,
|
||||
|
||||
can_manage: false,
|
||||
|
||||
button_groups: null,
|
||||
},
|
||||
|
||||
overrides: [
|
||||
dependencies: () => [LogsPlugin],
|
||||
configSchema: zReactionRolesConfig,
|
||||
defaultOverrides: [
|
||||
{
|
||||
level: ">=100",
|
||||
config: {
|
||||
|
@ -31,14 +24,6 @@ const defaultOptions: PluginOptions<ReactionRolesPluginType> = {
|
|||
},
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
export const ReactionRolesPlugin = guildPlugin<ReactionRolesPluginType>()({
|
||||
name: "reaction_roles",
|
||||
|
||||
dependencies: () => [LogsPlugin],
|
||||
configParser: (input) => zReactionRolesConfig.parse(input),
|
||||
defaultOptions,
|
||||
|
||||
// prettier-ignore
|
||||
messageCommands: [
|
||||
|
|
|
@ -5,11 +5,13 @@ import { GuildReactionRoles } from "../../data/GuildReactionRoles.js";
|
|||
import { GuildSavedMessages } from "../../data/GuildSavedMessages.js";
|
||||
import { CommonPlugin } from "../Common/CommonPlugin.js";
|
||||
|
||||
const MIN_AUTO_REFRESH = 1000 * 60 * 15; // 15min minimum, let's not abuse the API
|
||||
|
||||
export const zReactionRolesConfig = z.strictObject({
|
||||
auto_refresh_interval: z.number(),
|
||||
remove_user_reactions: z.boolean(),
|
||||
can_manage: z.boolean(),
|
||||
button_groups: z.nullable(z.unknown()),
|
||||
auto_refresh_interval: z.number().min(MIN_AUTO_REFRESH).default(MIN_AUTO_REFRESH),
|
||||
remove_user_reactions: z.boolean().default(true),
|
||||
can_manage: z.boolean().default(false),
|
||||
button_groups: z.null().default(null),
|
||||
});
|
||||
|
||||
export type RoleChangeMode = "+" | "-";
|
||||
|
@ -27,7 +29,7 @@ const zReactionRolePair = z.union([z.tuple([z.string(), z.string(), z.string()])
|
|||
export type TReactionRolePair = z.infer<typeof zReactionRolePair>;
|
||||
|
||||
export interface ReactionRolesPluginType extends BasePluginType {
|
||||
config: z.infer<typeof zReactionRolesConfig>;
|
||||
configSchema: typeof zReactionRolesConfig;
|
||||
state: {
|
||||
reactionRoles: GuildReactionRoles;
|
||||
savedMessages: GuildSavedMessages;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue