3
0
Fork 0
mirror of https://github.com/ZeppelinBot/Zeppelin.git synced 2025-07-08 03:27:20 +00:00

refactor: move defaults to config schemas

This commit is contained in:
Dragory 2025-05-23 01:12:52 +00:00
parent 09eb8e92f2
commit 83d35052c3
No known key found for this signature in database
91 changed files with 450 additions and 888 deletions

View file

@ -1,5 +1,5 @@
import { Snowflake } from "discord.js";
import { PluginOptions, guildPlugin } from "knub";
import { guildPlugin } from "knub";
import { GuildArchives } from "../../data/GuildArchives.js";
import { GuildCases } from "../../data/GuildCases.js";
import { GuildLogs } from "../../data/GuildLogs.js";
@ -38,45 +38,21 @@ import { UserInfoCmd } from "./commands/UserInfoCmd.js";
import { VcdisconnectCmd } from "./commands/VcdisconnectCmd.js";
import { VcmoveAllCmd, VcmoveCmd } from "./commands/VcmoveCmd.js";
import { AutoJoinThreadEvt, AutoJoinThreadSyncEvt } from "./events/AutoJoinThreadEvt.js";
import { cleanMessages } from "./functions/cleanMessages.js";
import { fetchChannelMessagesToClean } from "./functions/fetchChannelMessagesToClean.js";
import { getUserInfoEmbed } from "./functions/getUserInfoEmbed.js";
import { hasPermission } from "./functions/hasPermission.js";
import { activeReloads } from "./guildReloads.js";
import { refreshMembersIfNeeded } from "./refreshMembers.js";
import { UtilityPluginType, zUtilityConfig } from "./types.js";
import { cleanMessages } from "./functions/cleanMessages.js";
import { fetchChannelMessagesToClean } from "./functions/fetchChannelMessagesToClean.js";
const defaultOptions: PluginOptions<UtilityPluginType> = {
config: {
can_roles: false,
can_level: false,
can_search: false,
can_clean: false,
can_info: false,
can_server: false,
can_inviteinfo: false,
can_channelinfo: false,
can_messageinfo: false,
can_userinfo: false,
can_roleinfo: false,
can_emojiinfo: false,
can_snowflake: false,
can_reload_guild: false,
can_nickname: false,
can_ping: false,
can_source: false,
can_vcmove: false,
can_vckick: false,
can_help: false,
can_about: false,
can_context: false,
can_jumbo: false,
jumbo_size: 128,
can_avatar: false,
info_on_single_result: true,
autojoin_threads: true,
},
overrides: [
export const UtilityPlugin = guildPlugin<UtilityPluginType>()({
name: "utility",
dependencies: () => [TimeAndDatePlugin, ModActionsPlugin, LogsPlugin],
configSchema: zUtilityConfig,
defaultOverrides: [
{
level: ">=50",
config: {
@ -112,14 +88,6 @@ const defaultOptions: PluginOptions<UtilityPluginType> = {
},
},
],
};
export const UtilityPlugin = guildPlugin<UtilityPluginType>()({
name: "utility",
dependencies: () => [TimeAndDatePlugin, ModActionsPlugin, LogsPlugin],
configParser: (input) => zUtilityConfig.parse(input),
defaultOptions,
// prettier-ignore
messageCommands: [

View file

@ -9,37 +9,37 @@ import { Supporters } from "../../data/Supporters.js";
import { CommonPlugin } from "../Common/CommonPlugin.js";
export const zUtilityConfig = z.strictObject({
can_roles: z.boolean(),
can_level: z.boolean(),
can_search: z.boolean(),
can_clean: z.boolean(),
can_info: z.boolean(),
can_server: z.boolean(),
can_inviteinfo: z.boolean(),
can_channelinfo: z.boolean(),
can_messageinfo: z.boolean(),
can_userinfo: z.boolean(),
can_roleinfo: z.boolean(),
can_emojiinfo: z.boolean(),
can_snowflake: z.boolean(),
can_reload_guild: z.boolean(),
can_nickname: z.boolean(),
can_ping: z.boolean(),
can_source: z.boolean(),
can_vcmove: z.boolean(),
can_vckick: z.boolean(),
can_help: z.boolean(),
can_about: z.boolean(),
can_context: z.boolean(),
can_jumbo: z.boolean(),
jumbo_size: z.number(),
can_avatar: z.boolean(),
info_on_single_result: z.boolean(),
autojoin_threads: z.boolean(),
can_roles: z.boolean().default(false),
can_level: z.boolean().default(false),
can_search: z.boolean().default(false),
can_clean: z.boolean().default(false),
can_info: z.boolean().default(false),
can_server: z.boolean().default(false),
can_inviteinfo: z.boolean().default(false),
can_channelinfo: z.boolean().default(false),
can_messageinfo: z.boolean().default(false),
can_userinfo: z.boolean().default(false),
can_roleinfo: z.boolean().default(false),
can_emojiinfo: z.boolean().default(false),
can_snowflake: z.boolean().default(false),
can_reload_guild: z.boolean().default(false),
can_nickname: z.boolean().default(false),
can_ping: z.boolean().default(false),
can_source: z.boolean().default(false),
can_vcmove: z.boolean().default(false),
can_vckick: z.boolean().default(false),
can_help: z.boolean().default(false),
can_about: z.boolean().default(false),
can_context: z.boolean().default(false),
can_jumbo: z.boolean().default(false),
jumbo_size: z.number().default(128),
can_avatar: z.boolean().default(false),
info_on_single_result: z.boolean().default(true),
autojoin_threads: z.boolean().default(true),
});
export interface UtilityPluginType extends BasePluginType {
config: z.infer<typeof zUtilityConfig>;
configSchema: typeof zUtilityConfig;
state: {
logs: GuildLogs;
cases: GuildCases;