Hierarchy (view full)

Implements

Constructors

Properties

application: Application
client: BaseClient<boolean>
config: GuildConfigContainer = ...
configPath: string = ...
configSchemaInfo: string = "https://raw.githubusercontent.com/onesoft-sudo/sudobot/main/config/schema/config.json"
configSchemaPath: string = ...
extensionMetaSchemaPath: string = ...
guildConfigContainerSchema: ZodRecord<ZodString, ZodUnion<[ZodOptional<ZodObject<{
    ai_automod: ZodOptional<ZodObject<{
        actions: ZodDefault<ZodArray<(...), (...)>>;
        automatic_actions: ZodOptional<ZodObject<(...), (...), (...), (...), (...)>>;
        enabled: ZodDefault<ZodOptional<(...)>>;
        evaluate_after_attempts: ZodDefault<ZodNumber>;
        evaluation_cache_expires_in: ZodDefault<ZodNumber>;
        exception_regex_patterns: ZodDefault<ZodArray<(...), (...)>>;
        max_individual_scores: ZodOptional<ZodObject<(...), (...), (...), (...), (...)>>;
        max_single_score: ZodDefault<ZodNumber>;
        max_total_score: ZodDefault<ZodNumber>;
    }, "strip", ZodTypeAny, {
        actions: (
            | (...)
            | (...)
            | (...)
            | (...)
            | (...)
            | (...)
            | (...)
            | (...)
            | (...))[];
        automatic_actions?: {
            enabled: ...;
            stops: ...;
        };
        enabled: boolean;
        evaluate_after_attempts: number;
        evaluation_cache_expires_in: number;
        exception_regex_patterns: ((...) | (...))[];
        max_individual_scores?: {
            flirtation: ...;
            identity_attack: ...;
            incoherent: ...;
            insult: ...;
            obscene: ...;
            profanity: ...;
            severe_toxicity: ...;
            sexually_explicit: ...;
            spam: ...;
            threat: ...;
            toxicity: ...;
            unsubstantial: ...;
        };
        max_single_score: number;
        max_total_score: number;
    }, {
        actions?: (...)[];
        automatic_actions?: {
            enabled?: ...;
            stops?: ...;
        };
        enabled?: boolean;
        evaluate_after_attempts?: number;
        evaluation_cache_expires_in?: number;
        exception_regex_patterns?: (...)[];
        max_individual_scores?: {
            flirtation?: ...;
            identity_attack?: ...;
            incoherent?: ...;
            insult?: ...;
            obscene?: ...;
            profanity?: ...;
            severe_toxicity?: ...;
            sexually_explicit?: ...;
            spam?: ...;
            threat?: ...;
            toxicity?: ...;
            unsubstantial?: ...;
        };
        max_single_score?: number;
        max_total_score?: number;
    }>>;
    anti_member_join: ZodOptional<ZodObject<{
        ban_duration: ZodOptional<ZodNumber>;
        behavior: ZodDefault<ZodEnum<(...)>>;
        custom_reason: ZodOptional<ZodString>;
        enabled: ZodDefault<ZodOptional<(...)>>;
        ignore_bots: ZodDefault<ZodOptional<(...)>>;
    }, "strip", ZodTypeAny, {
        ban_duration?: number;
        behavior: "ban" | "kick";
        custom_reason?: string;
        enabled: boolean;
        ignore_bots: boolean;
    }, {
        ban_duration?: number;
        behavior?: "ban" | "kick";
        custom_reason?: string;
        enabled?: boolean;
        ignore_bots?: boolean;
    }>>;
    antispam: ZodOptional<ZodObject<{
        actions: ZodArray<ZodUnion<(...)>, "many">;
        channels: ZodDefault<ZodObject<(...), (...), (...), (...), (...)>>;
        enabled: ZodDefault<ZodOptional<(...)>>;
        limit: ZodNumber;
        timeframe: ZodNumber;
    }, "strip", ZodTypeAny, {
        actions: (
            | (...)
            | (...)
            | (...)
            | (...)
            | (...)
            | (...)
            | (...)
            | (...)
            | (...))[];
        channels: {
            list: (...)[];
            mode: (...) | (...);
        };
        enabled: boolean;
        limit: number;
        timeframe: number;
    }, {
        actions: (
            | (...)
            | (...)
            | (...)
            | (...)
            | (...)
            | (...)
            | (...)
            | (...)
            | (...))[];
        channels?: {
            list?: ...;
            mode?: ...;
        };
        enabled?: boolean;
        limit: number;
        timeframe: number;
    }>>;
    auto_role: ZodOptional<ZodObject<{
        enabled: ZodDefault<ZodOptional<(...)>>;
        ignore_bots: ZodDefault<ZodOptional<(...)>>;
        roles: ZodDefault<ZodArray<(...), (...)>>;
    }, "strip", ZodTypeAny, {
        enabled: boolean;
        ignore_bots: boolean;
        roles: string[];
    }, {
        enabled?: boolean;
        ignore_bots?: boolean;
        roles?: (...)[];
    }>>;
    auto_triggers: ZodOptional<ZodObject<{
        enabled: ZodDefault<ZodBoolean>;
        global_disabled_channels: ZodDefault<ZodArray<(...), (...)>>;
        triggers: ZodDefault<ZodArray<(...), (...)>>;
    }, "strip", ZodTypeAny, {
        enabled: boolean;
        global_disabled_channels: string[];
        triggers: ((...) | (...))[];
    }, {
        enabled?: boolean;
        global_disabled_channels?: (...)[];
        triggers?: (...)[];
    }>>;
    bump_reminder: ZodOptional<ZodObject<{
        disabled_channels: ZodDefault<ZodArray<(...), (...)>>;
        enabled: ZodOptional<ZodBoolean>;
        on_bump_content: ZodOptional<ZodString>;
        remind_after: ZodDefault<ZodNumber>;
        reminder_content: ZodOptional<ZodString>;
    }, "strip", ZodTypeAny, {
        disabled_channels: string[];
        enabled?: boolean;
        on_bump_content?: string;
        remind_after: number;
        reminder_content?: string;
    }, {
        disabled_channels?: (...)[];
        enabled?: boolean;
        on_bump_content?: string;
        remind_after?: number;
        reminder_content?: string;
    }>>;
    channel_archives: ZodOptional<ZodObject<{
        archive_category: ZodType<string, ZodTypeDef, string>;
        enabled: ZodDefault<ZodOptional<(...)>>;
        ignored_channels: ZodDefault<ZodArray<(...), (...)>>;
    }, "strip", ZodTypeAny, {
        archive_category: string;
        enabled: boolean;
        ignored_channels: string[];
    }, {
        archive_category: string;
        enabled?: boolean;
        ignored_channels?: (...)[];
    }>>;
    commands: ZodDefault<ZodObject<{
        channels: ZodDefault<ZodObject<(...), (...), (...), (...), (...)>>;
        disabled_commands: ZodDefault<ZodArray<(...), (...)>>;
        mention_prefix: ZodDefault<ZodBoolean>;
        moderation_command_behavior: ZodDefault<ZodEnum<(...)>>;
        ratelimiting: ZodOptional<ZodObject<(...), (...), (...), (...), (...)>>;
        rerun_on_edit: ZodDefault<ZodBoolean>;
        respond_on_precondition_fail: ZodDefault<ZodBoolean>;
        troll_command_immune_users: ZodDefault<ZodArray<(...), (...)>>;
    }, "strip", ZodTypeAny, {
        channels: {
            list: (...)[];
            mode: (...) | (...);
        };
        disabled_commands: string[];
        mention_prefix: boolean;
        moderation_command_behavior: "delete" | "default";
        ratelimiting?: {
            block_duration: ...;
            enabled: ...;
            max_attempts: ...;
            overrides: ...;
            timeframe: ...;
        };
        rerun_on_edit: boolean;
        respond_on_precondition_fail: boolean;
        troll_command_immune_users: string[];
    }, {
        channels?: {
            list?: ...;
            mode?: ...;
        };
        disabled_commands?: (...)[];
        mention_prefix?: boolean;
        moderation_command_behavior?: "delete" | "default";
        ratelimiting?: {
            block_duration?: ...;
            enabled?: ...;
            max_attempts?: ...;
            overrides?: ...;
            timeframe?: ...;
        };
        rerun_on_edit?: boolean;
        respond_on_precondition_fail?: boolean;
        troll_command_immune_users?: (...)[];
    }>>;
    debug_mode: ZodDefault<ZodBoolean>;
    echoing: ZodOptional<ZodObject<{
        allow_mentions: ZodDefault<ZodBoolean>;
    }, "strip", ZodTypeAny, {
        allow_mentions: boolean;
    }, {
        allow_mentions?: boolean;
    }>>;
    extensions: ZodOptional<ZodObject<{
        disabled_extensions: ZodDefault<ZodArray<(...), (...)>>;
        enabled: ZodOptional<ZodBoolean>;
        installed_extensions: ZodDefault<ZodArray<(...), (...)>>;
    }, "strip", ZodTypeAny, {
        disabled_extensions: string[];
        enabled?: boolean;
        installed_extensions: string[];
    }, {
        disabled_extensions?: (...)[];
        enabled?: boolean;
        installed_extensions?: (...)[];
    }>>;
    infractions: ZodDefault<ZodObject<{
        dm_fallback: ZodDefault<ZodEnum<(...)>>;
        dm_fallback_channel_expires_in: ZodDefault<ZodOptional<(...)>>;
        dm_fallback_parent_channel: ZodOptional<ZodType<(...), (...), (...)>>;
        points: ZodDefault<ZodObject<(...), (...), (...), (...), (...)>>;
        reason_template_placeholder_wrapper: ZodDefault<ZodString>;
        reason_templates: ZodDefault<ZodRecord<(...), (...)>>;
        send_ids_to_user: ZodDefault<ZodBoolean>;
    }, "strip", ZodTypeAny, {
        dm_fallback: "none" | "create_channel" | "create_thread";
        dm_fallback_channel_expires_in: number;
        dm_fallback_parent_channel?: string;
        points: {
            ban: number;
            clear: number;
            kick: number;
            massban: number;
            masskick: number;
            mod_message: number;
            mute: number;
            note: number;
            role: number;
            softban: number;
            tempban: number;
            timeout: number;
            unban: number;
            warning: number;
        };
        reason_template_placeholder_wrapper: string;
        reason_templates: Record<string, string>;
        send_ids_to_user: boolean;
    }, {
        dm_fallback?: "none" | "create_channel" | "create_thread";
        dm_fallback_channel_expires_in?: number;
        dm_fallback_parent_channel?: string;
        points?: {
            ban?: ...;
            clear?: ...;
            kick?: ...;
            massban?: ...;
            masskick?: ...;
            mod_message?: ...;
            mute?: ...;
            note?: ...;
            role?: ...;
            softban?: ...;
            tempban?: ...;
            timeout?: ...;
            unban?: ...;
            warning?: ...;
        };
        reason_template_placeholder_wrapper?: string;
        reason_templates?: Record<(...), (...)>;
        send_ids_to_user?: boolean;
    }>>;
    logging: ZodOptional<ZodObject<{
        bulk_delete_send_json: ZodDefault<ZodBoolean>;
        default_enabled: ZodDefault<ZodBoolean>;
        enabled: ZodDefault<ZodBoolean>;
        exclusions: ZodDefault<ZodArray<(...), (...)>>;
        global_ignored_channels: ZodDefault<ZodArray<(...), (...)>>;
        hooks: ZodDefault<ZodRecord<(...), (...)>>;
        overrides: ZodDefault<ZodArray<(...), (...)>>;
        primary_channel: ZodOptional<ZodType<(...), (...), (...)>>;
        unsubscribed_events: ZodDefault<ZodArray<(...), (...)>>;
    }, "strip", ZodTypeAny, {
        bulk_delete_send_json: boolean;
        default_enabled: boolean;
        enabled: boolean;
        exclusions: {
            events?: ...;
            mode: ...;
            snowflakes: ...;
            type: ...;
        }[];
        global_ignored_channels: string[];
        hooks: Record<string, string>;
        overrides: ((...) | (...))[];
        primary_channel?: string;
        unsubscribed_events: LogEventType[];
    }, {
        bulk_delete_send_json?: boolean;
        default_enabled?: boolean;
        enabled?: boolean;
        exclusions?: (...)[];
        global_ignored_channels?: (...)[];
        hooks?: Record<(...), (...)>;
        overrides?: (...)[];
        primary_channel?: string;
        unsubscribed_events?: (...)[];
    }>>;
    member_verification: ZodOptional<ZodObject<{
        channel: ZodOptional<ZodType<(...), (...), (...)>>;
        conditions: ZodObject<{
            age_less_than: ...;
            always: ...;
            no_avatar: ...;
        }, "strip", ZodTypeAny, {
            age_less_than?: ...;
            always: ...;
            no_avatar?: ...;
        }, {
            age_less_than?: ...;
            always?: ...;
            no_avatar?: ...;
        }>;
        enabled: ZodDefault<ZodOptional<(...)>>;
        expired_actions: ZodDefault<ZodArray<(...), (...)>>;
        max_duration: ZodOptional<ZodNumber>;
        method: ZodDefault<ZodEnum<(...)>>;
        success_message: ZodOptional<ZodString>;
        unverified_roles: ZodDefault<ZodArray<(...), (...)>>;
        verification_message: ZodOptional<ZodString>;
        verified_roles: ZodDefault<ZodArray<(...), (...)>>;
    }, "strip", ZodTypeAny, {
        channel?: string;
        conditions: {
            age_less_than?: (...) | (...);
            always: boolean;
            no_avatar?: (...) | (...) | (...);
        };
        enabled: boolean;
        expired_actions: (
            | (...)
            | (...)
            | (...)
            | (...)
            | (...)
            | (...)
            | (...)
            | (...)
            | (...))[];
        max_duration?: number;
        method: "channel_interaction" | "dm_interaction";
        success_message?: string;
        unverified_roles: string[];
        verification_message?: string;
        verified_roles: string[];
    }, {
        channel?: string;
        conditions: {
            age_less_than?: (...) | (...);
            always?: (...) | (...) | (...);
            no_avatar?: (...) | (...) | (...);
        };
        enabled?: boolean;
        expired_actions?: (...)[];
        max_duration?: number;
        method?: "channel_interaction" | "dm_interaction";
        success_message?: string;
        unverified_roles?: (...)[];
        verification_message?: string;
        verified_roles?: (...)[];
    }>>;
    message_reporting: ZodOptional<ZodObject<{
        action_required_permissions: ZodDefault<ZodObject<(...), (...), (...), (...), (...)>>;
        enabled: ZodDefault<ZodBoolean>;
        logging_channel: ZodOptional<ZodType<(...), (...), (...)>>;
        permission_level: ZodOptional<ZodDefault<(...)>>;
        permissions: ZodDefault<ZodArray<(...), (...)>>;
        roles: ZodDefault<ZodArray<(...), (...)>>;
        users: ZodDefault<ZodArray<(...), (...)>>;
    }, "strip", ZodTypeAny, {
        action_required_permissions: {
            ban: (...)[];
            ignore: (...)[];
            kick: (...)[];
            mute: (...)[];
            warn: (...)[];
        };
        enabled: boolean;
        logging_channel?: string;
        permission_level?: number;
        permissions: string[];
        roles: string[];
        users: string[];
    }, {
        action_required_permissions?: {
            ban?: ...;
            ignore?: ...;
            kick?: ...;
            mute?: ...;
            warn?: ...;
        };
        enabled?: boolean;
        logging_channel?: string;
        permission_level?: number;
        permissions?: (...)[];
        roles?: (...)[];
        users?: (...)[];
    }>>;
    muting: ZodOptional<ZodObject<{
        role: ZodOptional<ZodType<(...), (...), (...)>>;
    }, "strip", ZodTypeAny, {
        role?: string;
    }, {
        role?: string;
    }>>;
    permissions: ZodDefault<ZodOptional<ZodObject<{
        check_discord_permissions: ZodDefault<(...)>;
        command_permission_mode: ZodOptional<(...)>;
        invincible: ZodOptional<(...)>;
        mode: ZodOptional<(...)>;
    }, "strip", ZodTypeAny, {
        check_discord_permissions:
            | (...)
            | (...)
            | (...)
            | (...);
        command_permission_mode?:
            | (...)
            | (...)
            | (...)
            | (...);
        invincible?: (...) | (...);
        mode?:
            | (...)
            | (...)
            | (...)
            | (...);
    }, {
        check_discord_permissions?:
            | (...)
            | (...)
            | (...)
            | (...)
            | (...);
        command_permission_mode?:
            | (...)
            | (...)
            | (...)
            | (...);
        invincible?: (...) | (...);
        mode?:
            | (...)
            | (...)
            | (...)
            | (...);
    }>>>;
    prefix: ZodDefault<ZodString>;
    quick_mute: ZodOptional<ZodObject<{
        default_duration: ZodOptional<ZodDefault<(...)>>;
        enabled: ZodDefault<ZodOptional<(...)>>;
        mute_clear_emoji: ZodOptional<ZodString>;
        mute_emoji: ZodOptional<ZodString>;
        reason: ZodOptional<ZodString>;
    }, "strip", ZodTypeAny, {
        default_duration?: number;
        enabled: boolean;
        mute_clear_emoji?: string;
        mute_emoji?: string;
        reason?: string;
    }, {
        default_duration?: number;
        enabled?: boolean;
        mute_clear_emoji?: string;
        mute_emoji?: string;
        reason?: string;
    }>>;
    raid_protection: ZodOptional<ZodObject<{
        action: ZodDefault<ZodEnum<(...)>>;
        channel_mode: ZodDefault<ZodEnum<(...)>>;
        channels: ZodDefault<ZodArray<(...), (...)>>;
        enabled: ZodDefault<ZodOptional<(...)>>;
        member_actions: ZodDefault<ZodArray<(...), (...)>>;
        send_log: ZodDefault<ZodOptional<(...)>>;
        threshold: ZodDefault<ZodNumber>;
        timeframe: ZodDefault<ZodNumber>;
    }, "strip", ZodTypeAny, {
        action:
            | "none"
            | "lock"
            | "lock_and_antijoin"
            | "antijoin"
            | "auto";
        channel_mode: "exclude" | "include";
        channels: string[];
        enabled: boolean;
        member_actions: (
            | (...)
            | (...)
            | (...)
            | (...)
            | (...)
            | (...)
            | (...)
            | (...)
            | (...))[];
        send_log: boolean;
        threshold: number;
        timeframe: number;
    }, {
        action?:
            | "none"
            | "lock"
            | "lock_and_antijoin"
            | "antijoin"
            | "auto";
        channel_mode?: "exclude" | "include";
        channels?: (...)[];
        enabled?: boolean;
        member_actions?: (...)[];
        send_log?: boolean;
        threshold?: number;
        timeframe?: number;
    }>>;
    reaction_roles: ZodOptional<ZodObject<{
        enabled: ZodDefault<ZodOptional<(...)>>;
        ignore_bots: ZodDefault<ZodOptional<(...)>>;
        ratelimiting: ZodOptional<ZodObject<(...), (...), (...), (...), (...)>>;
    }, "strip", ZodTypeAny, {
        enabled: boolean;
        ignore_bots: boolean;
        ratelimiting?: {
            block_duration: ...;
            enabled: ...;
            max_attempts: ...;
            timeframe: ...;
        };
    }, {
        enabled?: boolean;
        ignore_bots?: boolean;
        ratelimiting?: {
            block_duration?: ...;
            enabled?: ...;
            max_attempts?: ...;
            timeframe?: ...;
        };
    }>>;
    rule_moderation: ZodOptional<ZodObject<{
        enabled: ZodDefault<ZodBoolean>;
        global_disabled_channels: ZodDefault<ZodArray<(...), (...)>>;
        rules: ZodDefault<ZodArray<(...), (...)>>;
    }, "strip", ZodTypeAny, {
        enabled: boolean;
        global_disabled_channels: string[];
        rules: (
            | (...)
            | (...)
            | (...)
            | (...)
            | (...)
            | (...)
            | (...)
            | (...)
            | (...)
            | (...)
            | (...)
            | (...)
            | (...)
            | (...)
            | (...))[];
    }, {
        enabled?: boolean;
        global_disabled_channels?: (...)[];
        rules?: (...)[];
    }>>;
    survey_system: ZodOptional<ZodObject<{
        default_log_channel: ZodOptional<ZodType<(...), (...), (...)>>;
        enabled: ZodDefault<ZodBoolean>;
        surveys: ZodDefault<ZodRecord<(...), (...)>>;
    }, "strip", ZodTypeAny, {
        default_log_channel?: string;
        enabled: boolean;
        surveys: Record<string, {
            description?: ...;
            end_message?: ...;
            log_channel?: ...;
            name: ...;
            questions: ...;
            required_channels: ...;
            required_permissions: ...;
            required_roles: ...;
            required_users: ...;
        }>;
    }, {
        default_log_channel?: string;
        enabled?: boolean;
        surveys?: Record<(...), (...)>;
    }>>;
    welcomer: ZodOptional<ZodObject<{
        channel: ZodType<string, ZodTypeDef, string>;
        custom_message: ZodOptional<ZodString>;
        delete_after: ZodOptional<ZodNumber>;
        enabled: ZodDefault<ZodBoolean>;
        force_embeds: ZodDefault<ZodBoolean>;
        forced_embed_color: ZodOptional<ZodNumber>;
        mention: ZodDefault<ZodOptional<(...)>>;
        randomize: ZodDefault<ZodOptional<(...)>>;
        say_hi_button: ZodOptional<ZodObject<(...), (...), (...), (...), (...)>>;
    }, "strip", ZodTypeAny, {
        channel: string;
        custom_message?: string;
        delete_after?: number;
        enabled: boolean;
        force_embeds: boolean;
        forced_embed_color?: number;
        mention: boolean;
        randomize: boolean;
        say_hi_button?: {
            emoji: ...;
            enabled: ...;
            expire_after: ...;
            label: ...;
            reply: ...;
        };
    }, {
        channel: string;
        custom_message?: string;
        delete_after?: number;
        enabled?: boolean;
        force_embeds?: boolean;
        forced_embed_color?: number;
        mention?: boolean;
        randomize?: boolean;
        say_hi_button?: {
            emoji?: ...;
            enabled?: ...;
            expire_after?: ...;
            label?: ...;
            reply?: ...;
        };
    }>>;
}, "strip", ZodTypeAny, {
    ai_automod?: {
        actions: (
            | {
                delete_timeframe?: ...;
                duration?: ...;
                notify?: ...;
                reason?: ...;
                type: ...;
            }
            | {
                notify?: ...;
                reason?: ...;
                type: ...;
            }
            | {
                duration?: ...;
                notify?: ...;
                reason?: ...;
                type: ...;
            }
            | {
                duration?: ...;
                mode: ...;
                notify?: ...;
                reason?: ...;
                roles: ...;
                type: ...;
            }
            | {
                type: ...;
            }
            | {
                notify?: ...;
                reason?: ...;
                type: ...;
            }
            | {
                notify: ...;
                reason?: ...;
                type: ...;
            }
            | {
                count: ...;
                notify?: ...;
                reason?: ...;
                type: ...;
            }
            | {
                type: ...;
            })[];
        automatic_actions?: {
            enabled: boolean;
            stops: Record<(...), (...)>;
        };
        enabled: boolean;
        evaluate_after_attempts: number;
        evaluation_cache_expires_in: number;
        exception_regex_patterns: (string | [(...), (...)])[];
        max_individual_scores?: {
            flirtation: number;
            identity_attack: number;
            incoherent: number;
            insult: number;
            obscene: number;
            profanity: number;
            severe_toxicity: number;
            sexually_explicit: number;
            spam: number;
            threat: number;
            toxicity: number;
            unsubstantial: number;
        };
        max_single_score: number;
        max_total_score: number;
    };
    anti_member_join?: {
        ban_duration?: number;
        behavior: "ban" | "kick";
        custom_reason?: string;
        enabled: boolean;
        ignore_bots: boolean;
    };
    antispam?: {
        actions: (
            | {
                delete_timeframe?: ...;
                duration?: ...;
                notify?: ...;
                reason?: ...;
                type: ...;
            }
            | {
                notify?: ...;
                reason?: ...;
                type: ...;
            }
            | {
                duration?: ...;
                notify?: ...;
                reason?: ...;
                type: ...;
            }
            | {
                duration?: ...;
                mode: ...;
                notify?: ...;
                reason?: ...;
                roles: ...;
                type: ...;
            }
            | {
                type: ...;
            }
            | {
                notify?: ...;
                reason?: ...;
                type: ...;
            }
            | {
                notify: ...;
                reason?: ...;
                type: ...;
            }
            | {
                count: ...;
                notify?: ...;
                reason?: ...;
                type: ...;
            }
            | {
                type: ...;
            })[];
        channels: {
            list: string[];
            mode: "exclude" | "include";
        };
        enabled: boolean;
        limit: number;
        timeframe: number;
    };
    auto_role?: {
        enabled: boolean;
        ignore_bots: boolean;
        roles: string[];
    };
    auto_triggers?: {
        enabled: boolean;
        global_disabled_channels: string[];
        triggers: ({
            buttons: ...;
            enabled_channels: ...;
            ignore_roles: ...;
            ignore_users: ...;
            message: ...;
            type: ...;
        } | {
            action: ...;
            enabled_channels: ...;
            ignore_roles: ...;
            ignore_users: ...;
            must_contain: ...;
            must_not_contain: ...;
            roles: ...;
            type: ...;
        })[];
    };
    bump_reminder?: {
        disabled_channels: string[];
        enabled?: boolean;
        on_bump_content?: string;
        remind_after: number;
        reminder_content?: string;
    };
    channel_archives?: {
        archive_category: string;
        enabled: boolean;
        ignored_channels: string[];
    };
    commands: {
        channels: {
            list: string[];
            mode: "exclude" | "include";
        };
        disabled_commands: string[];
        mention_prefix: boolean;
        moderation_command_behavior: "delete" | "default";
        ratelimiting?: {
            block_duration: number;
            enabled: boolean;
            max_attempts: number;
            overrides: Record<string, {
                block_duration: ...;
                enabled: ...;
                max_attempts: ...;
                timeframe: ...;
            }>;
            timeframe: number;
        };
        rerun_on_edit: boolean;
        respond_on_precondition_fail: boolean;
        troll_command_immune_users: string[];
    };
    debug_mode: boolean;
    echoing?: {
        allow_mentions: boolean;
    };
    extensions?: {
        disabled_extensions: string[];
        enabled?: boolean;
        installed_extensions: string[];
    };
    infractions: {
        dm_fallback: "none" | "create_channel" | "create_thread";
        dm_fallback_channel_expires_in: number;
        dm_fallback_parent_channel?: string;
        points: {
            ban: number;
            clear: number;
            kick: number;
            massban: number;
            masskick: number;
            mod_message: number;
            mute: number;
            note: number;
            role: number;
            softban: number;
            tempban: number;
            timeout: number;
            unban: number;
            warning: number;
        };
        reason_template_placeholder_wrapper: string;
        reason_templates: Record<string, string>;
        send_ids_to_user: boolean;
    };
    logging?: {
        bulk_delete_send_json: boolean;
        default_enabled: boolean;
        enabled: boolean;
        exclusions: {
            events?: (...) | (...);
            mode: (...) | (...);
            snowflakes: (...)[];
            type: (...) | (...) | (...);
        }[];
        global_ignored_channels: string[];
        hooks: Record<string, string>;
        overrides: ({
            channel: ...;
            enabled: ...;
            events: ...;
        } | {
            enabled: ...;
            events: ...;
        })[];
        primary_channel?: string;
        unsubscribed_events: LogEventType[];
    };
    member_verification?: {
        channel?: string;
        conditions: {
            age_less_than?: number;
            always: boolean;
            no_avatar?: boolean;
        };
        enabled: boolean;
        expired_actions: (
            | {
                delete_timeframe?: ...;
                duration?: ...;
                notify?: ...;
                reason?: ...;
                type: ...;
            }
            | {
                notify?: ...;
                reason?: ...;
                type: ...;
            }
            | {
                duration?: ...;
                notify?: ...;
                reason?: ...;
                type: ...;
            }
            | {
                duration?: ...;
                mode: ...;
                notify?: ...;
                reason?: ...;
                roles: ...;
                type: ...;
            }
            | {
                type: ...;
            }
            | {
                notify?: ...;
                reason?: ...;
                type: ...;
            }
            | {
                notify: ...;
                reason?: ...;
                type: ...;
            }
            | {
                count: ...;
                notify?: ...;
                reason?: ...;
                type: ...;
            }
            | {
                type: ...;
            })[];
        max_duration?: number;
        method: "channel_interaction" | "dm_interaction";
        success_message?: string;
        unverified_roles: string[];
        verification_message?: string;
        verified_roles: string[];
    };
    message_reporting?: {
        action_required_permissions: {
            ban: string[];
            ignore: string[];
            kick: string[];
            mute: string[];
            warn: string[];
        };
        enabled: boolean;
        logging_channel?: string;
        permission_level?: number;
        permissions: string[];
        roles: string[];
        users: string[];
    };
    muting?: {
        role?: string;
    };
    permissions: {
        check_discord_permissions:
            | "never"
            | "always"
            | "during_automod"
            | "during_manual_actions";
        command_permission_mode?: "ignore" | "overwrite" | "check";
        invincible?: {
            roles: string[];
            users: string[];
        };
        mode?: "discord" | "levels" | "layered";
    };
    prefix: string;
    quick_mute?: {
        default_duration?: number;
        enabled: boolean;
        mute_clear_emoji?: string;
        mute_emoji?: string;
        reason?: string;
    };
    raid_protection?: {
        action:
            | "none"
            | "lock"
            | "lock_and_antijoin"
            | "antijoin"
            | "auto";
        channel_mode: "exclude" | "include";
        channels: string[];
        enabled: boolean;
        member_actions: (
            | {
                delete_timeframe?: ...;
                duration?: ...;
                notify?: ...;
                reason?: ...;
                type: ...;
            }
            | {
                notify?: ...;
                reason?: ...;
                type: ...;
            }
            | {
                duration?: ...;
                notify?: ...;
                reason?: ...;
                type: ...;
            }
            | {
                duration?: ...;
                mode: ...;
                notify?: ...;
                reason?: ...;
                roles: ...;
                type: ...;
            }
            | {
                type: ...;
            }
            | {
                notify?: ...;
                reason?: ...;
                type: ...;
            }
            | {
                notify: ...;
                reason?: ...;
                type: ...;
            }
            | {
                count: ...;
                notify?: ...;
                reason?: ...;
                type: ...;
            }
            | {
                type: ...;
            })[];
        send_log: boolean;
        threshold: number;
        timeframe: number;
    };
    reaction_roles?: {
        enabled: boolean;
        ignore_bots: boolean;
        ratelimiting?: {
            block_duration: number;
            enabled: boolean;
            max_attempts: number;
            timeframe: number;
        };
    };
    rule_moderation?: {
        enabled: boolean;
        global_disabled_channels: string[];
        rules: (
            | {
                actions: ...;
                bail: ...;
                bypasses: ...;
                domains: ...;
                enabled: ...;
                exceptions?: ...;
                for?: ...;
                is_bypasser: ...;
                mode: ...;
                name: ...;
                scan_links_only: ...;
                type: ...;
            }
            | {
                actions: ...;
                bail: ...;
                bypasses: ...;
                data: ...;
                enabled: ...;
                exceptions?: ...;
                for?: ...;
                is_bypasser: ...;
                mode: ...;
                name: ...;
                type: ...;
            }
            | {
                actions: ...;
                bail: ...;
                bypasses: ...;
                data: ...;
                enabled: ...;
                exceptions?: ...;
                for?: ...;
                is_bypasser: ...;
                mode: ...;
                name: ...;
                type: ...;
            }
            | {
                actions: ...;
                allow_internal_invites: ...;
                allowed_invite_codes: ...;
                bail: ...;
                bypasses: ...;
                enabled: ...;
                exceptions?: ...;
                for?: ...;
                is_bypasser: ...;
                mode: ...;
                name: ...;
                type: ...;
            }
            | {
                actions: ...;
                bail: ...;
                bypasses: ...;
                enabled: ...;
                exceptions?: ...;
                for?: ...;
                is_bypasser: ...;
                mode: ...;
                name: ...;
                patterns: ...;
                type: ...;
            }
            | {
                actions: ...;
                bail: ...;
                bypasses: ...;
                enabled: ...;
                exceptions?: ...;
                for?: ...;
                is_bypasser: ...;
                max_repeated_chars: ...;
                max_repeated_words: ...;
                mode: ...;
                name: ...;
                type: ...;
            }
            | {
                actions: ...;
                bail: ...;
                bypasses: ...;
                enabled: ...;
                exceptions?: ...;
                for?: ...;
                is_bypasser: ...;
                max_mentions: ...;
                max_role_mentions: ...;
                max_user_mentions: ...;
                mode: ...;
                name: ...;
                type: ...;
            }
            | {
                actions: ...;
                bail: ...;
                bypasses: ...;
                enabled: ...;
                exceptions?: ...;
                for?: ...;
                inherit_from_word_filter: ...;
                is_bypasser: ...;
                mode: ...;
                name: ...;
                scan_embeds: ...;
                tokens: ...;
                type: ...;
                words: ...;
            }
            | {
                actions: ...;
                bail: ...;
                bypasses: ...;
                enabled: ...;
                exceptions?: ...;
                for?: ...;
                inherit_from_word_filter: ...;
                is_bypasser: ...;
                mode: ...;
                name: ...;
                tokens: ...;
                type: ...;
                words: ...;
            }
            | {
                actions: ...;
                bail: ...;
                bypasses: ...;
                enabled: ...;
                exceptions?: ...;
                excluded_domains_regex: ...;
                excluded_link_regex: ...;
                excluded_links: ...;
                for?: ...;
                is_bypasser: ...;
                mode: ...;
                name: ...;
                tokens: ...;
                type: ...;
                words: ...;
            }
            | {
                actions: ...;
                bail: ...;
                bypasses: ...;
                enabled: ...;
                exceptions?: ...;
                for?: ...;
                is_bypasser: ...;
                mode: ...;
                name: ...;
                score_thresholds: ...;
                type: ...;
            }
            | {
                actions: ...;
                bail: ...;
                bypasses: ...;
                enabled: ...;
                exceptions?: ...;
                for?: ...;
                is_bypasser: ...;
                mode: ...;
                name: ...;
                normalize: ...;
                tokens: ...;
                type: ...;
                words: ...;
            }
            | {
                actions: ...;
                bail: ...;
                bypasses: ...;
                check_mime_types: ...;
                enabled: ...;
                exceptions?: ...;
                for?: ...;
                hashes: ...;
                is_bypasser: ...;
                mode: ...;
                name: ...;
                type: ...;
            }
            | {
                actions: ...;
                bail: ...;
                bypasses: ...;
                enabled: ...;
                exceptions?: ...;
                flirtation_threshold: ...;
                for?: ...;
                identity_attack_threshold: ...;
                insult_threshold: ...;
                is_bypasser: ...;
                mode: ...;
                name: ...;
                profanity_threshold: ...;
                severe_toxicity_threshold: ...;
                sexual_explicit_threshold: ...;
                threat_threshold: ...;
                toxicity_threshold: ...;
                type: ...;
            }
            | {
                actions: ...;
                bail: ...;
                bypasses: ...;
                enabled: ...;
                exceptions?: ...;
                for?: ...;
                is_bypasser: ...;
                mode: ...;
                name: ...;
                normalize: ...;
                regex_patterns: ...;
                tokens: ...;
                type: ...;
                words: ...;
            })[];
    };
    survey_system?: {
        default_log_channel?: string;
        enabled: boolean;
        surveys: Record<string, {
            description?: (...) | (...);
            end_message?: (...) | (...);
            log_channel?: (...) | (...);
            name: string;
            questions: [(...), ...(...)[]];
            required_channels: (...)[];
            required_permissions: (...)[];
            required_roles: (...)[];
            required_users: (...)[];
        }>;
    };
    welcomer?: {
        channel: string;
        custom_message?: string;
        delete_after?: number;
        enabled: boolean;
        force_embeds: boolean;
        forced_embed_color?: number;
        mention: boolean;
        randomize: boolean;
        say_hi_button?: {
            emoji: string;
            enabled: boolean;
            expire_after: (...) | (...);
            label: string;
            reply: string;
        };
    };
}, {
    ai_automod?: {
        actions?: (
            | (...)
            | (...)
            | (...)
            | (...)
            | (...)
            | (...)
            | (...)
            | (...)
            | (...))[];
        automatic_actions?: {
            enabled?: (...) | (...) | (...);
            stops?: (...) | (...);
        };
        enabled?: boolean;
        evaluate_after_attempts?: number;
        evaluation_cache_expires_in?: number;
        exception_regex_patterns?: ((...) | (...))[];
        max_individual_scores?: {
            flirtation?: (...) | (...);
            identity_attack?: (...) | (...);
            incoherent?: (...) | (...);
            insult?: (...) | (...);
            obscene?: (...) | (...);
            profanity?: (...) | (...);
            severe_toxicity?: (...) | (...);
            sexually_explicit?: (...) | (...);
            spam?: (...) | (...);
            threat?: (...) | (...);
            toxicity?: (...) | (...);
            unsubstantial?: (...) | (...);
        };
        max_single_score?: number;
        max_total_score?: number;
    };
    anti_member_join?: {
        ban_duration?: number;
        behavior?: "ban" | "kick";
        custom_reason?: string;
        enabled?: boolean;
        ignore_bots?: boolean;
    };
    antispam?: {
        actions: (
            | {
                delete_timeframe?: ...;
                duration?: ...;
                notify?: ...;
                reason?: ...;
                type: ...;
            }
            | {
                notify?: ...;
                reason?: ...;
                type: ...;
            }
            | {
                duration?: ...;
                notify?: ...;
                reason?: ...;
                type: ...;
            }
            | {
                duration?: ...;
                mode: ...;
                notify?: ...;
                reason?: ...;
                roles: ...;
                type: ...;
            }
            | {
                type: ...;
            }
            | {
                notify?: ...;
                reason?: ...;
                type: ...;
            }
            | {
                notify?: ...;
                reason?: ...;
                type: ...;
            }
            | {
                count?: ...;
                notify?: ...;
                reason?: ...;
                type: ...;
            }
            | {
                type: ...;
            })[];
        channels?: {
            list?: (...) | (...);
            mode?: (...) | (...) | (...);
        };
        enabled?: boolean;
        limit: number;
        timeframe: number;
    };
    auto_role?: {
        enabled?: boolean;
        ignore_bots?: boolean;
        roles?: string[];
    };
    auto_triggers?: {
        enabled?: boolean;
        global_disabled_channels?: string[];
        triggers?: ((...) | (...))[];
    };
    bump_reminder?: {
        disabled_channels?: string[];
        enabled?: boolean;
        on_bump_content?: string;
        remind_after?: number;
        reminder_content?: string;
    };
    channel_archives?: {
        archive_category: string;
        enabled?: boolean;
        ignored_channels?: string[];
    };
    commands?: {
        channels?: {
            list?: (...) | (...);
            mode?: (...) | (...) | (...);
        };
        disabled_commands?: string[];
        mention_prefix?: boolean;
        moderation_command_behavior?: "delete" | "default";
        ratelimiting?: {
            block_duration?: (...) | (...);
            enabled?: (...) | (...) | (...);
            max_attempts?: (...) | (...);
            overrides?: (...) | (...);
            timeframe?: (...) | (...);
        };
        rerun_on_edit?: boolean;
        respond_on_precondition_fail?: boolean;
        troll_command_immune_users?: string[];
    };
    debug_mode?: boolean;
    echoing?: {
        allow_mentions?: boolean;
    };
    extensions?: {
        disabled_extensions?: string[];
        enabled?: boolean;
        installed_extensions?: string[];
    };
    infractions?: {
        dm_fallback?: "none" | "create_channel" | "create_thread";
        dm_fallback_channel_expires_in?: number;
        dm_fallback_parent_channel?: string;
        points?: {
            ban?: (...) | (...);
            clear?: (...) | (...);
            kick?: (...) | (...);
            massban?: (...) | (...);
            masskick?: (...) | (...);
            mod_message?: (...) | (...);
            mute?: (...) | (...);
            note?: (...) | (...);
            role?: (...) | (...);
            softban?: (...) | (...);
            tempban?: (...) | (...);
            timeout?: (...) | (...);
            unban?: (...) | (...);
            warning?: (...) | (...);
        };
        reason_template_placeholder_wrapper?: string;
        reason_templates?: Record<string, string>;
        send_ids_to_user?: boolean;
    };
    logging?: {
        bulk_delete_send_json?: boolean;
        default_enabled?: boolean;
        enabled?: boolean;
        exclusions?: {
            events?: ...;
            mode?: ...;
            snowflakes: ...;
            type: ...;
        }[];
        global_ignored_channels?: string[];
        hooks?: Record<string, string>;
        overrides?: ((...) | (...))[];
        primary_channel?: string;
        unsubscribed_events?: LogEventType[];
    };
    member_verification?: {
        channel?: string;
        conditions: {
            age_less_than?: number;
            always?: boolean;
            no_avatar?: boolean;
        };
        enabled?: boolean;
        expired_actions?: (
            | (...)
            | (...)
            | (...)
            | (...)
            | (...)
            | (...)
            | (...)
            | (...)
            | (...))[];
        max_duration?: number;
        method?: "channel_interaction" | "dm_interaction";
        success_message?: string;
        unverified_roles?: string[];
        verification_message?: string;
        verified_roles?: string[];
    };
    message_reporting?: {
        action_required_permissions?: {
            ban?: (...) | (...);
            ignore?: (...) | (...);
            kick?: (...) | (...);
            mute?: (...) | (...);
            warn?: (...) | (...);
        };
        enabled?: boolean;
        logging_channel?: string;
        permission_level?: number;
        permissions?: string[];
        roles?: string[];
        users?: string[];
    };
    muting?: {
        role?: string;
    };
    permissions?: {
        check_discord_permissions?:
            | "never"
            | "always"
            | "during_automod"
            | "during_manual_actions";
        command_permission_mode?: "ignore" | "overwrite" | "check";
        invincible?: {
            roles?: (...) | (...);
            users?: (...) | (...);
        };
        mode?: "discord" | "levels" | "layered";
    };
    prefix?: string;
    quick_mute?: {
        default_duration?: number;
        enabled?: boolean;
        mute_clear_emoji?: string;
        mute_emoji?: string;
        reason?: string;
    };
    raid_protection?: {
        action?:
            | "none"
            | "lock"
            | "lock_and_antijoin"
            | "antijoin"
            | "auto";
        channel_mode?: "exclude" | "include";
        channels?: string[];
        enabled?: boolean;
        member_actions?: (
            | (...)
            | (...)
            | (...)
            | (...)
            | (...)
            | (...)
            | (...)
            | (...)
            | (...))[];
        send_log?: boolean;
        threshold?: number;
        timeframe?: number;
    };
    reaction_roles?: {
        enabled?: boolean;
        ignore_bots?: boolean;
        ratelimiting?: {
            block_duration?: (...) | (...);
            enabled?: (...) | (...) | (...);
            max_attempts?: (...) | (...);
            timeframe?: (...) | (...);
        };
    };
    rule_moderation?: {
        enabled?: boolean;
        global_disabled_channels?: string[];
        rules?: (
            | (...)
            | (...)
            | (...)
            | (...)
            | (...)
            | (...)
            | (...)
            | (...)
            | (...)
            | (...)
            | (...)
            | (...)
            | (...)
            | (...)
            | (...))[];
    };
    survey_system?: {
        default_log_channel?: string;
        enabled?: boolean;
        surveys?: Record<string, {
            description?: ...;
            end_message?: ...;
            log_channel?: ...;
            name: ...;
            questions: ...;
            required_channels?: ...;
            required_permissions?: ...;
            required_roles?: ...;
            required_users?: ...;
        }>;
    };
    welcomer?: {
        channel: string;
        custom_message?: string;
        delete_after?: number;
        enabled?: boolean;
        force_embeds?: boolean;
        forced_embed_color?: number;
        mention?: boolean;
        randomize?: boolean;
        say_hi_button?: {
            emoji?: (...) | (...);
            enabled?: (...) | (...) | (...);
            expire_after?: (...) | (...) | (...);
            label?: (...) | (...);
            reply?: (...) | (...);
        };
    };
}>>, ZodUndefined]>> = ...
guildConfigSchema: ZodObject<{
    ai_automod: ZodOptional<ZodObject<{
        actions: ZodDefault<ZodArray<ZodUnion<[ZodObject<{
            delete_timeframe: ...;
            duration: ...;
            notify: ...;
            reason: ...;
            type: ...;
        }, "strip", ZodTypeAny, {
            delete_timeframe?: ...;
            duration?: ...;
            notify?: ...;
            reason?: ...;
            type: ...;
        }, {
            delete_timeframe?: ...;
            duration?: ...;
            notify?: ...;
            reason?: ...;
            type: ...;
        }>, ZodObject<{
            notify: ...;
            reason: ...;
            type: ...;
        }, "strip", ZodTypeAny, {
            notify?: ...;
            reason?: ...;
            type: ...;
        }, {
            notify?: ...;
            reason?: ...;
            type: ...;
        }>, ZodObject<{
            duration: ...;
            notify: ...;
            reason: ...;
            type: ...;
        }, "strip", ZodTypeAny, {
            duration?: ...;
            notify?: ...;
            reason?: ...;
            type: ...;
        }, {
            duration?: ...;
            notify?: ...;
            reason?: ...;
            type: ...;
        }>]>, "many">>;
        automatic_actions: ZodOptional<ZodObject<{
            enabled: ZodDefault<ZodBoolean>;
            stops: ZodDefault<ZodRecord<ZodUnion<(...)>, ZodArray<(...), (...)>>>;
        }, "strip", ZodTypeAny, {
            enabled: boolean;
            stops: Record<string, (
                | (...)
                | (...)
                | (...)
                | (...)
                | (...)
                | (...)
                | (...)
                | (...)
                | (...))[]>;
        }, {
            enabled?: boolean;
            stops?: Record<string, (...)[]>;
        }>>;
        enabled: ZodDefault<ZodOptional<ZodBoolean>>;
        evaluate_after_attempts: ZodDefault<ZodNumber>;
        evaluation_cache_expires_in: ZodDefault<ZodNumber>;
        exception_regex_patterns: ZodDefault<ZodArray<ZodUnion<[ZodString, ZodTuple<[(...), (...)], null>]>, "many">>;
        max_individual_scores: ZodOptional<ZodObject<{
            flirtation: ZodDefault<ZodNumber>;
            identity_attack: ZodDefault<ZodNumber>;
            incoherent: ZodDefault<ZodNumber>;
            insult: ZodDefault<ZodNumber>;
            obscene: ZodDefault<ZodNumber>;
            profanity: ZodDefault<ZodNumber>;
            severe_toxicity: ZodDefault<ZodNumber>;
            sexually_explicit: ZodDefault<ZodNumber>;
            spam: ZodDefault<ZodNumber>;
            threat: ZodDefault<ZodNumber>;
            toxicity: ZodDefault<ZodNumber>;
            unsubstantial: ZodDefault<ZodNumber>;
        }, "strip", ZodTypeAny, {
            flirtation: number;
            identity_attack: number;
            incoherent: number;
            insult: number;
            obscene: number;
            profanity: number;
            severe_toxicity: number;
            sexually_explicit: number;
            spam: number;
            threat: number;
            toxicity: number;
            unsubstantial: number;
        }, {
            flirtation?: number;
            identity_attack?: number;
            incoherent?: number;
            insult?: number;
            obscene?: number;
            profanity?: number;
            severe_toxicity?: number;
            sexually_explicit?: number;
            spam?: number;
            threat?: number;
            toxicity?: number;
            unsubstantial?: number;
        }>>;
        max_single_score: ZodDefault<ZodNumber>;
        max_total_score: ZodDefault<ZodNumber>;
    }, "strip", ZodTypeAny, {
        actions: (
            | {
                delete_timeframe?: number;
                duration?: number;
                notify?: boolean;
                reason?: string;
                type: "ban";
            }
            | {
                notify?: boolean;
                reason?: string;
                type: "kick";
            }
            | {
                duration?: number;
                notify?: boolean;
                reason?: string;
                type: "mute";
            }
            | {
                duration?: number;
                mode: "give" | "take";
                notify?: boolean;
                reason?: string;
                roles: string[];
                type: "role";
            }
            | {
                type: "none";
            }
            | {
                notify?: boolean;
                reason?: string;
                type: "warn";
            }
            | {
                notify: true;
                reason?: string;
                type: "verbal_warn";
            }
            | {
                count: number;
                notify?: boolean;
                reason?: string;
                type: "clear";
            }
            | {
                type: "delete_message";
            })[];
        automatic_actions?: {
            enabled: boolean;
            stops: Record<string, (
                | {
                    delete_timeframe?: ...;
                    duration?: ...;
                    notify?: ...;
                    reason?: ...;
                    type: ...;
                }
                | {
                    notify?: ...;
                    reason?: ...;
                    type: ...;
                }
                | {
                    duration?: ...;
                    notify?: ...;
                    reason?: ...;
                    type: ...;
                }
                | {
                    duration?: ...;
                    mode: ...;
                    notify?: ...;
                    reason?: ...;
                    roles: ...;
                    type: ...;
                }
                | {
                    type: ...;
                }
                | {
                    notify?: ...;
                    reason?: ...;
                    type: ...;
                }
                | {
                    notify: ...;
                    reason?: ...;
                    type: ...;
                }
                | {
                    count: ...;
                    notify?: ...;
                    reason?: ...;
                    type: ...;
                }
                | {
                    type: ...;
                })[]>;
        };
        enabled: boolean;
        evaluate_after_attempts: number;
        evaluation_cache_expires_in: number;
        exception_regex_patterns: (string | [string, string])[];
        max_individual_scores?: {
            flirtation: number;
            identity_attack: number;
            incoherent: number;
            insult: number;
            obscene: number;
            profanity: number;
            severe_toxicity: number;
            sexually_explicit: number;
            spam: number;
            threat: number;
            toxicity: number;
            unsubstantial: number;
        };
        max_single_score: number;
        max_total_score: number;
    }, {
        actions?: (
            | {
                delete_timeframe?: number;
                duration?: number;
                notify?: boolean;
                reason?: string;
                type: "ban";
            }
            | {
                notify?: boolean;
                reason?: string;
                type: "kick";
            }
            | {
                duration?: number;
                notify?: boolean;
                reason?: string;
                type: "mute";
            }
            | {
                duration?: number;
                mode: "give" | "take";
                notify?: boolean;
                reason?: string;
                roles: string[];
                type: "role";
            }
            | {
                type: "none";
            }
            | {
                notify?: boolean;
                reason?: string;
                type: "warn";
            }
            | {
                notify?: true;
                reason?: string;
                type: "verbal_warn";
            }
            | {
                count?: number;
                notify?: boolean;
                reason?: string;
                type: "clear";
            }
            | {
                type: "delete_message";
            })[];
        automatic_actions?: {
            enabled?: boolean;
            stops?: Record<string, (
                | (...)
                | (...)
                | (...)
                | (...)
                | (...)
                | (...)
                | (...)
                | (...)
                | (...))[]>;
        };
        enabled?: boolean;
        evaluate_after_attempts?: number;
        evaluation_cache_expires_in?: number;
        exception_regex_patterns?: (string | [string, string])[];
        max_individual_scores?: {
            flirtation?: number;
            identity_attack?: number;
            incoherent?: number;
            insult?: number;
            obscene?: number;
            profanity?: number;
            severe_toxicity?: number;
            sexually_explicit?: number;
            spam?: number;
            threat?: number;
            toxicity?: number;
            unsubstantial?: number;
        };
        max_single_score?: number;
        max_total_score?: number;
    }>>;
    anti_member_join: ZodOptional<ZodObject<{
        ban_duration: ZodOptional<ZodNumber>;
        behavior: ZodDefault<ZodEnum<["kick", "ban"]>>;
        custom_reason: ZodOptional<ZodString>;
        enabled: ZodDefault<ZodOptional<ZodBoolean>>;
        ignore_bots: ZodDefault<ZodOptional<ZodBoolean>>;
    }, "strip", ZodTypeAny, {
        ban_duration?: number;
        behavior: "ban" | "kick";
        custom_reason?: string;
        enabled: boolean;
        ignore_bots: boolean;
    }, {
        ban_duration?: number;
        behavior?: "ban" | "kick";
        custom_reason?: string;
        enabled?: boolean;
        ignore_bots?: boolean;
    }>>;
    antispam: ZodOptional<ZodObject<{
        actions: ZodArray<ZodUnion<[ZodObject<{
            delete_timeframe: ZodOptional<(...)>;
            duration: ZodOptional<(...)>;
            notify: ZodOptional<(...)>;
            reason: ZodOptional<(...)>;
            type: ZodLiteral<(...)>;
        }, "strip", ZodTypeAny, {
            delete_timeframe?: (...) | (...);
            duration?: (...) | (...);
            notify?: (...) | (...) | (...);
            reason?: (...) | (...);
            type: "ban";
        }, {
            delete_timeframe?: (...) | (...);
            duration?: (...) | (...);
            notify?: (...) | (...) | (...);
            reason?: (...) | (...);
            type: "ban";
        }>, ZodObject<{
            notify: ZodOptional<(...)>;
            reason: ZodOptional<(...)>;
            type: ZodLiteral<(...)>;
        }, "strip", ZodTypeAny, {
            notify?: (...) | (...) | (...);
            reason?: (...) | (...);
            type: "kick";
        }, {
            notify?: (...) | (...) | (...);
            reason?: (...) | (...);
            type: "kick";
        }>, ZodObject<{
            duration: ZodOptional<(...)>;
            notify: ZodOptional<(...)>;
            reason: ZodOptional<(...)>;
            type: ZodLiteral<(...)>;
        }, "strip", ZodTypeAny, {
            duration?: (...) | (...);
            notify?: (...) | (...) | (...);
            reason?: (...) | (...);
            type: "mute";
        }, {
            duration?: (...) | (...);
            notify?: (...) | (...) | (...);
            reason?: (...) | (...);
            type: "mute";
        }>]>, "many">;
        channels: ZodDefault<ZodObject<{
            list: ZodDefault<ZodArray<ZodType<(...), (...), (...)>, "many">>;
            mode: ZodDefault<ZodEnum<[(...), (...)]>>;
        }, "strip", ZodTypeAny, {
            list: string[];
            mode: "exclude" | "include";
        }, {
            list?: string[];
            mode?: "exclude" | "include";
        }>>;
        enabled: ZodDefault<ZodOptional<ZodBoolean>>;
        limit: ZodNumber;
        timeframe: ZodNumber;
    }, "strip", ZodTypeAny, {
        actions: (
            | {
                delete_timeframe?: number;
                duration?: number;
                notify?: boolean;
                reason?: string;
                type: "ban";
            }
            | {
                notify?: boolean;
                reason?: string;
                type: "kick";
            }
            | {
                duration?: number;
                notify?: boolean;
                reason?: string;
                type: "mute";
            }
            | {
                duration?: number;
                mode: "give" | "take";
                notify?: boolean;
                reason?: string;
                roles: string[];
                type: "role";
            }
            | {
                type: "none";
            }
            | {
                notify?: boolean;
                reason?: string;
                type: "warn";
            }
            | {
                notify: true;
                reason?: string;
                type: "verbal_warn";
            }
            | {
                count: number;
                notify?: boolean;
                reason?: string;
                type: "clear";
            }
            | {
                type: "delete_message";
            })[];
        channels: {
            list: string[];
            mode: "exclude" | "include";
        };
        enabled: boolean;
        limit: number;
        timeframe: number;
    }, {
        actions: (
            | {
                delete_timeframe?: number;
                duration?: number;
                notify?: boolean;
                reason?: string;
                type: "ban";
            }
            | {
                notify?: boolean;
                reason?: string;
                type: "kick";
            }
            | {
                duration?: number;
                notify?: boolean;
                reason?: string;
                type: "mute";
            }
            | {
                duration?: number;
                mode: "give" | "take";
                notify?: boolean;
                reason?: string;
                roles: string[];
                type: "role";
            }
            | {
                type: "none";
            }
            | {
                notify?: boolean;
                reason?: string;
                type: "warn";
            }
            | {
                notify?: true;
                reason?: string;
                type: "verbal_warn";
            }
            | {
                count?: number;
                notify?: boolean;
                reason?: string;
                type: "clear";
            }
            | {
                type: "delete_message";
            })[];
        channels?: {
            list?: string[];
            mode?: "exclude" | "include";
        };
        enabled?: boolean;
        limit: number;
        timeframe: number;
    }>>;
    auto_role: ZodOptional<ZodObject<{
        enabled: ZodDefault<ZodOptional<ZodBoolean>>;
        ignore_bots: ZodDefault<ZodOptional<ZodBoolean>>;
        roles: ZodDefault<ZodArray<ZodType<string, ZodTypeDef, string>, "many">>;
    }, "strip", ZodTypeAny, {
        enabled: boolean;
        ignore_bots: boolean;
        roles: string[];
    }, {
        enabled?: boolean;
        ignore_bots?: boolean;
        roles?: string[];
    }>>;
    auto_triggers: ZodOptional<ZodObject<{
        enabled: ZodDefault<ZodBoolean>;
        global_disabled_channels: ZodDefault<ZodArray<ZodType<string, ZodTypeDef, string>, "many">>;
        triggers: ZodDefault<ZodArray<ZodUnion<[ZodObject<{
            buttons: ...;
            enabled_channels: ...;
            ignore_roles: ...;
            ignore_users: ...;
            message: ...;
            type: ...;
        }, "strip", ZodTypeAny, {
            buttons: ...;
            enabled_channels: ...;
            ignore_roles: ...;
            ignore_users: ...;
            message: ...;
            type: ...;
        }, {
            buttons?: ...;
            enabled_channels?: ...;
            ignore_roles?: ...;
            ignore_users?: ...;
            message: ...;
            type: ...;
        }>, ZodObject<{
            action: ...;
            enabled_channels: ...;
            ignore_roles: ...;
            ignore_users: ...;
            must_contain: ...;
            must_not_contain: ...;
            roles: ...;
            type: ...;
        }, "strip", ZodTypeAny, {
            action: ...;
            enabled_channels: ...;
            ignore_roles: ...;
            ignore_users: ...;
            must_contain: ...;
            must_not_contain: ...;
            roles: ...;
            type: ...;
        }, {
            action: ...;
            enabled_channels?: ...;
            ignore_roles?: ...;
            ignore_users?: ...;
            must_contain?: ...;
            must_not_contain?: ...;
            roles?: ...;
            type: ...;
        }>]>, "many">>;
    }, "strip", ZodTypeAny, {
        enabled: boolean;
        global_disabled_channels: string[];
        triggers: ({
            buttons: {
                label: string;
                url: string;
            }[];
            enabled_channels: string[] | "all";
            ignore_roles: string[];
            ignore_users: string[];
            message: string;
            type: "sticky_message";
        } | {
            action: "assign_role" | "take_away_role";
            enabled_channels: string[] | "all";
            ignore_roles: string[];
            ignore_users: string[];
            must_contain: string[];
            must_not_contain: string[];
            roles: string[];
            type: "member_status_update";
        })[];
    }, {
        enabled?: boolean;
        global_disabled_channels?: string[];
        triggers?: ({
            buttons?: (...)[];
            enabled_channels?: (...)[] | "all";
            ignore_roles?: (...)[];
            ignore_users?: (...)[];
            message: string;
            type: "sticky_message";
        } | {
            action: "assign_role" | "take_away_role";
            enabled_channels?: (...)[] | "all";
            ignore_roles?: (...)[];
            ignore_users?: (...)[];
            must_contain?: (...)[];
            must_not_contain?: (...)[];
            roles?: (...)[];
            type: "member_status_update";
        })[];
    }>>;
    bump_reminder: ZodOptional<ZodObject<{
        disabled_channels: ZodDefault<ZodArray<ZodType<string, ZodTypeDef, string>, "many">>;
        enabled: ZodOptional<ZodBoolean>;
        on_bump_content: ZodOptional<ZodString>;
        remind_after: ZodDefault<ZodNumber>;
        reminder_content: ZodOptional<ZodString>;
    }, "strip", ZodTypeAny, {
        disabled_channels: string[];
        enabled?: boolean;
        on_bump_content?: string;
        remind_after: number;
        reminder_content?: string;
    }, {
        disabled_channels?: string[];
        enabled?: boolean;
        on_bump_content?: string;
        remind_after?: number;
        reminder_content?: string;
    }>>;
    channel_archives: ZodOptional<ZodObject<{
        archive_category: ZodType<string, ZodTypeDef, string>;
        enabled: ZodDefault<ZodOptional<ZodBoolean>>;
        ignored_channels: ZodDefault<ZodArray<ZodType<string, ZodTypeDef, string>, "many">>;
    }, "strip", ZodTypeAny, {
        archive_category: string;
        enabled: boolean;
        ignored_channels: string[];
    }, {
        archive_category: string;
        enabled?: boolean;
        ignored_channels?: string[];
    }>>;
    commands: ZodDefault<ZodObject<{
        channels: ZodDefault<ZodObject<{
            list: ZodDefault<ZodArray<ZodType<(...), (...), (...)>, "many">>;
            mode: ZodDefault<ZodEnum<[(...), (...)]>>;
        }, "strip", ZodTypeAny, {
            list: string[];
            mode: "exclude" | "include";
        }, {
            list?: string[];
            mode?: "exclude" | "include";
        }>>;
        disabled_commands: ZodDefault<ZodArray<ZodString, "many">>;
        mention_prefix: ZodDefault<ZodBoolean>;
        moderation_command_behavior: ZodDefault<ZodEnum<["delete", "default"]>>;
        ratelimiting: ZodOptional<ZodObject<{
            block_duration: ZodDefault<ZodNumber>;
            enabled: ZodDefault<ZodBoolean>;
            max_attempts: ZodDefault<ZodNumber>;
            overrides: ZodDefault<ZodRecord<ZodString, ZodObject<(...), (...), (...), (...), (...)>>>;
            timeframe: ZodDefault<ZodNumber>;
        }, "strip", ZodTypeAny, {
            block_duration: number;
            enabled: boolean;
            max_attempts: number;
            overrides: Record<string, {
                block_duration: number;
                enabled: boolean;
                max_attempts: number;
                timeframe: number;
            }>;
            timeframe: number;
        }, {
            block_duration?: number;
            enabled?: boolean;
            max_attempts?: number;
            overrides?: Record<string, {
                block_duration?: ...;
                enabled?: ...;
                max_attempts?: ...;
                timeframe?: ...;
            }>;
            timeframe?: number;
        }>>;
        rerun_on_edit: ZodDefault<ZodBoolean>;
        respond_on_precondition_fail: ZodDefault<ZodBoolean>;
        troll_command_immune_users: ZodDefault<ZodArray<ZodType<string, ZodTypeDef, string>, "many">>;
    }, "strip", ZodTypeAny, {
        channels: {
            list: string[];
            mode: "exclude" | "include";
        };
        disabled_commands: string[];
        mention_prefix: boolean;
        moderation_command_behavior: "delete" | "default";
        ratelimiting?: {
            block_duration: number;
            enabled: boolean;
            max_attempts: number;
            overrides: Record<string, {
                block_duration: number;
                enabled: boolean;
                max_attempts: number;
                timeframe: number;
            }>;
            timeframe: number;
        };
        rerun_on_edit: boolean;
        respond_on_precondition_fail: boolean;
        troll_command_immune_users: string[];
    }, {
        channels?: {
            list?: string[];
            mode?: "exclude" | "include";
        };
        disabled_commands?: string[];
        mention_prefix?: boolean;
        moderation_command_behavior?: "delete" | "default";
        ratelimiting?: {
            block_duration?: number;
            enabled?: boolean;
            max_attempts?: number;
            overrides?: Record<string, {
                block_duration?: (...) | (...);
                enabled?: (...) | (...) | (...);
                max_attempts?: (...) | (...);
                timeframe?: (...) | (...);
            }>;
            timeframe?: number;
        };
        rerun_on_edit?: boolean;
        respond_on_precondition_fail?: boolean;
        troll_command_immune_users?: string[];
    }>>;
    debug_mode: ZodDefault<ZodBoolean>;
    echoing: ZodOptional<ZodObject<{
        allow_mentions: ZodDefault<ZodBoolean>;
    }, "strip", ZodTypeAny, {
        allow_mentions: boolean;
    }, {
        allow_mentions?: boolean;
    }>>;
    extensions: ZodOptional<ZodObject<{
        disabled_extensions: ZodDefault<ZodArray<ZodString, "many">>;
        enabled: ZodOptional<ZodBoolean>;
        installed_extensions: ZodDefault<ZodArray<ZodString, "many">>;
    }, "strip", ZodTypeAny, {
        disabled_extensions: string[];
        enabled?: boolean;
        installed_extensions: string[];
    }, {
        disabled_extensions?: string[];
        enabled?: boolean;
        installed_extensions?: string[];
    }>>;
    infractions: ZodDefault<ZodObject<{
        dm_fallback: ZodDefault<ZodEnum<["none", "create_channel", "create_thread"]>>;
        dm_fallback_channel_expires_in: ZodDefault<ZodOptional<ZodNumber>>;
        dm_fallback_parent_channel: ZodOptional<ZodType<string, ZodTypeDef, string>>;
        points: ZodDefault<ZodObject<{
            ban: ZodDefault<ZodNumber>;
            clear: ZodDefault<ZodNumber>;
            kick: ZodDefault<ZodNumber>;
            massban: ZodDefault<ZodNumber>;
            masskick: ZodDefault<ZodNumber>;
            mod_message: ZodDefault<ZodNumber>;
            mute: ZodDefault<ZodNumber>;
            note: ZodDefault<ZodNumber>;
            role: ZodDefault<ZodNumber>;
            softban: ZodDefault<ZodNumber>;
            tempban: ZodDefault<ZodNumber>;
            timeout: ZodDefault<ZodNumber>;
            unban: ZodDefault<ZodNumber>;
            warning: ZodDefault<ZodNumber>;
        }, "strip", ZodTypeAny, {
            ban: number;
            clear: number;
            kick: number;
            massban: number;
            masskick: number;
            mod_message: number;
            mute: number;
            note: number;
            role: number;
            softban: number;
            tempban: number;
            timeout: number;
            unban: number;
            warning: number;
        }, {
            ban?: number;
            clear?: number;
            kick?: number;
            massban?: number;
            masskick?: number;
            mod_message?: number;
            mute?: number;
            note?: number;
            role?: number;
            softban?: number;
            tempban?: number;
            timeout?: number;
            unban?: number;
            warning?: number;
        }>>;
        reason_template_placeholder_wrapper: ZodDefault<ZodString>;
        reason_templates: ZodDefault<ZodRecord<ZodString, ZodString>>;
        send_ids_to_user: ZodDefault<ZodBoolean>;
    }, "strip", ZodTypeAny, {
        dm_fallback: "none" | "create_channel" | "create_thread";
        dm_fallback_channel_expires_in: number;
        dm_fallback_parent_channel?: string;
        points: {
            ban: number;
            clear: number;
            kick: number;
            massban: number;
            masskick: number;
            mod_message: number;
            mute: number;
            note: number;
            role: number;
            softban: number;
            tempban: number;
            timeout: number;
            unban: number;
            warning: number;
        };
        reason_template_placeholder_wrapper: string;
        reason_templates: Record<string, string>;
        send_ids_to_user: boolean;
    }, {
        dm_fallback?: "none" | "create_channel" | "create_thread";
        dm_fallback_channel_expires_in?: number;
        dm_fallback_parent_channel?: string;
        points?: {
            ban?: number;
            clear?: number;
            kick?: number;
            massban?: number;
            masskick?: number;
            mod_message?: number;
            mute?: number;
            note?: number;
            role?: number;
            softban?: number;
            tempban?: number;
            timeout?: number;
            unban?: number;
            warning?: number;
        };
        reason_template_placeholder_wrapper?: string;
        reason_templates?: Record<string, string>;
        send_ids_to_user?: boolean;
    }>>;
    logging: ZodOptional<ZodObject<{
        bulk_delete_send_json: ZodDefault<ZodBoolean>;
        default_enabled: ZodDefault<ZodBoolean>;
        enabled: ZodDefault<ZodBoolean>;
        exclusions: ZodDefault<ZodArray<ZodObject<{
            events: ZodOptional<ZodArray<(...), (...)>>;
            mode: ZodDefault<ZodEnum<(...)>>;
            snowflakes: ZodArray<ZodType<(...), (...), (...)>, "many">;
            type: ZodEnum<[(...), (...), (...)]>;
        }, "strip", ZodTypeAny, {
            events?: (...)[];
            mode: "exclude" | "include";
            snowflakes: string[];
            type: "channel" | "user" | "category_channel";
        }, {
            events?: (...)[];
            mode?: "exclude" | "include";
            snowflakes: string[];
            type: "channel" | "user" | "category_channel";
        }>, "many">>;
        global_ignored_channels: ZodDefault<ZodArray<ZodType<string, ZodTypeDef, string>, "many">>;
        hooks: ZodDefault<ZodRecord<ZodType<string, ZodTypeDef, string>, ZodType<string, ZodTypeDef, string>>>;
        overrides: ZodDefault<ZodArray<ZodUnion<[ZodObject<{
            channel: ...;
            enabled: ...;
            events: ...;
        }, "strip", ZodTypeAny, {
            channel: ...;
            enabled: ...;
            events: ...;
        }, {
            channel: ...;
            enabled: ...;
            events: ...;
        }>, ZodObject<{
            enabled: ...;
            events: ...;
        }, "strip", ZodTypeAny, {
            enabled: ...;
            events: ...;
        }, {
            enabled: ...;
            events: ...;
        }>]>, "many">>;
        primary_channel: ZodOptional<ZodType<string, ZodTypeDef, string>>;
        unsubscribed_events: ZodDefault<ZodArray<ZodEnum<[LogEventType, ...LogEventType[]]>, "many">>;
    }, "strip", ZodTypeAny, {
        bulk_delete_send_json: boolean;
        default_enabled: boolean;
        enabled: boolean;
        exclusions: {
            events?: LogEventType[];
            mode: "exclude" | "include";
            snowflakes: string[];
            type: "channel" | "user" | "category_channel";
        }[];
        global_ignored_channels: string[];
        hooks: Record<string, string>;
        overrides: ({
            channel: string;
            enabled: true;
            events: [LogEventType, ...LogEventType[]];
        } | {
            enabled: false;
            events: [LogEventType, ...LogEventType[]];
        })[];
        primary_channel?: string;
        unsubscribed_events: LogEventType[];
    }, {
        bulk_delete_send_json?: boolean;
        default_enabled?: boolean;
        enabled?: boolean;
        exclusions?: {
            events?: LogEventType[];
            mode?: "exclude" | "include";
            snowflakes: string[];
            type: "channel" | "user" | "category_channel";
        }[];
        global_ignored_channels?: string[];
        hooks?: Record<string, string>;
        overrides?: ({
            channel: string;
            enabled: true;
            events: [LogEventType, ...LogEventType[]];
        } | {
            enabled: false;
            events: [LogEventType, ...LogEventType[]];
        })[];
        primary_channel?: string;
        unsubscribed_events?: LogEventType[];
    }>>;
    member_verification: ZodOptional<ZodObject<{
        channel: ZodOptional<ZodType<string, ZodTypeDef, string>>;
        conditions: ZodObject<{
            age_less_than: ZodOptional<ZodNumber>;
            always: ZodDefault<ZodBoolean>;
            no_avatar: ZodOptional<ZodBoolean>;
        }, "strip", ZodTypeAny, {
            age_less_than?: number;
            always: boolean;
            no_avatar?: boolean;
        }, {
            age_less_than?: number;
            always?: boolean;
            no_avatar?: boolean;
        }>;
        enabled: ZodDefault<ZodOptional<ZodBoolean>>;
        expired_actions: ZodDefault<ZodArray<ZodUnion<[ZodObject<{
            delete_timeframe: ...;
            duration: ...;
            notify: ...;
            reason: ...;
            type: ...;
        }, "strip", ZodTypeAny, {
            delete_timeframe?: ...;
            duration?: ...;
            notify?: ...;
            reason?: ...;
            type: ...;
        }, {
            delete_timeframe?: ...;
            duration?: ...;
            notify?: ...;
            reason?: ...;
            type: ...;
        }>, ZodObject<{
            notify: ...;
            reason: ...;
            type: ...;
        }, "strip", ZodTypeAny, {
            notify?: ...;
            reason?: ...;
            type: ...;
        }, {
            notify?: ...;
            reason?: ...;
            type: ...;
        }>, ZodObject<{
            duration: ...;
            notify: ...;
            reason: ...;
            type: ...;
        }, "strip", ZodTypeAny, {
            duration?: ...;
            notify?: ...;
            reason?: ...;
            type: ...;
        }, {
            duration?: ...;
            notify?: ...;
            reason?: ...;
            type: ...;
        }>]>, "many">>;
        max_duration: ZodOptional<ZodNumber>;
        method: ZodDefault<ZodEnum<["channel_interaction", "dm_interaction"]>>;
        success_message: ZodOptional<ZodString>;
        unverified_roles: ZodDefault<ZodArray<ZodType<string, ZodTypeDef, string>, "many">>;
        verification_message: ZodOptional<ZodString>;
        verified_roles: ZodDefault<ZodArray<ZodType<string, ZodTypeDef, string>, "many">>;
    }, "strip", ZodTypeAny, {
        channel?: string;
        conditions: {
            age_less_than?: number;
            always: boolean;
            no_avatar?: boolean;
        };
        enabled: boolean;
        expired_actions: (
            | {
                delete_timeframe?: number;
                duration?: number;
                notify?: boolean;
                reason?: string;
                type: "ban";
            }
            | {
                notify?: boolean;
                reason?: string;
                type: "kick";
            }
            | {
                duration?: number;
                notify?: boolean;
                reason?: string;
                type: "mute";
            }
            | {
                duration?: number;
                mode: "give" | "take";
                notify?: boolean;
                reason?: string;
                roles: string[];
                type: "role";
            }
            | {
                type: "none";
            }
            | {
                notify?: boolean;
                reason?: string;
                type: "warn";
            }
            | {
                notify: true;
                reason?: string;
                type: "verbal_warn";
            }
            | {
                count: number;
                notify?: boolean;
                reason?: string;
                type: "clear";
            }
            | {
                type: "delete_message";
            })[];
        max_duration?: number;
        method: "channel_interaction" | "dm_interaction";
        success_message?: string;
        unverified_roles: string[];
        verification_message?: string;
        verified_roles: string[];
    }, {
        channel?: string;
        conditions: {
            age_less_than?: number;
            always?: boolean;
            no_avatar?: boolean;
        };
        enabled?: boolean;
        expired_actions?: (
            | {
                delete_timeframe?: number;
                duration?: number;
                notify?: boolean;
                reason?: string;
                type: "ban";
            }
            | {
                notify?: boolean;
                reason?: string;
                type: "kick";
            }
            | {
                duration?: number;
                notify?: boolean;
                reason?: string;
                type: "mute";
            }
            | {
                duration?: number;
                mode: "give" | "take";
                notify?: boolean;
                reason?: string;
                roles: string[];
                type: "role";
            }
            | {
                type: "none";
            }
            | {
                notify?: boolean;
                reason?: string;
                type: "warn";
            }
            | {
                notify?: true;
                reason?: string;
                type: "verbal_warn";
            }
            | {
                count?: number;
                notify?: boolean;
                reason?: string;
                type: "clear";
            }
            | {
                type: "delete_message";
            })[];
        max_duration?: number;
        method?: "channel_interaction" | "dm_interaction";
        success_message?: string;
        unverified_roles?: string[];
        verification_message?: string;
        verified_roles?: string[];
    }>>;
    message_reporting: ZodOptional<ZodObject<{
        action_required_permissions: ZodDefault<ZodObject<{
            ban: ZodDefault<ZodArray<ZodString, "many">>;
            ignore: ZodDefault<ZodArray<ZodString, "many">>;
            kick: ZodDefault<ZodArray<ZodString, "many">>;
            mute: ZodDefault<ZodArray<ZodString, "many">>;
            warn: ZodDefault<ZodArray<ZodString, "many">>;
        }, "strip", ZodTypeAny, {
            ban: string[];
            ignore: string[];
            kick: string[];
            mute: string[];
            warn: string[];
        }, {
            ban?: string[];
            ignore?: string[];
            kick?: string[];
            mute?: string[];
            warn?: string[];
        }>>;
        enabled: ZodDefault<ZodBoolean>;
        logging_channel: ZodOptional<ZodType<string, ZodTypeDef, string>>;
        permission_level: ZodOptional<ZodDefault<ZodNumber>>;
        permissions: ZodDefault<ZodArray<ZodString, "many">>;
        roles: ZodDefault<ZodArray<ZodType<string, ZodTypeDef, string>, "many">>;
        users: ZodDefault<ZodArray<ZodType<string, ZodTypeDef, string>, "many">>;
    }, "strip", ZodTypeAny, {
        action_required_permissions: {
            ban: string[];
            ignore: string[];
            kick: string[];
            mute: string[];
            warn: string[];
        };
        enabled: boolean;
        logging_channel?: string;
        permission_level?: number;
        permissions: string[];
        roles: string[];
        users: string[];
    }, {
        action_required_permissions?: {
            ban?: string[];
            ignore?: string[];
            kick?: string[];
            mute?: string[];
            warn?: string[];
        };
        enabled?: boolean;
        logging_channel?: string;
        permission_level?: number;
        permissions?: string[];
        roles?: string[];
        users?: string[];
    }>>;
    muting: ZodOptional<ZodObject<{
        role: ZodOptional<ZodType<string, ZodTypeDef, string>>;
    }, "strip", ZodTypeAny, {
        role?: string;
    }, {
        role?: string;
    }>>;
    permissions: ZodDefault<ZodOptional<ZodObject<{
        check_discord_permissions: ZodDefault<ZodEnum<["always", "during_automod", "during_manual_actions", "never"]>>;
        command_permission_mode: ZodOptional<ZodEnum<["ignore", "overwrite", "check"]>>;
        invincible: ZodOptional<ZodObject<{
            roles: ZodDefault<ZodArray<(...), (...)>>;
            users: ZodDefault<ZodArray<(...), (...)>>;
        }, "strip", ZodTypeAny, {
            roles: string[];
            users: string[];
        }, {
            roles?: (...)[];
            users?: (...)[];
        }>>;
        mode: ZodOptional<ZodDefault<ZodUnion<[ZodLiteral<(...)>, ZodLiteral<(...)>, ZodLiteral<(...)>]>>>;
    }, "strip", ZodTypeAny, {
        check_discord_permissions:
            | "never"
            | "always"
            | "during_automod"
            | "during_manual_actions";
        command_permission_mode?: "ignore" | "overwrite" | "check";
        invincible?: {
            roles: string[];
            users: string[];
        };
        mode?: "discord" | "levels" | "layered";
    }, {
        check_discord_permissions?:
            | "never"
            | "always"
            | "during_automod"
            | "during_manual_actions";
        command_permission_mode?: "ignore" | "overwrite" | "check";
        invincible?: {
            roles?: string[];
            users?: string[];
        };
        mode?: "discord" | "levels" | "layered";
    }>>>;
    prefix: ZodDefault<ZodString>;
    quick_mute: ZodOptional<ZodObject<{
        default_duration: ZodOptional<ZodDefault<ZodNumber>>;
        enabled: ZodDefault<ZodOptional<ZodBoolean>>;
        mute_clear_emoji: ZodOptional<ZodString>;
        mute_emoji: ZodOptional<ZodString>;
        reason: ZodOptional<ZodString>;
    }, "strip", ZodTypeAny, {
        default_duration?: number;
        enabled: boolean;
        mute_clear_emoji?: string;
        mute_emoji?: string;
        reason?: string;
    }, {
        default_duration?: number;
        enabled?: boolean;
        mute_clear_emoji?: string;
        mute_emoji?: string;
        reason?: string;
    }>>;
    raid_protection: ZodOptional<ZodObject<{
        action: ZodDefault<ZodEnum<["auto", "lock", "antijoin", "lock_and_antijoin", "none"]>>;
        channel_mode: ZodDefault<ZodEnum<["exclude", "include"]>>;
        channels: ZodDefault<ZodArray<ZodType<string, ZodTypeDef, string>, "many">>;
        enabled: ZodDefault<ZodOptional<ZodBoolean>>;
        member_actions: ZodDefault<ZodArray<ZodUnion<[ZodObject<{
            delete_timeframe: ...;
            duration: ...;
            notify: ...;
            reason: ...;
            type: ...;
        }, "strip", ZodTypeAny, {
            delete_timeframe?: ...;
            duration?: ...;
            notify?: ...;
            reason?: ...;
            type: ...;
        }, {
            delete_timeframe?: ...;
            duration?: ...;
            notify?: ...;
            reason?: ...;
            type: ...;
        }>, ZodObject<{
            notify: ...;
            reason: ...;
            type: ...;
        }, "strip", ZodTypeAny, {
            notify?: ...;
            reason?: ...;
            type: ...;
        }, {
            notify?: ...;
            reason?: ...;
            type: ...;
        }>, ZodObject<{
            duration: ...;
            notify: ...;
            reason: ...;
            type: ...;
        }, "strip", ZodTypeAny, {
            duration?: ...;
            notify?: ...;
            reason?: ...;
            type: ...;
        }, {
            duration?: ...;
            notify?: ...;
            reason?: ...;
            type: ...;
        }>]>, "many">>;
        send_log: ZodDefault<ZodOptional<ZodBoolean>>;
        threshold: ZodDefault<ZodNumber>;
        timeframe: ZodDefault<ZodNumber>;
    }, "strip", ZodTypeAny, {
        action:
            | "none"
            | "lock"
            | "lock_and_antijoin"
            | "antijoin"
            | "auto";
        channel_mode: "exclude" | "include";
        channels: string[];
        enabled: boolean;
        member_actions: (
            | {
                delete_timeframe?: number;
                duration?: number;
                notify?: boolean;
                reason?: string;
                type: "ban";
            }
            | {
                notify?: boolean;
                reason?: string;
                type: "kick";
            }
            | {
                duration?: number;
                notify?: boolean;
                reason?: string;
                type: "mute";
            }
            | {
                duration?: number;
                mode: "give" | "take";
                notify?: boolean;
                reason?: string;
                roles: string[];
                type: "role";
            }
            | {
                type: "none";
            }
            | {
                notify?: boolean;
                reason?: string;
                type: "warn";
            }
            | {
                notify: true;
                reason?: string;
                type: "verbal_warn";
            }
            | {
                count: number;
                notify?: boolean;
                reason?: string;
                type: "clear";
            }
            | {
                type: "delete_message";
            })[];
        send_log: boolean;
        threshold: number;
        timeframe: number;
    }, {
        action?:
            | "none"
            | "lock"
            | "lock_and_antijoin"
            | "antijoin"
            | "auto";
        channel_mode?: "exclude" | "include";
        channels?: string[];
        enabled?: boolean;
        member_actions?: (
            | {
                delete_timeframe?: number;
                duration?: number;
                notify?: boolean;
                reason?: string;
                type: "ban";
            }
            | {
                notify?: boolean;
                reason?: string;
                type: "kick";
            }
            | {
                duration?: number;
                notify?: boolean;
                reason?: string;
                type: "mute";
            }
            | {
                duration?: number;
                mode: "give" | "take";
                notify?: boolean;
                reason?: string;
                roles: string[];
                type: "role";
            }
            | {
                type: "none";
            }
            | {
                notify?: boolean;
                reason?: string;
                type: "warn";
            }
            | {
                notify?: true;
                reason?: string;
                type: "verbal_warn";
            }
            | {
                count?: number;
                notify?: boolean;
                reason?: string;
                type: "clear";
            }
            | {
                type: "delete_message";
            })[];
        send_log?: boolean;
        threshold?: number;
        timeframe?: number;
    }>>;
    reaction_roles: ZodOptional<ZodObject<{
        enabled: ZodDefault<ZodOptional<ZodBoolean>>;
        ignore_bots: ZodDefault<ZodOptional<ZodBoolean>>;
        ratelimiting: ZodOptional<ZodObject<{
            block_duration: ZodDefault<ZodNumber>;
            enabled: ZodDefault<ZodOptional<ZodBoolean>>;
            max_attempts: ZodDefault<ZodNumber>;
            timeframe: ZodDefault<ZodNumber>;
        }, "strip", ZodTypeAny, {
            block_duration: number;
            enabled: boolean;
            max_attempts: number;
            timeframe: number;
        }, {
            block_duration?: number;
            enabled?: boolean;
            max_attempts?: number;
            timeframe?: number;
        }>>;
    }, "strip", ZodTypeAny, {
        enabled: boolean;
        ignore_bots: boolean;
        ratelimiting?: {
            block_duration: number;
            enabled: boolean;
            max_attempts: number;
            timeframe: number;
        };
    }, {
        enabled?: boolean;
        ignore_bots?: boolean;
        ratelimiting?: {
            block_duration?: number;
            enabled?: boolean;
            max_attempts?: number;
            timeframe?: number;
        };
    }>>;
    rule_moderation: ZodOptional<ZodObject<{
        enabled: ZodDefault<ZodBoolean>;
        global_disabled_channels: ZodDefault<ZodArray<ZodType<string, ZodTypeDef, string>, "many">>;
        rules: ZodDefault<ZodArray<ZodUnion<[ZodObject<{
            actions: ...;
            bail: ...;
            bypasses: ...;
            domains: ...;
            enabled: ...;
            exceptions: ...;
            for: ...;
            is_bypasser: ...;
            mode: ...;
            name: ...;
            scan_links_only: ...;
            type: ...;
        }, "strip", ZodTypeAny, {
            actions: ...;
            bail: ...;
            bypasses: ...;
            domains: ...;
            enabled: ...;
            exceptions?: ...;
            for?: ...;
            is_bypasser: ...;
            mode: ...;
            name: ...;
            scan_links_only: ...;
            type: ...;
        }, {
            actions?: ...;
            bail?: ...;
            bypasses?: ...;
            domains?: ...;
            enabled?: ...;
            exceptions?: ...;
            for?: ...;
            is_bypasser?: ...;
            mode?: ...;
            name?: ...;
            scan_links_only?: ...;
            type: ...;
        }>, ZodObject<{
            actions: ...;
            bail: ...;
            bypasses: ...;
            data: ...;
            enabled: ...;
            exceptions: ...;
            for: ...;
            is_bypasser: ...;
            mode: ...;
            name: ...;
            type: ...;
        }, "strip", ZodTypeAny, {
            actions: ...;
            bail: ...;
            bypasses: ...;
            data: ...;
            enabled: ...;
            exceptions?: ...;
            for?: ...;
            is_bypasser: ...;
            mode: ...;
            name: ...;
            type: ...;
        }, {
            actions?: ...;
            bail?: ...;
            bypasses?: ...;
            data?: ...;
            enabled?: ...;
            exceptions?: ...;
            for?: ...;
            is_bypasser?: ...;
            mode?: ...;
            name?: ...;
            type: ...;
        }>, ZodObject<{
            actions: ...;
            bail: ...;
            bypasses: ...;
            data: ...;
            enabled: ...;
            exceptions: ...;
            for: ...;
            is_bypasser: ...;
            mode: ...;
            name: ...;
            type: ...;
        }, "strip", ZodTypeAny, {
            actions: ...;
            bail: ...;
            bypasses: ...;
            data: ...;
            enabled: ...;
            exceptions?: ...;
            for?: ...;
            is_bypasser: ...;
            mode: ...;
            name: ...;
            type: ...;
        }, {
            actions?: ...;
            bail?: ...;
            bypasses?: ...;
            data?: ...;
            enabled?: ...;
            exceptions?: ...;
            for?: ...;
            is_bypasser?: ...;
            mode?: ...;
            name?: ...;
            type: ...;
        }>]>, "many">>;
    }, "strip", ZodTypeAny, {
        enabled: boolean;
        global_disabled_channels: string[];
        rules: (
            | {
                actions: (
                    | {
                        delete_timeframe?: ...;
                        duration?: ...;
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        duration?: ...;
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        duration?: ...;
                        mode: ...;
                        notify?: ...;
                        reason?: ...;
                        roles: ...;
                        type: ...;
                    }
                    | {
                        type: ...;
                    }
                    | {
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        notify: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        count: ...;
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        type: ...;
                    })[];
                bail: boolean;
                bypasses: null | string[];
                domains: string[];
                enabled: boolean;
                exceptions?: {
                    channels?: (...) | (...);
                    roles?: (...) | (...);
                    users?: (...) | (...);
                };
                for?: {
                    channels?: (...) | (...);
                    roles?: (...) | (...);
                    users?: (...) | (...);
                };
                is_bypasser: boolean;
                mode: "normal" | "invert";
                name: null | string;
                scan_links_only: boolean;
                type: "domain_filter";
            }
            | {
                actions: (
                    | {
                        delete_timeframe?: ...;
                        duration?: ...;
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        duration?: ...;
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        duration?: ...;
                        mode: ...;
                        notify?: ...;
                        reason?: ...;
                        roles: ...;
                        type: ...;
                    }
                    | {
                        type: ...;
                    }
                    | {
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        notify: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        count: ...;
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        type: ...;
                    })[];
                bail: boolean;
                bypasses: null | string[];
                data: string[];
                enabled: boolean;
                exceptions?: {
                    channels?: (...) | (...);
                    roles?: (...) | (...);
                    users?: (...) | (...);
                };
                for?: {
                    channels?: (...) | (...);
                    roles?: (...) | (...);
                    users?: (...) | (...);
                };
                is_bypasser: boolean;
                mode: "normal" | "invert";
                name: null | string;
                type: "mime_type_filter";
            }
            | {
                actions: (
                    | {
                        delete_timeframe?: ...;
                        duration?: ...;
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        duration?: ...;
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        duration?: ...;
                        mode: ...;
                        notify?: ...;
                        reason?: ...;
                        roles: ...;
                        type: ...;
                    }
                    | {
                        type: ...;
                    }
                    | {
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        notify: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        count: ...;
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        type: ...;
                    })[];
                bail: boolean;
                bypasses: null | string[];
                data: string[];
                enabled: boolean;
                exceptions?: {
                    channels?: (...) | (...);
                    roles?: (...) | (...);
                    users?: (...) | (...);
                };
                for?: {
                    channels?: (...) | (...);
                    roles?: (...) | (...);
                    users?: (...) | (...);
                };
                is_bypasser: boolean;
                mode: "normal" | "invert";
                name: null | string;
                type: "file_extension_filter";
            }
            | {
                actions: (
                    | {
                        delete_timeframe?: ...;
                        duration?: ...;
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        duration?: ...;
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        duration?: ...;
                        mode: ...;
                        notify?: ...;
                        reason?: ...;
                        roles: ...;
                        type: ...;
                    }
                    | {
                        type: ...;
                    }
                    | {
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        notify: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        count: ...;
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        type: ...;
                    })[];
                allow_internal_invites: boolean;
                allowed_invite_codes: string[];
                bail: boolean;
                bypasses: null | string[];
                enabled: boolean;
                exceptions?: {
                    channels?: (...) | (...);
                    roles?: (...) | (...);
                    users?: (...) | (...);
                };
                for?: {
                    channels?: (...) | (...);
                    roles?: (...) | (...);
                    users?: (...) | (...);
                };
                is_bypasser: boolean;
                mode: "normal" | "invert";
                name: null | string;
                type: "anti_invite";
            }
            | {
                actions: (
                    | {
                        delete_timeframe?: ...;
                        duration?: ...;
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        duration?: ...;
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        duration?: ...;
                        mode: ...;
                        notify?: ...;
                        reason?: ...;
                        roles: ...;
                        type: ...;
                    }
                    | {
                        type: ...;
                    }
                    | {
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        notify: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        count: ...;
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        type: ...;
                    })[];
                bail: boolean;
                bypasses: null | string[];
                enabled: boolean;
                exceptions?: {
                    channels?: (...) | (...);
                    roles?: (...) | (...);
                    users?: (...) | (...);
                };
                for?: {
                    channels?: (...) | (...);
                    roles?: (...) | (...);
                    users?: (...) | (...);
                };
                is_bypasser: boolean;
                mode: "normal" | "invert";
                name: null | string;
                patterns: (string | [(...), (...)])[];
                type: "regex_filter";
            }
            | {
                actions: (
                    | {
                        delete_timeframe?: ...;
                        duration?: ...;
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        duration?: ...;
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        duration?: ...;
                        mode: ...;
                        notify?: ...;
                        reason?: ...;
                        roles: ...;
                        type: ...;
                    }
                    | {
                        type: ...;
                    }
                    | {
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        notify: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        count: ...;
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        type: ...;
                    })[];
                bail: boolean;
                bypasses: null | string[];
                enabled: boolean;
                exceptions?: {
                    channels?: (...) | (...);
                    roles?: (...) | (...);
                    users?: (...) | (...);
                };
                for?: {
                    channels?: (...) | (...);
                    roles?: (...) | (...);
                    users?: (...) | (...);
                };
                is_bypasser: boolean;
                max_repeated_chars: number;
                max_repeated_words: number;
                mode: "normal" | "invert";
                name: null | string;
                type: "repeated_text_filter";
            }
            | {
                actions: (
                    | {
                        delete_timeframe?: ...;
                        duration?: ...;
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        duration?: ...;
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        duration?: ...;
                        mode: ...;
                        notify?: ...;
                        reason?: ...;
                        roles: ...;
                        type: ...;
                    }
                    | {
                        type: ...;
                    }
                    | {
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        notify: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        count: ...;
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        type: ...;
                    })[];
                bail: boolean;
                bypasses: null | string[];
                enabled: boolean;
                exceptions?: {
                    channels?: (...) | (...);
                    roles?: (...) | (...);
                    users?: (...) | (...);
                };
                for?: {
                    channels?: (...) | (...);
                    roles?: (...) | (...);
                    users?: (...) | (...);
                };
                is_bypasser: boolean;
                max_mentions: number;
                max_role_mentions: number;
                max_user_mentions: number;
                mode: "normal" | "invert";
                name: null | string;
                type: "mass_mention_filter";
            }
            | {
                actions: (
                    | {
                        delete_timeframe?: ...;
                        duration?: ...;
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        duration?: ...;
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        duration?: ...;
                        mode: ...;
                        notify?: ...;
                        reason?: ...;
                        roles: ...;
                        type: ...;
                    }
                    | {
                        type: ...;
                    }
                    | {
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        notify: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        count: ...;
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        type: ...;
                    })[];
                bail: boolean;
                bypasses: null | string[];
                enabled: boolean;
                exceptions?: {
                    channels?: (...) | (...);
                    roles?: (...) | (...);
                    users?: (...) | (...);
                };
                for?: {
                    channels?: (...) | (...);
                    roles?: (...) | (...);
                    users?: (...) | (...);
                };
                inherit_from_word_filter: boolean;
                is_bypasser: boolean;
                mode: "normal" | "invert";
                name: null | string;
                scan_embeds: boolean;
                tokens: string[];
                type: "image_filter";
                words: string[];
            }
            | {
                actions: (
                    | {
                        delete_timeframe?: ...;
                        duration?: ...;
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        duration?: ...;
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        duration?: ...;
                        mode: ...;
                        notify?: ...;
                        reason?: ...;
                        roles: ...;
                        type: ...;
                    }
                    | {
                        type: ...;
                    }
                    | {
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        notify: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        count: ...;
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        type: ...;
                    })[];
                bail: boolean;
                bypasses: null | string[];
                enabled: boolean;
                exceptions?: {
                    channels?: (...) | (...);
                    roles?: (...) | (...);
                    users?: (...) | (...);
                };
                for?: {
                    channels?: (...) | (...);
                    roles?: (...) | (...);
                    users?: (...) | (...);
                };
                inherit_from_word_filter: boolean;
                is_bypasser: boolean;
                mode: "normal" | "invert";
                name: null | string;
                tokens: string[];
                type: "embed_filter";
                words: string[];
            }
            | {
                actions: (
                    | {
                        delete_timeframe?: ...;
                        duration?: ...;
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        duration?: ...;
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        duration?: ...;
                        mode: ...;
                        notify?: ...;
                        reason?: ...;
                        roles: ...;
                        type: ...;
                    }
                    | {
                        type: ...;
                    }
                    | {
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        notify: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        count: ...;
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        type: ...;
                    })[];
                bail: boolean;
                bypasses: null | string[];
                enabled: boolean;
                exceptions?: {
                    channels?: (...) | (...);
                    roles?: (...) | (...);
                    users?: (...) | (...);
                };
                excluded_domains_regex: string[];
                excluded_link_regex: string[];
                excluded_links: string[];
                for?: {
                    channels?: (...) | (...);
                    roles?: (...) | (...);
                    users?: (...) | (...);
                };
                is_bypasser: boolean;
                mode: "normal" | "invert";
                name: null | string;
                tokens: string[];
                type: "EXPERIMENTAL_url_crawl";
                words: string[];
            }
            | {
                actions: (
                    | {
                        delete_timeframe?: ...;
                        duration?: ...;
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        duration?: ...;
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        duration?: ...;
                        mode: ...;
                        notify?: ...;
                        reason?: ...;
                        roles: ...;
                        type: ...;
                    }
                    | {
                        type: ...;
                    }
                    | {
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        notify: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        count: ...;
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        type: ...;
                    })[];
                bail: boolean;
                bypasses: null | string[];
                enabled: boolean;
                exceptions?: {
                    channels?: (...) | (...);
                    roles?: (...) | (...);
                    users?: (...) | (...);
                };
                for?: {
                    channels?: (...) | (...);
                    roles?: (...) | (...);
                    users?: (...) | (...);
                };
                is_bypasser: boolean;
                mode: "normal" | "invert";
                name: null | string;
                score_thresholds: {
                    hentai: number;
                    porn: number;
                    sexy: number;
                };
                type: "EXPERIMENTAL_nsfw_filter";
            }
            | {
                actions: (
                    | {
                        delete_timeframe?: ...;
                        duration?: ...;
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        duration?: ...;
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        duration?: ...;
                        mode: ...;
                        notify?: ...;
                        reason?: ...;
                        roles: ...;
                        type: ...;
                    }
                    | {
                        type: ...;
                    }
                    | {
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        notify: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        count: ...;
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        type: ...;
                    })[];
                bail: boolean;
                bypasses: null | string[];
                enabled: boolean;
                exceptions?: {
                    channels?: (...) | (...);
                    roles?: (...) | (...);
                    users?: (...) | (...);
                };
                for?: {
                    channels?: (...) | (...);
                    roles?: (...) | (...);
                    users?: (...) | (...);
                };
                is_bypasser: boolean;
                mode: "normal" | "invert";
                name: null | string;
                normalize: boolean;
                tokens: string[];
                type: "word_filter";
                words: string[];
            }
            | {
                actions: (
                    | {
                        delete_timeframe?: ...;
                        duration?: ...;
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        duration?: ...;
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        duration?: ...;
                        mode: ...;
                        notify?: ...;
                        reason?: ...;
                        roles: ...;
                        type: ...;
                    }
                    | {
                        type: ...;
                    }
                    | {
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        notify: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        count: ...;
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        type: ...;
                    })[];
                bail: boolean;
                bypasses: null | string[];
                check_mime_types: boolean;
                enabled: boolean;
                exceptions?: {
                    channels?: (...) | (...);
                    roles?: (...) | (...);
                    users?: (...) | (...);
                };
                for?: {
                    channels?: (...) | (...);
                    roles?: (...) | (...);
                    users?: (...) | (...);
                };
                hashes: Record<string, null | string>;
                is_bypasser: boolean;
                mode: "normal" | "invert";
                name: null | string;
                type: "file_filter";
            }
            | {
                actions: (
                    | {
                        delete_timeframe?: ...;
                        duration?: ...;
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        duration?: ...;
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        duration?: ...;
                        mode: ...;
                        notify?: ...;
                        reason?: ...;
                        roles: ...;
                        type: ...;
                    }
                    | {
                        type: ...;
                    }
                    | {
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        notify: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        count: ...;
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        type: ...;
                    })[];
                bail: boolean;
                bypasses: null | string[];
                enabled: boolean;
                exceptions?: {
                    channels?: (...) | (...);
                    roles?: (...) | (...);
                    users?: (...) | (...);
                };
                flirtation_threshold: number;
                for?: {
                    channels?: (...) | (...);
                    roles?: (...) | (...);
                    users?: (...) | (...);
                };
                identity_attack_threshold: number;
                insult_threshold: number;
                is_bypasser: boolean;
                mode: "normal" | "invert";
                name: null | string;
                profanity_threshold: number;
                severe_toxicity_threshold: number;
                sexual_explicit_threshold: number;
                threat_threshold: number;
                toxicity_threshold: number;
                type: "ai_scan";
            }
            | {
                actions: (
                    | {
                        delete_timeframe?: ...;
                        duration?: ...;
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        duration?: ...;
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        duration?: ...;
                        mode: ...;
                        notify?: ...;
                        reason?: ...;
                        roles: ...;
                        type: ...;
                    }
                    | {
                        type: ...;
                    }
                    | {
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        notify: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        count: ...;
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        type: ...;
                    })[];
                bail: boolean;
                bypasses: null | string[];
                enabled: boolean;
                exceptions?: {
                    channels?: (...) | (...);
                    roles?: (...) | (...);
                    users?: (...) | (...);
                };
                for?: {
                    channels?: (...) | (...);
                    roles?: (...) | (...);
                    users?: (...) | (...);
                };
                is_bypasser: boolean;
                mode: "normal" | "invert";
                name: null | string;
                normalize: boolean;
                regex_patterns: string[];
                tokens: string[];
                type: "profile_filter";
                words: string[];
            })[];
    }, {
        enabled?: boolean;
        global_disabled_channels?: string[];
        rules?: (
            | {
                actions?: (...)[];
                bail?: boolean;
                bypasses?: null | (...)[];
                domains?: (...)[];
                enabled?: boolean;
                exceptions?: {
                    channels?: ...;
                    roles?: ...;
                    users?: ...;
                };
                for?: {
                    channels?: ...;
                    roles?: ...;
                    users?: ...;
                };
                is_bypasser?: boolean;
                mode?: "normal" | "invert";
                name?: null | string;
                scan_links_only?: boolean;
                type: "domain_filter";
            }
            | {
                actions?: (...)[];
                bail?: boolean;
                bypasses?: null | (...)[];
                data?: (...)[];
                enabled?: boolean;
                exceptions?: {
                    channels?: ...;
                    roles?: ...;
                    users?: ...;
                };
                for?: {
                    channels?: ...;
                    roles?: ...;
                    users?: ...;
                };
                is_bypasser?: boolean;
                mode?: "normal" | "invert";
                name?: null | string;
                type: "mime_type_filter";
            }
            | {
                actions?: (...)[];
                bail?: boolean;
                bypasses?: null | (...)[];
                data?: (...)[];
                enabled?: boolean;
                exceptions?: {
                    channels?: ...;
                    roles?: ...;
                    users?: ...;
                };
                for?: {
                    channels?: ...;
                    roles?: ...;
                    users?: ...;
                };
                is_bypasser?: boolean;
                mode?: "normal" | "invert";
                name?: null | string;
                type: "file_extension_filter";
            }
            | {
                actions?: (...)[];
                allow_internal_invites?: boolean;
                allowed_invite_codes?: (...)[];
                bail?: boolean;
                bypasses?: null | (...)[];
                enabled?: boolean;
                exceptions?: {
                    channels?: ...;
                    roles?: ...;
                    users?: ...;
                };
                for?: {
                    channels?: ...;
                    roles?: ...;
                    users?: ...;
                };
                is_bypasser?: boolean;
                mode?: "normal" | "invert";
                name?: null | string;
                type: "anti_invite";
            }
            | {
                actions?: (...)[];
                bail?: boolean;
                bypasses?: null | (...)[];
                enabled?: boolean;
                exceptions?: {
                    channels?: ...;
                    roles?: ...;
                    users?: ...;
                };
                for?: {
                    channels?: ...;
                    roles?: ...;
                    users?: ...;
                };
                is_bypasser?: boolean;
                mode?: "normal" | "invert";
                name?: null | string;
                patterns?: (...)[];
                type: "regex_filter";
            }
            | {
                actions?: (...)[];
                bail?: boolean;
                bypasses?: null | (...)[];
                enabled?: boolean;
                exceptions?: {
                    channels?: ...;
                    roles?: ...;
                    users?: ...;
                };
                for?: {
                    channels?: ...;
                    roles?: ...;
                    users?: ...;
                };
                is_bypasser?: boolean;
                max_repeated_chars?: number;
                max_repeated_words?: number;
                mode?: "normal" | "invert";
                name?: null | string;
                type: "repeated_text_filter";
            }
            | {
                actions?: (...)[];
                bail?: boolean;
                bypasses?: null | (...)[];
                enabled?: boolean;
                exceptions?: {
                    channels?: ...;
                    roles?: ...;
                    users?: ...;
                };
                for?: {
                    channels?: ...;
                    roles?: ...;
                    users?: ...;
                };
                is_bypasser?: boolean;
                max_mentions?: number;
                max_role_mentions?: number;
                max_user_mentions?: number;
                mode?: "normal" | "invert";
                name?: null | string;
                type: "mass_mention_filter";
            }
            | {
                actions?: (...)[];
                bail?: boolean;
                bypasses?: null | (...)[];
                enabled?: boolean;
                exceptions?: {
                    channels?: ...;
                    roles?: ...;
                    users?: ...;
                };
                for?: {
                    channels?: ...;
                    roles?: ...;
                    users?: ...;
                };
                inherit_from_word_filter?: boolean;
                is_bypasser?: boolean;
                mode?: "normal" | "invert";
                name?: null | string;
                scan_embeds?: boolean;
                tokens?: (...)[];
                type: "image_filter";
                words?: (...)[];
            }
            | {
                actions?: (...)[];
                bail?: boolean;
                bypasses?: null | (...)[];
                enabled?: boolean;
                exceptions?: {
                    channels?: ...;
                    roles?: ...;
                    users?: ...;
                };
                for?: {
                    channels?: ...;
                    roles?: ...;
                    users?: ...;
                };
                inherit_from_word_filter?: boolean;
                is_bypasser?: boolean;
                mode?: "normal" | "invert";
                name?: null | string;
                tokens?: (...)[];
                type: "embed_filter";
                words?: (...)[];
            }
            | {
                actions?: (...)[];
                bail?: boolean;
                bypasses?: null | (...)[];
                enabled?: boolean;
                exceptions?: {
                    channels?: ...;
                    roles?: ...;
                    users?: ...;
                };
                excluded_domains_regex?: (...)[];
                excluded_link_regex?: (...)[];
                excluded_links?: (...)[];
                for?: {
                    channels?: ...;
                    roles?: ...;
                    users?: ...;
                };
                is_bypasser?: boolean;
                mode?: "normal" | "invert";
                name?: null | string;
                tokens?: (...)[];
                type: "EXPERIMENTAL_url_crawl";
                words?: (...)[];
            }
            | {
                actions?: (...)[];
                bail?: boolean;
                bypasses?: null | (...)[];
                enabled?: boolean;
                exceptions?: {
                    channels?: ...;
                    roles?: ...;
                    users?: ...;
                };
                for?: {
                    channels?: ...;
                    roles?: ...;
                    users?: ...;
                };
                is_bypasser?: boolean;
                mode?: "normal" | "invert";
                name?: null | string;
                score_thresholds?: {
                    hentai?: ...;
                    porn?: ...;
                    sexy?: ...;
                };
                type: "EXPERIMENTAL_nsfw_filter";
            }
            | {
                actions?: (...)[];
                bail?: boolean;
                bypasses?: null | (...)[];
                enabled?: boolean;
                exceptions?: {
                    channels?: ...;
                    roles?: ...;
                    users?: ...;
                };
                for?: {
                    channels?: ...;
                    roles?: ...;
                    users?: ...;
                };
                is_bypasser?: boolean;
                mode?: "normal" | "invert";
                name?: null | string;
                normalize?: boolean;
                tokens?: (...)[];
                type: "word_filter";
                words?: (...)[];
            }
            | {
                actions?: (...)[];
                bail?: boolean;
                bypasses?: null | (...)[];
                check_mime_types?: boolean;
                enabled?: boolean;
                exceptions?: {
                    channels?: ...;
                    roles?: ...;
                    users?: ...;
                };
                for?: {
                    channels?: ...;
                    roles?: ...;
                    users?: ...;
                };
                hashes?: Record<(...), (...)>;
                is_bypasser?: boolean;
                mode?: "normal" | "invert";
                name?: null | string;
                type: "file_filter";
            }
            | {
                actions?: (...)[];
                bail?: boolean;
                bypasses?: null | (...)[];
                enabled?: boolean;
                exceptions?: {
                    channels?: ...;
                    roles?: ...;
                    users?: ...;
                };
                flirtation_threshold?: number;
                for?: {
                    channels?: ...;
                    roles?: ...;
                    users?: ...;
                };
                identity_attack_threshold?: number;
                insult_threshold?: number;
                is_bypasser?: boolean;
                mode?: "normal" | "invert";
                name?: null | string;
                profanity_threshold?: number;
                severe_toxicity_threshold?: number;
                sexual_explicit_threshold?: number;
                threat_threshold?: number;
                toxicity_threshold?: number;
                type: "ai_scan";
            }
            | {
                actions?: (...)[];
                bail?: boolean;
                bypasses?: null | (...)[];
                enabled?: boolean;
                exceptions?: {
                    channels?: ...;
                    roles?: ...;
                    users?: ...;
                };
                for?: {
                    channels?: ...;
                    roles?: ...;
                    users?: ...;
                };
                is_bypasser?: boolean;
                mode?: "normal" | "invert";
                name?: null | string;
                normalize?: boolean;
                regex_patterns?: (...)[];
                tokens?: (...)[];
                type: "profile_filter";
                words?: (...)[];
            })[];
    }>>;
    survey_system: ZodOptional<ZodObject<{
        default_log_channel: ZodOptional<ZodType<string, ZodTypeDef, string>>;
        enabled: ZodDefault<ZodBoolean>;
        surveys: ZodDefault<ZodRecord<ZodString, ZodObject<{
            description: ZodOptional<ZodString>;
            end_message: ZodOptional<ZodString>;
            log_channel: ZodOptional<ZodType<(...), (...), (...)>>;
            name: ZodString;
            questions: ZodArray<ZodObject<(...), (...), (...), (...), (...)>, "atleastone">;
            required_channels: ZodDefault<ZodArray<(...), (...)>>;
            required_permissions: ZodDefault<ZodArray<(...), (...)>>;
            required_roles: ZodDefault<ZodArray<(...), (...)>>;
            required_users: ZodDefault<ZodArray<(...), (...)>>;
        }, "strip", ZodTypeAny, {
            description?: string;
            end_message?: string;
            log_channel?: string;
            name: string;
            questions: [{
                default_value?: ...;
                maxLength?: ...;
                minLength?: ...;
                placeholder?: ...;
                question: ...;
                required: ...;
                type: ...;
            }, ...{
                default_value?: ...;
                maxLength?: ...;
                minLength?: ...;
                placeholder?: ...;
                question: ...;
                required: ...;
                type: ...;
            }[]];
            required_channels: string[];
            required_permissions: string[];
            required_roles: string[];
            required_users: string[];
        }, {
            description?: string;
            end_message?: string;
            log_channel?: string;
            name: string;
            questions: [{
                default_value?: ...;
                maxLength?: ...;
                minLength?: ...;
                placeholder?: ...;
                question: ...;
                required?: ...;
                type: ...;
            }, ...{
                default_value?: ...;
                maxLength?: ...;
                minLength?: ...;
                placeholder?: ...;
                question: ...;
                required?: ...;
                type: ...;
            }[]];
            required_channels?: (...)[];
            required_permissions?: (...)[];
            required_roles?: (...)[];
            required_users?: (...)[];
        }>>>;
    }, "strip", ZodTypeAny, {
        default_log_channel?: string;
        enabled: boolean;
        surveys: Record<string, {
            description?: string;
            end_message?: string;
            log_channel?: string;
            name: string;
            questions: [{
                default_value?: string;
                maxLength?: number;
                minLength?: number;
                placeholder?: string;
                question: string;
                required: boolean;
                type: "paragraph" | "short";
            }, ...{
                default_value?: string;
                maxLength?: number;
                minLength?: number;
                placeholder?: string;
                question: string;
                required: boolean;
                type: "paragraph" | "short";
            }[]];
            required_channels: string[];
            required_permissions: string[];
            required_roles: string[];
            required_users: string[];
        }>;
    }, {
        default_log_channel?: string;
        enabled?: boolean;
        surveys?: Record<string, {
            description?: string;
            end_message?: string;
            log_channel?: string;
            name: string;
            questions: [{
                default_value?: (...) | (...);
                maxLength?: (...) | (...);
                minLength?: (...) | (...);
                placeholder?: (...) | (...);
                question: string;
                required?: (...) | (...) | (...);
                type: (...) | (...);
            }, ...{
                default_value?: (...) | (...);
                maxLength?: (...) | (...);
                minLength?: (...) | (...);
                placeholder?: (...) | (...);
                question: string;
                required?: (...) | (...) | (...);
                type: (...) | (...);
            }[]];
            required_channels?: string[];
            required_permissions?: string[];
            required_roles?: string[];
            required_users?: string[];
        }>;
    }>>;
    welcomer: ZodOptional<ZodObject<{
        channel: ZodType<string, ZodTypeDef, string>;
        custom_message: ZodOptional<ZodString>;
        delete_after: ZodOptional<ZodNumber>;
        enabled: ZodDefault<ZodBoolean>;
        force_embeds: ZodDefault<ZodBoolean>;
        forced_embed_color: ZodOptional<ZodNumber>;
        mention: ZodDefault<ZodOptional<ZodBoolean>>;
        randomize: ZodDefault<ZodOptional<ZodBoolean>>;
        say_hi_button: ZodOptional<ZodObject<{
            emoji: ZodDefault<ZodOptional<ZodString>>;
            enabled: ZodDefault<ZodOptional<ZodBoolean>>;
            expire_after: ZodNullable<ZodDefault<ZodNumber>>;
            label: ZodDefault<ZodOptional<ZodString>>;
            reply: ZodDefault<ZodOptional<ZodString>>;
        }, "strip", ZodTypeAny, {
            emoji: string;
            enabled: boolean;
            expire_after: null | number;
            label: string;
            reply: string;
        }, {
            emoji?: string;
            enabled?: boolean;
            expire_after?: null | number;
            label?: string;
            reply?: string;
        }>>;
    }, "strip", ZodTypeAny, {
        channel: string;
        custom_message?: string;
        delete_after?: number;
        enabled: boolean;
        force_embeds: boolean;
        forced_embed_color?: number;
        mention: boolean;
        randomize: boolean;
        say_hi_button?: {
            emoji: string;
            enabled: boolean;
            expire_after: null | number;
            label: string;
            reply: string;
        };
    }, {
        channel: string;
        custom_message?: string;
        delete_after?: number;
        enabled?: boolean;
        force_embeds?: boolean;
        forced_embed_color?: number;
        mention?: boolean;
        randomize?: boolean;
        say_hi_button?: {
            emoji?: string;
            enabled?: boolean;
            expire_after?: null | number;
            label?: string;
            reply?: string;
        };
    }>>;
}, "strip", ZodTypeAny, {
    ai_automod?: {
        actions: (
            | {
                delete_timeframe?: number;
                duration?: number;
                notify?: boolean;
                reason?: string;
                type: "ban";
            }
            | {
                notify?: boolean;
                reason?: string;
                type: "kick";
            }
            | {
                duration?: number;
                notify?: boolean;
                reason?: string;
                type: "mute";
            }
            | {
                duration?: number;
                mode: "give" | "take";
                notify?: boolean;
                reason?: string;
                roles: string[];
                type: "role";
            }
            | {
                type: "none";
            }
            | {
                notify?: boolean;
                reason?: string;
                type: "warn";
            }
            | {
                notify: true;
                reason?: string;
                type: "verbal_warn";
            }
            | {
                count: number;
                notify?: boolean;
                reason?: string;
                type: "clear";
            }
            | {
                type: "delete_message";
            })[];
        automatic_actions?: {
            enabled: boolean;
            stops: Record<string, (
                | {
                    delete_timeframe?: (...) | (...);
                    duration?: (...) | (...);
                    notify?: (...) | (...) | (...);
                    reason?: (...) | (...);
                    type: "ban";
                }
                | {
                    notify?: (...) | (...) | (...);
                    reason?: (...) | (...);
                    type: "kick";
                }
                | {
                    duration?: (...) | (...);
                    notify?: (...) | (...) | (...);
                    reason?: (...) | (...);
                    type: "mute";
                }
                | {
                    duration?: (...) | (...);
                    mode: (...) | (...);
                    notify?: (...) | (...) | (...);
                    reason?: (...) | (...);
                    roles: (...)[];
                    type: "role";
                }
                | {
                    type: "none";
                }
                | {
                    notify?: (...) | (...) | (...);
                    reason?: (...) | (...);
                    type: "warn";
                }
                | {
                    notify: true;
                    reason?: (...) | (...);
                    type: "verbal_warn";
                }
                | {
                    count: number;
                    notify?: (...) | (...) | (...);
                    reason?: (...) | (...);
                    type: "clear";
                }
                | {
                    type: "delete_message";
                })[]>;
        };
        enabled: boolean;
        evaluate_after_attempts: number;
        evaluation_cache_expires_in: number;
        exception_regex_patterns: (string | [string, string])[];
        max_individual_scores?: {
            flirtation: number;
            identity_attack: number;
            incoherent: number;
            insult: number;
            obscene: number;
            profanity: number;
            severe_toxicity: number;
            sexually_explicit: number;
            spam: number;
            threat: number;
            toxicity: number;
            unsubstantial: number;
        };
        max_single_score: number;
        max_total_score: number;
    };
    anti_member_join?: {
        ban_duration?: number;
        behavior: "ban" | "kick";
        custom_reason?: string;
        enabled: boolean;
        ignore_bots: boolean;
    };
    antispam?: {
        actions: (
            | {
                delete_timeframe?: number;
                duration?: number;
                notify?: boolean;
                reason?: string;
                type: "ban";
            }
            | {
                notify?: boolean;
                reason?: string;
                type: "kick";
            }
            | {
                duration?: number;
                notify?: boolean;
                reason?: string;
                type: "mute";
            }
            | {
                duration?: number;
                mode: "give" | "take";
                notify?: boolean;
                reason?: string;
                roles: string[];
                type: "role";
            }
            | {
                type: "none";
            }
            | {
                notify?: boolean;
                reason?: string;
                type: "warn";
            }
            | {
                notify: true;
                reason?: string;
                type: "verbal_warn";
            }
            | {
                count: number;
                notify?: boolean;
                reason?: string;
                type: "clear";
            }
            | {
                type: "delete_message";
            })[];
        channels: {
            list: string[];
            mode: "exclude" | "include";
        };
        enabled: boolean;
        limit: number;
        timeframe: number;
    };
    auto_role?: {
        enabled: boolean;
        ignore_bots: boolean;
        roles: string[];
    };
    auto_triggers?: {
        enabled: boolean;
        global_disabled_channels: string[];
        triggers: ({
            buttons: {
                label: string;
                url: string;
            }[];
            enabled_channels: string[] | "all";
            ignore_roles: string[];
            ignore_users: string[];
            message: string;
            type: "sticky_message";
        } | {
            action: "assign_role" | "take_away_role";
            enabled_channels: string[] | "all";
            ignore_roles: string[];
            ignore_users: string[];
            must_contain: string[];
            must_not_contain: string[];
            roles: string[];
            type: "member_status_update";
        })[];
    };
    bump_reminder?: {
        disabled_channels: string[];
        enabled?: boolean;
        on_bump_content?: string;
        remind_after: number;
        reminder_content?: string;
    };
    channel_archives?: {
        archive_category: string;
        enabled: boolean;
        ignored_channels: string[];
    };
    commands: {
        channels: {
            list: string[];
            mode: "exclude" | "include";
        };
        disabled_commands: string[];
        mention_prefix: boolean;
        moderation_command_behavior: "delete" | "default";
        ratelimiting?: {
            block_duration: number;
            enabled: boolean;
            max_attempts: number;
            overrides: Record<string, {
                block_duration: number;
                enabled: boolean;
                max_attempts: number;
                timeframe: number;
            }>;
            timeframe: number;
        };
        rerun_on_edit: boolean;
        respond_on_precondition_fail: boolean;
        troll_command_immune_users: string[];
    };
    debug_mode: boolean;
    echoing?: {
        allow_mentions: boolean;
    };
    extensions?: {
        disabled_extensions: string[];
        enabled?: boolean;
        installed_extensions: string[];
    };
    infractions: {
        dm_fallback: "none" | "create_channel" | "create_thread";
        dm_fallback_channel_expires_in: number;
        dm_fallback_parent_channel?: string;
        points: {
            ban: number;
            clear: number;
            kick: number;
            massban: number;
            masskick: number;
            mod_message: number;
            mute: number;
            note: number;
            role: number;
            softban: number;
            tempban: number;
            timeout: number;
            unban: number;
            warning: number;
        };
        reason_template_placeholder_wrapper: string;
        reason_templates: Record<string, string>;
        send_ids_to_user: boolean;
    };
    logging?: {
        bulk_delete_send_json: boolean;
        default_enabled: boolean;
        enabled: boolean;
        exclusions: {
            events?: LogEventType[];
            mode: "exclude" | "include";
            snowflakes: string[];
            type: "channel" | "user" | "category_channel";
        }[];
        global_ignored_channels: string[];
        hooks: Record<string, string>;
        overrides: ({
            channel: string;
            enabled: true;
            events: [LogEventType, ...LogEventType[]];
        } | {
            enabled: false;
            events: [LogEventType, ...LogEventType[]];
        })[];
        primary_channel?: string;
        unsubscribed_events: LogEventType[];
    };
    member_verification?: {
        channel?: string;
        conditions: {
            age_less_than?: number;
            always: boolean;
            no_avatar?: boolean;
        };
        enabled: boolean;
        expired_actions: (
            | {
                delete_timeframe?: number;
                duration?: number;
                notify?: boolean;
                reason?: string;
                type: "ban";
            }
            | {
                notify?: boolean;
                reason?: string;
                type: "kick";
            }
            | {
                duration?: number;
                notify?: boolean;
                reason?: string;
                type: "mute";
            }
            | {
                duration?: number;
                mode: "give" | "take";
                notify?: boolean;
                reason?: string;
                roles: string[];
                type: "role";
            }
            | {
                type: "none";
            }
            | {
                notify?: boolean;
                reason?: string;
                type: "warn";
            }
            | {
                notify: true;
                reason?: string;
                type: "verbal_warn";
            }
            | {
                count: number;
                notify?: boolean;
                reason?: string;
                type: "clear";
            }
            | {
                type: "delete_message";
            })[];
        max_duration?: number;
        method: "channel_interaction" | "dm_interaction";
        success_message?: string;
        unverified_roles: string[];
        verification_message?: string;
        verified_roles: string[];
    };
    message_reporting?: {
        action_required_permissions: {
            ban: string[];
            ignore: string[];
            kick: string[];
            mute: string[];
            warn: string[];
        };
        enabled: boolean;
        logging_channel?: string;
        permission_level?: number;
        permissions: string[];
        roles: string[];
        users: string[];
    };
    muting?: {
        role?: string;
    };
    permissions: {
        check_discord_permissions:
            | "never"
            | "always"
            | "during_automod"
            | "during_manual_actions";
        command_permission_mode?: "ignore" | "overwrite" | "check";
        invincible?: {
            roles: string[];
            users: string[];
        };
        mode?: "discord" | "levels" | "layered";
    };
    prefix: string;
    quick_mute?: {
        default_duration?: number;
        enabled: boolean;
        mute_clear_emoji?: string;
        mute_emoji?: string;
        reason?: string;
    };
    raid_protection?: {
        action:
            | "none"
            | "lock"
            | "lock_and_antijoin"
            | "antijoin"
            | "auto";
        channel_mode: "exclude" | "include";
        channels: string[];
        enabled: boolean;
        member_actions: (
            | {
                delete_timeframe?: number;
                duration?: number;
                notify?: boolean;
                reason?: string;
                type: "ban";
            }
            | {
                notify?: boolean;
                reason?: string;
                type: "kick";
            }
            | {
                duration?: number;
                notify?: boolean;
                reason?: string;
                type: "mute";
            }
            | {
                duration?: number;
                mode: "give" | "take";
                notify?: boolean;
                reason?: string;
                roles: string[];
                type: "role";
            }
            | {
                type: "none";
            }
            | {
                notify?: boolean;
                reason?: string;
                type: "warn";
            }
            | {
                notify: true;
                reason?: string;
                type: "verbal_warn";
            }
            | {
                count: number;
                notify?: boolean;
                reason?: string;
                type: "clear";
            }
            | {
                type: "delete_message";
            })[];
        send_log: boolean;
        threshold: number;
        timeframe: number;
    };
    reaction_roles?: {
        enabled: boolean;
        ignore_bots: boolean;
        ratelimiting?: {
            block_duration: number;
            enabled: boolean;
            max_attempts: number;
            timeframe: number;
        };
    };
    rule_moderation?: {
        enabled: boolean;
        global_disabled_channels: string[];
        rules: (
            | {
                actions: (
                    | {
                        delete_timeframe?: (...) | (...);
                        duration?: (...) | (...);
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "ban";
                    }
                    | {
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "kick";
                    }
                    | {
                        duration?: (...) | (...);
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "mute";
                    }
                    | {
                        duration?: (...) | (...);
                        mode: (...) | (...);
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        roles: (...)[];
                        type: "role";
                    }
                    | {
                        type: "none";
                    }
                    | {
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "warn";
                    }
                    | {
                        notify: true;
                        reason?: (...) | (...);
                        type: "verbal_warn";
                    }
                    | {
                        count: number;
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "clear";
                    }
                    | {
                        type: "delete_message";
                    })[];
                bail: boolean;
                bypasses: null | string[];
                domains: string[];
                enabled: boolean;
                exceptions?: {
                    channels?: (...)[];
                    roles?: (...)[];
                    users?: (...)[];
                };
                for?: {
                    channels?: (...)[];
                    roles?: (...)[];
                    users?: (...)[];
                };
                is_bypasser: boolean;
                mode: "normal" | "invert";
                name: null | string;
                scan_links_only: boolean;
                type: "domain_filter";
            }
            | {
                actions: (
                    | {
                        delete_timeframe?: (...) | (...);
                        duration?: (...) | (...);
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "ban";
                    }
                    | {
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "kick";
                    }
                    | {
                        duration?: (...) | (...);
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "mute";
                    }
                    | {
                        duration?: (...) | (...);
                        mode: (...) | (...);
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        roles: (...)[];
                        type: "role";
                    }
                    | {
                        type: "none";
                    }
                    | {
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "warn";
                    }
                    | {
                        notify: true;
                        reason?: (...) | (...);
                        type: "verbal_warn";
                    }
                    | {
                        count: number;
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "clear";
                    }
                    | {
                        type: "delete_message";
                    })[];
                bail: boolean;
                bypasses: null | string[];
                data: string[];
                enabled: boolean;
                exceptions?: {
                    channels?: (...)[];
                    roles?: (...)[];
                    users?: (...)[];
                };
                for?: {
                    channels?: (...)[];
                    roles?: (...)[];
                    users?: (...)[];
                };
                is_bypasser: boolean;
                mode: "normal" | "invert";
                name: null | string;
                type: "mime_type_filter";
            }
            | {
                actions: (
                    | {
                        delete_timeframe?: (...) | (...);
                        duration?: (...) | (...);
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "ban";
                    }
                    | {
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "kick";
                    }
                    | {
                        duration?: (...) | (...);
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "mute";
                    }
                    | {
                        duration?: (...) | (...);
                        mode: (...) | (...);
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        roles: (...)[];
                        type: "role";
                    }
                    | {
                        type: "none";
                    }
                    | {
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "warn";
                    }
                    | {
                        notify: true;
                        reason?: (...) | (...);
                        type: "verbal_warn";
                    }
                    | {
                        count: number;
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "clear";
                    }
                    | {
                        type: "delete_message";
                    })[];
                bail: boolean;
                bypasses: null | string[];
                data: string[];
                enabled: boolean;
                exceptions?: {
                    channels?: (...)[];
                    roles?: (...)[];
                    users?: (...)[];
                };
                for?: {
                    channels?: (...)[];
                    roles?: (...)[];
                    users?: (...)[];
                };
                is_bypasser: boolean;
                mode: "normal" | "invert";
                name: null | string;
                type: "file_extension_filter";
            }
            | {
                actions: (
                    | {
                        delete_timeframe?: (...) | (...);
                        duration?: (...) | (...);
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "ban";
                    }
                    | {
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "kick";
                    }
                    | {
                        duration?: (...) | (...);
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "mute";
                    }
                    | {
                        duration?: (...) | (...);
                        mode: (...) | (...);
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        roles: (...)[];
                        type: "role";
                    }
                    | {
                        type: "none";
                    }
                    | {
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "warn";
                    }
                    | {
                        notify: true;
                        reason?: (...) | (...);
                        type: "verbal_warn";
                    }
                    | {
                        count: number;
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "clear";
                    }
                    | {
                        type: "delete_message";
                    })[];
                allow_internal_invites: boolean;
                allowed_invite_codes: string[];
                bail: boolean;
                bypasses: null | string[];
                enabled: boolean;
                exceptions?: {
                    channels?: (...)[];
                    roles?: (...)[];
                    users?: (...)[];
                };
                for?: {
                    channels?: (...)[];
                    roles?: (...)[];
                    users?: (...)[];
                };
                is_bypasser: boolean;
                mode: "normal" | "invert";
                name: null | string;
                type: "anti_invite";
            }
            | {
                actions: (
                    | {
                        delete_timeframe?: (...) | (...);
                        duration?: (...) | (...);
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "ban";
                    }
                    | {
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "kick";
                    }
                    | {
                        duration?: (...) | (...);
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "mute";
                    }
                    | {
                        duration?: (...) | (...);
                        mode: (...) | (...);
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        roles: (...)[];
                        type: "role";
                    }
                    | {
                        type: "none";
                    }
                    | {
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "warn";
                    }
                    | {
                        notify: true;
                        reason?: (...) | (...);
                        type: "verbal_warn";
                    }
                    | {
                        count: number;
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "clear";
                    }
                    | {
                        type: "delete_message";
                    })[];
                bail: boolean;
                bypasses: null | string[];
                enabled: boolean;
                exceptions?: {
                    channels?: (...)[];
                    roles?: (...)[];
                    users?: (...)[];
                };
                for?: {
                    channels?: (...)[];
                    roles?: (...)[];
                    users?: (...)[];
                };
                is_bypasser: boolean;
                mode: "normal" | "invert";
                name: null | string;
                patterns: (string | [string, string])[];
                type: "regex_filter";
            }
            | {
                actions: (
                    | {
                        delete_timeframe?: (...) | (...);
                        duration?: (...) | (...);
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "ban";
                    }
                    | {
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "kick";
                    }
                    | {
                        duration?: (...) | (...);
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "mute";
                    }
                    | {
                        duration?: (...) | (...);
                        mode: (...) | (...);
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        roles: (...)[];
                        type: "role";
                    }
                    | {
                        type: "none";
                    }
                    | {
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "warn";
                    }
                    | {
                        notify: true;
                        reason?: (...) | (...);
                        type: "verbal_warn";
                    }
                    | {
                        count: number;
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "clear";
                    }
                    | {
                        type: "delete_message";
                    })[];
                bail: boolean;
                bypasses: null | string[];
                enabled: boolean;
                exceptions?: {
                    channels?: (...)[];
                    roles?: (...)[];
                    users?: (...)[];
                };
                for?: {
                    channels?: (...)[];
                    roles?: (...)[];
                    users?: (...)[];
                };
                is_bypasser: boolean;
                max_repeated_chars: number;
                max_repeated_words: number;
                mode: "normal" | "invert";
                name: null | string;
                type: "repeated_text_filter";
            }
            | {
                actions: (
                    | {
                        delete_timeframe?: (...) | (...);
                        duration?: (...) | (...);
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "ban";
                    }
                    | {
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "kick";
                    }
                    | {
                        duration?: (...) | (...);
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "mute";
                    }
                    | {
                        duration?: (...) | (...);
                        mode: (...) | (...);
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        roles: (...)[];
                        type: "role";
                    }
                    | {
                        type: "none";
                    }
                    | {
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "warn";
                    }
                    | {
                        notify: true;
                        reason?: (...) | (...);
                        type: "verbal_warn";
                    }
                    | {
                        count: number;
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "clear";
                    }
                    | {
                        type: "delete_message";
                    })[];
                bail: boolean;
                bypasses: null | string[];
                enabled: boolean;
                exceptions?: {
                    channels?: (...)[];
                    roles?: (...)[];
                    users?: (...)[];
                };
                for?: {
                    channels?: (...)[];
                    roles?: (...)[];
                    users?: (...)[];
                };
                is_bypasser: boolean;
                max_mentions: number;
                max_role_mentions: number;
                max_user_mentions: number;
                mode: "normal" | "invert";
                name: null | string;
                type: "mass_mention_filter";
            }
            | {
                actions: (
                    | {
                        delete_timeframe?: (...) | (...);
                        duration?: (...) | (...);
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "ban";
                    }
                    | {
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "kick";
                    }
                    | {
                        duration?: (...) | (...);
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "mute";
                    }
                    | {
                        duration?: (...) | (...);
                        mode: (...) | (...);
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        roles: (...)[];
                        type: "role";
                    }
                    | {
                        type: "none";
                    }
                    | {
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "warn";
                    }
                    | {
                        notify: true;
                        reason?: (...) | (...);
                        type: "verbal_warn";
                    }
                    | {
                        count: number;
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "clear";
                    }
                    | {
                        type: "delete_message";
                    })[];
                bail: boolean;
                bypasses: null | string[];
                enabled: boolean;
                exceptions?: {
                    channels?: (...)[];
                    roles?: (...)[];
                    users?: (...)[];
                };
                for?: {
                    channels?: (...)[];
                    roles?: (...)[];
                    users?: (...)[];
                };
                inherit_from_word_filter: boolean;
                is_bypasser: boolean;
                mode: "normal" | "invert";
                name: null | string;
                scan_embeds: boolean;
                tokens: string[];
                type: "image_filter";
                words: string[];
            }
            | {
                actions: (
                    | {
                        delete_timeframe?: (...) | (...);
                        duration?: (...) | (...);
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "ban";
                    }
                    | {
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "kick";
                    }
                    | {
                        duration?: (...) | (...);
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "mute";
                    }
                    | {
                        duration?: (...) | (...);
                        mode: (...) | (...);
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        roles: (...)[];
                        type: "role";
                    }
                    | {
                        type: "none";
                    }
                    | {
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "warn";
                    }
                    | {
                        notify: true;
                        reason?: (...) | (...);
                        type: "verbal_warn";
                    }
                    | {
                        count: number;
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "clear";
                    }
                    | {
                        type: "delete_message";
                    })[];
                bail: boolean;
                bypasses: null | string[];
                enabled: boolean;
                exceptions?: {
                    channels?: (...)[];
                    roles?: (...)[];
                    users?: (...)[];
                };
                for?: {
                    channels?: (...)[];
                    roles?: (...)[];
                    users?: (...)[];
                };
                inherit_from_word_filter: boolean;
                is_bypasser: boolean;
                mode: "normal" | "invert";
                name: null | string;
                tokens: string[];
                type: "embed_filter";
                words: string[];
            }
            | {
                actions: (
                    | {
                        delete_timeframe?: (...) | (...);
                        duration?: (...) | (...);
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "ban";
                    }
                    | {
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "kick";
                    }
                    | {
                        duration?: (...) | (...);
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "mute";
                    }
                    | {
                        duration?: (...) | (...);
                        mode: (...) | (...);
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        roles: (...)[];
                        type: "role";
                    }
                    | {
                        type: "none";
                    }
                    | {
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "warn";
                    }
                    | {
                        notify: true;
                        reason?: (...) | (...);
                        type: "verbal_warn";
                    }
                    | {
                        count: number;
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "clear";
                    }
                    | {
                        type: "delete_message";
                    })[];
                bail: boolean;
                bypasses: null | string[];
                enabled: boolean;
                exceptions?: {
                    channels?: (...)[];
                    roles?: (...)[];
                    users?: (...)[];
                };
                excluded_domains_regex: string[];
                excluded_link_regex: string[];
                excluded_links: string[];
                for?: {
                    channels?: (...)[];
                    roles?: (...)[];
                    users?: (...)[];
                };
                is_bypasser: boolean;
                mode: "normal" | "invert";
                name: null | string;
                tokens: string[];
                type: "EXPERIMENTAL_url_crawl";
                words: string[];
            }
            | {
                actions: (
                    | {
                        delete_timeframe?: (...) | (...);
                        duration?: (...) | (...);
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "ban";
                    }
                    | {
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "kick";
                    }
                    | {
                        duration?: (...) | (...);
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "mute";
                    }
                    | {
                        duration?: (...) | (...);
                        mode: (...) | (...);
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        roles: (...)[];
                        type: "role";
                    }
                    | {
                        type: "none";
                    }
                    | {
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "warn";
                    }
                    | {
                        notify: true;
                        reason?: (...) | (...);
                        type: "verbal_warn";
                    }
                    | {
                        count: number;
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "clear";
                    }
                    | {
                        type: "delete_message";
                    })[];
                bail: boolean;
                bypasses: null | string[];
                enabled: boolean;
                exceptions?: {
                    channels?: (...)[];
                    roles?: (...)[];
                    users?: (...)[];
                };
                for?: {
                    channels?: (...)[];
                    roles?: (...)[];
                    users?: (...)[];
                };
                is_bypasser: boolean;
                mode: "normal" | "invert";
                name: null | string;
                score_thresholds: {
                    hentai: number;
                    porn: number;
                    sexy: number;
                };
                type: "EXPERIMENTAL_nsfw_filter";
            }
            | {
                actions: (
                    | {
                        delete_timeframe?: (...) | (...);
                        duration?: (...) | (...);
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "ban";
                    }
                    | {
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "kick";
                    }
                    | {
                        duration?: (...) | (...);
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "mute";
                    }
                    | {
                        duration?: (...) | (...);
                        mode: (...) | (...);
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        roles: (...)[];
                        type: "role";
                    }
                    | {
                        type: "none";
                    }
                    | {
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "warn";
                    }
                    | {
                        notify: true;
                        reason?: (...) | (...);
                        type: "verbal_warn";
                    }
                    | {
                        count: number;
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "clear";
                    }
                    | {
                        type: "delete_message";
                    })[];
                bail: boolean;
                bypasses: null | string[];
                enabled: boolean;
                exceptions?: {
                    channels?: (...)[];
                    roles?: (...)[];
                    users?: (...)[];
                };
                for?: {
                    channels?: (...)[];
                    roles?: (...)[];
                    users?: (...)[];
                };
                is_bypasser: boolean;
                mode: "normal" | "invert";
                name: null | string;
                normalize: boolean;
                tokens: string[];
                type: "word_filter";
                words: string[];
            }
            | {
                actions: (
                    | {
                        delete_timeframe?: (...) | (...);
                        duration?: (...) | (...);
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "ban";
                    }
                    | {
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "kick";
                    }
                    | {
                        duration?: (...) | (...);
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "mute";
                    }
                    | {
                        duration?: (...) | (...);
                        mode: (...) | (...);
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        roles: (...)[];
                        type: "role";
                    }
                    | {
                        type: "none";
                    }
                    | {
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "warn";
                    }
                    | {
                        notify: true;
                        reason?: (...) | (...);
                        type: "verbal_warn";
                    }
                    | {
                        count: number;
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "clear";
                    }
                    | {
                        type: "delete_message";
                    })[];
                bail: boolean;
                bypasses: null | string[];
                check_mime_types: boolean;
                enabled: boolean;
                exceptions?: {
                    channels?: (...)[];
                    roles?: (...)[];
                    users?: (...)[];
                };
                for?: {
                    channels?: (...)[];
                    roles?: (...)[];
                    users?: (...)[];
                };
                hashes: Record<string, null | string>;
                is_bypasser: boolean;
                mode: "normal" | "invert";
                name: null | string;
                type: "file_filter";
            }
            | {
                actions: (
                    | {
                        delete_timeframe?: (...) | (...);
                        duration?: (...) | (...);
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "ban";
                    }
                    | {
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "kick";
                    }
                    | {
                        duration?: (...) | (...);
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "mute";
                    }
                    | {
                        duration?: (...) | (...);
                        mode: (...) | (...);
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        roles: (...)[];
                        type: "role";
                    }
                    | {
                        type: "none";
                    }
                    | {
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "warn";
                    }
                    | {
                        notify: true;
                        reason?: (...) | (...);
                        type: "verbal_warn";
                    }
                    | {
                        count: number;
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "clear";
                    }
                    | {
                        type: "delete_message";
                    })[];
                bail: boolean;
                bypasses: null | string[];
                enabled: boolean;
                exceptions?: {
                    channels?: (...)[];
                    roles?: (...)[];
                    users?: (...)[];
                };
                flirtation_threshold: number;
                for?: {
                    channels?: (...)[];
                    roles?: (...)[];
                    users?: (...)[];
                };
                identity_attack_threshold: number;
                insult_threshold: number;
                is_bypasser: boolean;
                mode: "normal" | "invert";
                name: null | string;
                profanity_threshold: number;
                severe_toxicity_threshold: number;
                sexual_explicit_threshold: number;
                threat_threshold: number;
                toxicity_threshold: number;
                type: "ai_scan";
            }
            | {
                actions: (
                    | {
                        delete_timeframe?: (...) | (...);
                        duration?: (...) | (...);
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "ban";
                    }
                    | {
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "kick";
                    }
                    | {
                        duration?: (...) | (...);
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "mute";
                    }
                    | {
                        duration?: (...) | (...);
                        mode: (...) | (...);
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        roles: (...)[];
                        type: "role";
                    }
                    | {
                        type: "none";
                    }
                    | {
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "warn";
                    }
                    | {
                        notify: true;
                        reason?: (...) | (...);
                        type: "verbal_warn";
                    }
                    | {
                        count: number;
                        notify?: (...) | (...) | (...);
                        reason?: (...) | (...);
                        type: "clear";
                    }
                    | {
                        type: "delete_message";
                    })[];
                bail: boolean;
                bypasses: null | string[];
                enabled: boolean;
                exceptions?: {
                    channels?: (...)[];
                    roles?: (...)[];
                    users?: (...)[];
                };
                for?: {
                    channels?: (...)[];
                    roles?: (...)[];
                    users?: (...)[];
                };
                is_bypasser: boolean;
                mode: "normal" | "invert";
                name: null | string;
                normalize: boolean;
                regex_patterns: string[];
                tokens: string[];
                type: "profile_filter";
                words: string[];
            })[];
    };
    survey_system?: {
        default_log_channel?: string;
        enabled: boolean;
        surveys: Record<string, {
            description?: string;
            end_message?: string;
            log_channel?: string;
            name: string;
            questions: [{
                default_value?: string;
                maxLength?: number;
                minLength?: number;
                placeholder?: string;
                question: string;
                required: boolean;
                type: "paragraph" | "short";
            }, ...{
                default_value?: string;
                maxLength?: number;
                minLength?: number;
                placeholder?: string;
                question: string;
                required: boolean;
                type: "paragraph" | "short";
            }[]];
            required_channels: string[];
            required_permissions: string[];
            required_roles: string[];
            required_users: string[];
        }>;
    };
    welcomer?: {
        channel: string;
        custom_message?: string;
        delete_after?: number;
        enabled: boolean;
        force_embeds: boolean;
        forced_embed_color?: number;
        mention: boolean;
        randomize: boolean;
        say_hi_button?: {
            emoji: string;
            enabled: boolean;
            expire_after: null | number;
            label: string;
            reply: string;
        };
    };
}, {
    ai_automod?: {
        actions?: (
            | {
                delete_timeframe?: number;
                duration?: number;
                notify?: boolean;
                reason?: string;
                type: "ban";
            }
            | {
                notify?: boolean;
                reason?: string;
                type: "kick";
            }
            | {
                duration?: number;
                notify?: boolean;
                reason?: string;
                type: "mute";
            }
            | {
                duration?: number;
                mode: "give" | "take";
                notify?: boolean;
                reason?: string;
                roles: string[];
                type: "role";
            }
            | {
                type: "none";
            }
            | {
                notify?: boolean;
                reason?: string;
                type: "warn";
            }
            | {
                notify?: true;
                reason?: string;
                type: "verbal_warn";
            }
            | {
                count?: number;
                notify?: boolean;
                reason?: string;
                type: "clear";
            }
            | {
                type: "delete_message";
            })[];
        automatic_actions?: {
            enabled?: boolean;
            stops?: Record<string, (
                | {
                    delete_timeframe?: ...;
                    duration?: ...;
                    notify?: ...;
                    reason?: ...;
                    type: ...;
                }
                | {
                    notify?: ...;
                    reason?: ...;
                    type: ...;
                }
                | {
                    duration?: ...;
                    notify?: ...;
                    reason?: ...;
                    type: ...;
                }
                | {
                    duration?: ...;
                    mode: ...;
                    notify?: ...;
                    reason?: ...;
                    roles: ...;
                    type: ...;
                }
                | {
                    type: ...;
                }
                | {
                    notify?: ...;
                    reason?: ...;
                    type: ...;
                }
                | {
                    notify?: ...;
                    reason?: ...;
                    type: ...;
                }
                | {
                    count?: ...;
                    notify?: ...;
                    reason?: ...;
                    type: ...;
                }
                | {
                    type: ...;
                })[]>;
        };
        enabled?: boolean;
        evaluate_after_attempts?: number;
        evaluation_cache_expires_in?: number;
        exception_regex_patterns?: (string | [string, string])[];
        max_individual_scores?: {
            flirtation?: number;
            identity_attack?: number;
            incoherent?: number;
            insult?: number;
            obscene?: number;
            profanity?: number;
            severe_toxicity?: number;
            sexually_explicit?: number;
            spam?: number;
            threat?: number;
            toxicity?: number;
            unsubstantial?: number;
        };
        max_single_score?: number;
        max_total_score?: number;
    };
    anti_member_join?: {
        ban_duration?: number;
        behavior?: "ban" | "kick";
        custom_reason?: string;
        enabled?: boolean;
        ignore_bots?: boolean;
    };
    antispam?: {
        actions: (
            | {
                delete_timeframe?: number;
                duration?: number;
                notify?: boolean;
                reason?: string;
                type: "ban";
            }
            | {
                notify?: boolean;
                reason?: string;
                type: "kick";
            }
            | {
                duration?: number;
                notify?: boolean;
                reason?: string;
                type: "mute";
            }
            | {
                duration?: number;
                mode: "give" | "take";
                notify?: boolean;
                reason?: string;
                roles: string[];
                type: "role";
            }
            | {
                type: "none";
            }
            | {
                notify?: boolean;
                reason?: string;
                type: "warn";
            }
            | {
                notify?: true;
                reason?: string;
                type: "verbal_warn";
            }
            | {
                count?: number;
                notify?: boolean;
                reason?: string;
                type: "clear";
            }
            | {
                type: "delete_message";
            })[];
        channels?: {
            list?: string[];
            mode?: "exclude" | "include";
        };
        enabled?: boolean;
        limit: number;
        timeframe: number;
    };
    auto_role?: {
        enabled?: boolean;
        ignore_bots?: boolean;
        roles?: string[];
    };
    auto_triggers?: {
        enabled?: boolean;
        global_disabled_channels?: string[];
        triggers?: ({
            buttons?: {
                label: ...;
                url: ...;
            }[];
            enabled_channels?: string[] | "all";
            ignore_roles?: string[];
            ignore_users?: string[];
            message: string;
            type: "sticky_message";
        } | {
            action: "assign_role" | "take_away_role";
            enabled_channels?: string[] | "all";
            ignore_roles?: string[];
            ignore_users?: string[];
            must_contain?: string[];
            must_not_contain?: string[];
            roles?: string[];
            type: "member_status_update";
        })[];
    };
    bump_reminder?: {
        disabled_channels?: string[];
        enabled?: boolean;
        on_bump_content?: string;
        remind_after?: number;
        reminder_content?: string;
    };
    channel_archives?: {
        archive_category: string;
        enabled?: boolean;
        ignored_channels?: string[];
    };
    commands?: {
        channels?: {
            list?: string[];
            mode?: "exclude" | "include";
        };
        disabled_commands?: string[];
        mention_prefix?: boolean;
        moderation_command_behavior?: "delete" | "default";
        ratelimiting?: {
            block_duration?: number;
            enabled?: boolean;
            max_attempts?: number;
            overrides?: Record<string, {
                block_duration?: number;
                enabled?: boolean;
                max_attempts?: number;
                timeframe?: number;
            }>;
            timeframe?: number;
        };
        rerun_on_edit?: boolean;
        respond_on_precondition_fail?: boolean;
        troll_command_immune_users?: string[];
    };
    debug_mode?: boolean;
    echoing?: {
        allow_mentions?: boolean;
    };
    extensions?: {
        disabled_extensions?: string[];
        enabled?: boolean;
        installed_extensions?: string[];
    };
    infractions?: {
        dm_fallback?: "none" | "create_channel" | "create_thread";
        dm_fallback_channel_expires_in?: number;
        dm_fallback_parent_channel?: string;
        points?: {
            ban?: number;
            clear?: number;
            kick?: number;
            massban?: number;
            masskick?: number;
            mod_message?: number;
            mute?: number;
            note?: number;
            role?: number;
            softban?: number;
            tempban?: number;
            timeout?: number;
            unban?: number;
            warning?: number;
        };
        reason_template_placeholder_wrapper?: string;
        reason_templates?: Record<string, string>;
        send_ids_to_user?: boolean;
    };
    logging?: {
        bulk_delete_send_json?: boolean;
        default_enabled?: boolean;
        enabled?: boolean;
        exclusions?: {
            events?: LogEventType[];
            mode?: "exclude" | "include";
            snowflakes: string[];
            type: "channel" | "user" | "category_channel";
        }[];
        global_ignored_channels?: string[];
        hooks?: Record<string, string>;
        overrides?: ({
            channel: string;
            enabled: true;
            events: [LogEventType, ...LogEventType[]];
        } | {
            enabled: false;
            events: [LogEventType, ...LogEventType[]];
        })[];
        primary_channel?: string;
        unsubscribed_events?: LogEventType[];
    };
    member_verification?: {
        channel?: string;
        conditions: {
            age_less_than?: number;
            always?: boolean;
            no_avatar?: boolean;
        };
        enabled?: boolean;
        expired_actions?: (
            | {
                delete_timeframe?: number;
                duration?: number;
                notify?: boolean;
                reason?: string;
                type: "ban";
            }
            | {
                notify?: boolean;
                reason?: string;
                type: "kick";
            }
            | {
                duration?: number;
                notify?: boolean;
                reason?: string;
                type: "mute";
            }
            | {
                duration?: number;
                mode: "give" | "take";
                notify?: boolean;
                reason?: string;
                roles: string[];
                type: "role";
            }
            | {
                type: "none";
            }
            | {
                notify?: boolean;
                reason?: string;
                type: "warn";
            }
            | {
                notify?: true;
                reason?: string;
                type: "verbal_warn";
            }
            | {
                count?: number;
                notify?: boolean;
                reason?: string;
                type: "clear";
            }
            | {
                type: "delete_message";
            })[];
        max_duration?: number;
        method?: "channel_interaction" | "dm_interaction";
        success_message?: string;
        unverified_roles?: string[];
        verification_message?: string;
        verified_roles?: string[];
    };
    message_reporting?: {
        action_required_permissions?: {
            ban?: string[];
            ignore?: string[];
            kick?: string[];
            mute?: string[];
            warn?: string[];
        };
        enabled?: boolean;
        logging_channel?: string;
        permission_level?: number;
        permissions?: string[];
        roles?: string[];
        users?: string[];
    };
    muting?: {
        role?: string;
    };
    permissions?: {
        check_discord_permissions?:
            | "never"
            | "always"
            | "during_automod"
            | "during_manual_actions";
        command_permission_mode?: "ignore" | "overwrite" | "check";
        invincible?: {
            roles?: string[];
            users?: string[];
        };
        mode?: "discord" | "levels" | "layered";
    };
    prefix?: string;
    quick_mute?: {
        default_duration?: number;
        enabled?: boolean;
        mute_clear_emoji?: string;
        mute_emoji?: string;
        reason?: string;
    };
    raid_protection?: {
        action?:
            | "none"
            | "lock"
            | "lock_and_antijoin"
            | "antijoin"
            | "auto";
        channel_mode?: "exclude" | "include";
        channels?: string[];
        enabled?: boolean;
        member_actions?: (
            | {
                delete_timeframe?: number;
                duration?: number;
                notify?: boolean;
                reason?: string;
                type: "ban";
            }
            | {
                notify?: boolean;
                reason?: string;
                type: "kick";
            }
            | {
                duration?: number;
                notify?: boolean;
                reason?: string;
                type: "mute";
            }
            | {
                duration?: number;
                mode: "give" | "take";
                notify?: boolean;
                reason?: string;
                roles: string[];
                type: "role";
            }
            | {
                type: "none";
            }
            | {
                notify?: boolean;
                reason?: string;
                type: "warn";
            }
            | {
                notify?: true;
                reason?: string;
                type: "verbal_warn";
            }
            | {
                count?: number;
                notify?: boolean;
                reason?: string;
                type: "clear";
            }
            | {
                type: "delete_message";
            })[];
        send_log?: boolean;
        threshold?: number;
        timeframe?: number;
    };
    reaction_roles?: {
        enabled?: boolean;
        ignore_bots?: boolean;
        ratelimiting?: {
            block_duration?: number;
            enabled?: boolean;
            max_attempts?: number;
            timeframe?: number;
        };
    };
    rule_moderation?: {
        enabled?: boolean;
        global_disabled_channels?: string[];
        rules?: (
            | {
                actions?: (
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...))[];
                bail?: boolean;
                bypasses?: null | string[];
                domains?: string[];
                enabled?: boolean;
                exceptions?: {
                    channels?: (...) | (...);
                    roles?: (...) | (...);
                    users?: (...) | (...);
                };
                for?: {
                    channels?: (...) | (...);
                    roles?: (...) | (...);
                    users?: (...) | (...);
                };
                is_bypasser?: boolean;
                mode?: "normal" | "invert";
                name?: null | string;
                scan_links_only?: boolean;
                type: "domain_filter";
            }
            | {
                actions?: (
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...))[];
                bail?: boolean;
                bypasses?: null | string[];
                data?: string[];
                enabled?: boolean;
                exceptions?: {
                    channels?: (...) | (...);
                    roles?: (...) | (...);
                    users?: (...) | (...);
                };
                for?: {
                    channels?: (...) | (...);
                    roles?: (...) | (...);
                    users?: (...) | (...);
                };
                is_bypasser?: boolean;
                mode?: "normal" | "invert";
                name?: null | string;
                type: "mime_type_filter";
            }
            | {
                actions?: (
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...))[];
                bail?: boolean;
                bypasses?: null | string[];
                data?: string[];
                enabled?: boolean;
                exceptions?: {
                    channels?: (...) | (...);
                    roles?: (...) | (...);
                    users?: (...) | (...);
                };
                for?: {
                    channels?: (...) | (...);
                    roles?: (...) | (...);
                    users?: (...) | (...);
                };
                is_bypasser?: boolean;
                mode?: "normal" | "invert";
                name?: null | string;
                type: "file_extension_filter";
            }
            | {
                actions?: (
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...))[];
                allow_internal_invites?: boolean;
                allowed_invite_codes?: string[];
                bail?: boolean;
                bypasses?: null | string[];
                enabled?: boolean;
                exceptions?: {
                    channels?: (...) | (...);
                    roles?: (...) | (...);
                    users?: (...) | (...);
                };
                for?: {
                    channels?: (...) | (...);
                    roles?: (...) | (...);
                    users?: (...) | (...);
                };
                is_bypasser?: boolean;
                mode?: "normal" | "invert";
                name?: null | string;
                type: "anti_invite";
            }
            | {
                actions?: (
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...))[];
                bail?: boolean;
                bypasses?: null | string[];
                enabled?: boolean;
                exceptions?: {
                    channels?: (...) | (...);
                    roles?: (...) | (...);
                    users?: (...) | (...);
                };
                for?: {
                    channels?: (...) | (...);
                    roles?: (...) | (...);
                    users?: (...) | (...);
                };
                is_bypasser?: boolean;
                mode?: "normal" | "invert";
                name?: null | string;
                patterns?: ((...) | (...))[];
                type: "regex_filter";
            }
            | {
                actions?: (
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...))[];
                bail?: boolean;
                bypasses?: null | string[];
                enabled?: boolean;
                exceptions?: {
                    channels?: (...) | (...);
                    roles?: (...) | (...);
                    users?: (...) | (...);
                };
                for?: {
                    channels?: (...) | (...);
                    roles?: (...) | (...);
                    users?: (...) | (...);
                };
                is_bypasser?: boolean;
                max_repeated_chars?: number;
                max_repeated_words?: number;
                mode?: "normal" | "invert";
                name?: null | string;
                type: "repeated_text_filter";
            }
            | {
                actions?: (
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...))[];
                bail?: boolean;
                bypasses?: null | string[];
                enabled?: boolean;
                exceptions?: {
                    channels?: (...) | (...);
                    roles?: (...) | (...);
                    users?: (...) | (...);
                };
                for?: {
                    channels?: (...) | (...);
                    roles?: (...) | (...);
                    users?: (...) | (...);
                };
                is_bypasser?: boolean;
                max_mentions?: number;
                max_role_mentions?: number;
                max_user_mentions?: number;
                mode?: "normal" | "invert";
                name?: null | string;
                type: "mass_mention_filter";
            }
            | {
                actions?: (
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...))[];
                bail?: boolean;
                bypasses?: null | string[];
                enabled?: boolean;
                exceptions?: {
                    channels?: (...) | (...);
                    roles?: (...) | (...);
                    users?: (...) | (...);
                };
                for?: {
                    channels?: (...) | (...);
                    roles?: (...) | (...);
                    users?: (...) | (...);
                };
                inherit_from_word_filter?: boolean;
                is_bypasser?: boolean;
                mode?: "normal" | "invert";
                name?: null | string;
                scan_embeds?: boolean;
                tokens?: string[];
                type: "image_filter";
                words?: string[];
            }
            | {
                actions?: (
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...))[];
                bail?: boolean;
                bypasses?: null | string[];
                enabled?: boolean;
                exceptions?: {
                    channels?: (...) | (...);
                    roles?: (...) | (...);
                    users?: (...) | (...);
                };
                for?: {
                    channels?: (...) | (...);
                    roles?: (...) | (...);
                    users?: (...) | (...);
                };
                inherit_from_word_filter?: boolean;
                is_bypasser?: boolean;
                mode?: "normal" | "invert";
                name?: null | string;
                tokens?: string[];
                type: "embed_filter";
                words?: string[];
            }
            | {
                actions?: (
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...))[];
                bail?: boolean;
                bypasses?: null | string[];
                enabled?: boolean;
                exceptions?: {
                    channels?: (...) | (...);
                    roles?: (...) | (...);
                    users?: (...) | (...);
                };
                excluded_domains_regex?: string[];
                excluded_link_regex?: string[];
                excluded_links?: string[];
                for?: {
                    channels?: (...) | (...);
                    roles?: (...) | (...);
                    users?: (...) | (...);
                };
                is_bypasser?: boolean;
                mode?: "normal" | "invert";
                name?: null | string;
                tokens?: string[];
                type: "EXPERIMENTAL_url_crawl";
                words?: string[];
            }
            | {
                actions?: (
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...))[];
                bail?: boolean;
                bypasses?: null | string[];
                enabled?: boolean;
                exceptions?: {
                    channels?: (...) | (...);
                    roles?: (...) | (...);
                    users?: (...) | (...);
                };
                for?: {
                    channels?: (...) | (...);
                    roles?: (...) | (...);
                    users?: (...) | (...);
                };
                is_bypasser?: boolean;
                mode?: "normal" | "invert";
                name?: null | string;
                score_thresholds?: {
                    hentai?: (...) | (...);
                    porn?: (...) | (...);
                    sexy?: (...) | (...);
                };
                type: "EXPERIMENTAL_nsfw_filter";
            }
            | {
                actions?: (
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...))[];
                bail?: boolean;
                bypasses?: null | string[];
                enabled?: boolean;
                exceptions?: {
                    channels?: (...) | (...);
                    roles?: (...) | (...);
                    users?: (...) | (...);
                };
                for?: {
                    channels?: (...) | (...);
                    roles?: (...) | (...);
                    users?: (...) | (...);
                };
                is_bypasser?: boolean;
                mode?: "normal" | "invert";
                name?: null | string;
                normalize?: boolean;
                tokens?: string[];
                type: "word_filter";
                words?: string[];
            }
            | {
                actions?: (
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...))[];
                bail?: boolean;
                bypasses?: null | string[];
                check_mime_types?: boolean;
                enabled?: boolean;
                exceptions?: {
                    channels?: (...) | (...);
                    roles?: (...) | (...);
                    users?: (...) | (...);
                };
                for?: {
                    channels?: (...) | (...);
                    roles?: (...) | (...);
                    users?: (...) | (...);
                };
                hashes?: Record<string, (...) | (...)>;
                is_bypasser?: boolean;
                mode?: "normal" | "invert";
                name?: null | string;
                type: "file_filter";
            }
            | {
                actions?: (
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...))[];
                bail?: boolean;
                bypasses?: null | string[];
                enabled?: boolean;
                exceptions?: {
                    channels?: (...) | (...);
                    roles?: (...) | (...);
                    users?: (...) | (...);
                };
                flirtation_threshold?: number;
                for?: {
                    channels?: (...) | (...);
                    roles?: (...) | (...);
                    users?: (...) | (...);
                };
                identity_attack_threshold?: number;
                insult_threshold?: number;
                is_bypasser?: boolean;
                mode?: "normal" | "invert";
                name?: null | string;
                profanity_threshold?: number;
                severe_toxicity_threshold?: number;
                sexual_explicit_threshold?: number;
                threat_threshold?: number;
                toxicity_threshold?: number;
                type: "ai_scan";
            }
            | {
                actions?: (
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...))[];
                bail?: boolean;
                bypasses?: null | string[];
                enabled?: boolean;
                exceptions?: {
                    channels?: (...) | (...);
                    roles?: (...) | (...);
                    users?: (...) | (...);
                };
                for?: {
                    channels?: (...) | (...);
                    roles?: (...) | (...);
                    users?: (...) | (...);
                };
                is_bypasser?: boolean;
                mode?: "normal" | "invert";
                name?: null | string;
                normalize?: boolean;
                regex_patterns?: string[];
                tokens?: string[];
                type: "profile_filter";
                words?: string[];
            })[];
    };
    survey_system?: {
        default_log_channel?: string;
        enabled?: boolean;
        surveys?: Record<string, {
            description?: string;
            end_message?: string;
            log_channel?: string;
            name: string;
            questions: [{
                default_value?: string;
                maxLength?: number;
                minLength?: number;
                placeholder?: string;
                question: string;
                required?: boolean;
                type: "paragraph" | "short";
            }, ...{
                default_value?: string;
                maxLength?: number;
                minLength?: number;
                placeholder?: string;
                question: string;
                required?: boolean;
                type: "paragraph" | "short";
            }[]];
            required_channels?: string[];
            required_permissions?: string[];
            required_roles?: string[];
            required_users?: string[];
        }>;
    };
    welcomer?: {
        channel: string;
        custom_message?: string;
        delete_after?: number;
        enabled?: boolean;
        force_embeds?: boolean;
        forced_embed_color?: number;
        mention?: boolean;
        randomize?: boolean;
        say_hi_button?: {
            emoji?: string;
            enabled?: boolean;
            expire_after?: null | number;
            label?: string;
            reply?: string;
        };
    };
}> = GuildConfigSchema
loaded: boolean = false
logger: Logger
schemaDirectory: string = ...
systemConfig: {
    $schema?: string;
    api: {
        enabled: boolean;
        server_status:
            | "error"
            | "operational"
            | "degraded"
            | "partial_outage"
            | "major_outage"
            | "maintenance";
        server_status_description?: string;
        server_status_started_at?: Date;
    };
    command_permission_mode: "ignore" | "overwrite" | "check";
    commands: {
        global_disabled: string[];
        groups: Record<string, string[]>;
        mention_prefix: boolean;
        register_application_commands_on_boot:
            | "none"
            | "guild"
            | "always_global"
            | "auto_global";
        system_banned_users: string[];
    };
    emoji_resolve_strategy: "both" | "home_guild" | "application";
    enable_file_filter: boolean;
    extensions: {
        default_mode: "enable_all" | "disable_all";
    };
    log_server?: {
        auto_start: boolean;
        enabled: boolean;
    };
    logging?: {
        enabled: boolean;
        webhook_url: string;
    };
    presence?: {
        name?: string;
        status?:
            | "online"
            | "idle"
            | "dnd"
            | "invisible";
        type:
            | "Playing"
            | "Streaming"
            | "Listening"
            | "Watching"
            | "Custom"
            | "Competing";
        url?: string;
    };
    restart_exit_code: number;
    snippets?: {
        save_attachments?: boolean;
    };
    statistics?: {
        enabled: boolean;
        sync_delay: number;
    };
    sync_emojis: boolean;
    system_admins: string[];
    trust_proxies?: number;
} = ...
systemConfigPath: string = ...
systemConfigSchema: ZodObject<{
    $schema: ZodOptional<ZodString>;
    api: ZodDefault<ZodObject<{
        enabled: ZodDefault<ZodBoolean>;
        server_status: ZodDefault<ZodEnum<["operational", "degraded", "partial_outage", "major_outage", "maintenance", "error"]>>;
        server_status_description: ZodOptional<ZodString>;
        server_status_started_at: ZodOptional<ZodUnion<[ZodPipeline<ZodString, ZodDate>, ZodDate]>>;
    }, "strip", ZodTypeAny, {
        enabled: boolean;
        server_status:
            | "error"
            | "operational"
            | "degraded"
            | "partial_outage"
            | "major_outage"
            | "maintenance";
        server_status_description?: string;
        server_status_started_at?: Date;
    }, {
        enabled?: boolean;
        server_status?:
            | "error"
            | "operational"
            | "degraded"
            | "partial_outage"
            | "major_outage"
            | "maintenance";
        server_status_description?: string;
        server_status_started_at?: string | Date;
    }>>;
    command_permission_mode: ZodDefault<ZodEnum<["ignore", "overwrite", "check"]>>;
    commands: ZodDefault<ZodObject<{
        global_disabled: ZodDefault<ZodArray<ZodString, "many">>;
        groups: ZodDefault<ZodRecord<ZodString, ZodArray<ZodString, "many">>>;
        mention_prefix: ZodDefault<ZodBoolean>;
        register_application_commands_on_boot: ZodDefault<ZodEnum<["always_global", "guild", "none", "auto_global"]>>;
        system_banned_users: ZodDefault<ZodArray<ZodString, "many">>;
    }, "strip", ZodTypeAny, {
        global_disabled: string[];
        groups: Record<string, string[]>;
        mention_prefix: boolean;
        register_application_commands_on_boot:
            | "none"
            | "guild"
            | "always_global"
            | "auto_global";
        system_banned_users: string[];
    }, {
        global_disabled?: string[];
        groups?: Record<string, string[]>;
        mention_prefix?: boolean;
        register_application_commands_on_boot?:
            | "none"
            | "guild"
            | "always_global"
            | "auto_global";
        system_banned_users?: string[];
    }>>;
    emoji_resolve_strategy: ZodDefault<ZodEnum<["both", "home_guild", "application"]>>;
    enable_file_filter: ZodDefault<ZodBoolean>;
    extensions: ZodDefault<ZodObject<{
        default_mode: ZodDefault<ZodEnum<["enable_all", "disable_all"]>>;
    }, "strip", ZodTypeAny, {
        default_mode: "enable_all" | "disable_all";
    }, {
        default_mode?: "enable_all" | "disable_all";
    }>>;
    log_server: ZodOptional<ZodObject<{
        auto_start: ZodDefault<ZodBoolean>;
        enabled: ZodDefault<ZodBoolean>;
    }, "strip", ZodTypeAny, {
        auto_start: boolean;
        enabled: boolean;
    }, {
        auto_start?: boolean;
        enabled?: boolean;
    }>>;
    logging: ZodOptional<ZodObject<{
        enabled: ZodDefault<ZodBoolean>;
        webhook_url: ZodString;
    }, "strip", ZodTypeAny, {
        enabled: boolean;
        webhook_url: string;
    }, {
        enabled?: boolean;
        webhook_url: string;
    }>>;
    presence: ZodOptional<ZodObject<{
        name: ZodOptional<ZodString>;
        status: ZodOptional<ZodEnum<["online", "idle", "dnd", "invisible"]>>;
        type: ZodEnum<["Competing", "Listening", "Playing", "Streaming", "Watching", "Custom"]>;
        url: ZodOptional<ZodString>;
    }, "strip", ZodTypeAny, {
        name?: string;
        status?:
            | "online"
            | "idle"
            | "dnd"
            | "invisible";
        type:
            | "Playing"
            | "Streaming"
            | "Listening"
            | "Watching"
            | "Custom"
            | "Competing";
        url?: string;
    }, {
        name?: string;
        status?:
            | "online"
            | "idle"
            | "dnd"
            | "invisible";
        type:
            | "Playing"
            | "Streaming"
            | "Listening"
            | "Watching"
            | "Custom"
            | "Competing";
        url?: string;
    }>>;
    restart_exit_code: ZodDefault<ZodNumber>;
    snippets: ZodOptional<ZodObject<{
        save_attachments: ZodOptional<ZodDefault<ZodBoolean>>;
    }, "strip", ZodTypeAny, {
        save_attachments?: boolean;
    }, {
        save_attachments?: boolean;
    }>>;
    statistics: ZodOptional<ZodObject<{
        enabled: ZodDefault<ZodBoolean>;
        sync_delay: ZodDefault<ZodNumber>;
    }, "strip", ZodTypeAny, {
        enabled: boolean;
        sync_delay: number;
    }, {
        enabled?: boolean;
        sync_delay?: number;
    }>>;
    sync_emojis: ZodDefault<ZodBoolean>;
    system_admins: ZodDefault<ZodArray<ZodString, "many">>;
    trust_proxies: ZodOptional<ZodNumber>;
}, "strip", ZodTypeAny, {
    $schema?: string;
    api: {
        enabled: boolean;
        server_status:
            | "error"
            | "operational"
            | "degraded"
            | "partial_outage"
            | "major_outage"
            | "maintenance";
        server_status_description?: string;
        server_status_started_at?: Date;
    };
    command_permission_mode: "ignore" | "overwrite" | "check";
    commands: {
        global_disabled: string[];
        groups: Record<string, string[]>;
        mention_prefix: boolean;
        register_application_commands_on_boot:
            | "none"
            | "guild"
            | "always_global"
            | "auto_global";
        system_banned_users: string[];
    };
    emoji_resolve_strategy: "both" | "home_guild" | "application";
    enable_file_filter: boolean;
    extensions: {
        default_mode: "enable_all" | "disable_all";
    };
    log_server?: {
        auto_start: boolean;
        enabled: boolean;
    };
    logging?: {
        enabled: boolean;
        webhook_url: string;
    };
    presence?: {
        name?: string;
        status?:
            | "online"
            | "idle"
            | "dnd"
            | "invisible";
        type:
            | "Playing"
            | "Streaming"
            | "Listening"
            | "Watching"
            | "Custom"
            | "Competing";
        url?: string;
    };
    restart_exit_code: number;
    snippets?: {
        save_attachments?: boolean;
    };
    statistics?: {
        enabled: boolean;
        sync_delay: number;
    };
    sync_emojis: boolean;
    system_admins: string[];
    trust_proxies?: number;
}, {
    $schema?: string;
    api?: {
        enabled?: boolean;
        server_status?:
            | "error"
            | "operational"
            | "degraded"
            | "partial_outage"
            | "major_outage"
            | "maintenance";
        server_status_description?: string;
        server_status_started_at?: string | Date;
    };
    command_permission_mode?: "ignore" | "overwrite" | "check";
    commands?: {
        global_disabled?: string[];
        groups?: Record<string, string[]>;
        mention_prefix?: boolean;
        register_application_commands_on_boot?:
            | "none"
            | "guild"
            | "always_global"
            | "auto_global";
        system_banned_users?: string[];
    };
    emoji_resolve_strategy?: "both" | "home_guild" | "application";
    enable_file_filter?: boolean;
    extensions?: {
        default_mode?: "enable_all" | "disable_all";
    };
    log_server?: {
        auto_start?: boolean;
        enabled?: boolean;
    };
    logging?: {
        enabled?: boolean;
        webhook_url: string;
    };
    presence?: {
        name?: string;
        status?:
            | "online"
            | "idle"
            | "dnd"
            | "invisible";
        type:
            | "Playing"
            | "Streaming"
            | "Listening"
            | "Watching"
            | "Custom"
            | "Competing";
        url?: string;
    };
    restart_exit_code?: number;
    snippets?: {
        save_attachments?: boolean;
    };
    statistics?: {
        enabled?: boolean;
        sync_delay?: number;
    };
    sync_emojis?: boolean;
    system_admins?: string[];
    trust_proxies?: number;
}> = SystemConfigSchema
systemConfigSchemaInfo: string = "https://raw.githubusercontent.com/onesoft-sudo/sudobot/main/config/schema/system.json"
systemConfigSchemaPath: string = ...
name: string

Returns the name of the function. Function names are read-only and can not be changed.

Methods

  • Type Parameters

    • T extends {
          ai_automod?: {
              actions: (
                  | {
                      delete_timeframe?: number;
                      duration?: number;
                      notify?: boolean;
                      reason?: string;
                      type: "ban";
                  }
                  | {
                      notify?: boolean;
                      reason?: string;
                      type: "kick";
                  }
                  | {
                      duration?: number;
                      notify?: boolean;
                      reason?: string;
                      type: "mute";
                  }
                  | {
                      duration?: number;
                      mode: "give" | "take";
                      notify?: boolean;
                      reason?: string;
                      roles: string[];
                      type: "role";
                  }
                  | {
                      type: "none";
                  }
                  | {
                      notify?: boolean;
                      reason?: string;
                      type: "warn";
                  }
                  | {
                      notify: true;
                      reason?: string;
                      type: "verbal_warn";
                  }
                  | {
                      count: number;
                      notify?: boolean;
                      reason?: string;
                      type: "clear";
                  }
                  | {
                      type: "delete_message";
                  })[];
              automatic_actions?: {
                  enabled: boolean;
                  stops: Record<string, (
                      | {
                          delete_timeframe?: number;
                          duration?: number;
                          notify?: boolean;
                          reason?: string;
                          type: "ban";
                      }
                      | {
                          notify?: boolean;
                          reason?: string;
                          type: "kick";
                      }
                      | {
                          duration?: number;
                          notify?: boolean;
                          reason?: string;
                          type: "mute";
                      }
                      | {
                          duration?: number;
                          mode: "give" | "take";
                          notify?: boolean;
                          reason?: string;
                          roles: string[];
                          type: "role";
                      }
                      | {
                          type: "none";
                      }
                      | {
                          notify?: boolean;
                          reason?: string;
                          type: "warn";
                      }
                      | {
                          notify: true;
                          reason?: string;
                          type: "verbal_warn";
                      }
                      | {
                          count: number;
                          notify?: boolean;
                          reason?: string;
                          type: "clear";
                      }
                      | {
                          type: "delete_message";
                      })[]>;
              };
              enabled: boolean;
              evaluate_after_attempts: number;
              evaluation_cache_expires_in: number;
              exception_regex_patterns: (string | [string, string])[];
              max_individual_scores?: {
                  flirtation: number;
                  identity_attack: number;
                  incoherent: number;
                  insult: number;
                  obscene: number;
                  profanity: number;
                  severe_toxicity: number;
                  sexually_explicit: number;
                  spam: number;
                  threat: number;
                  toxicity: number;
                  unsubstantial: number;
              };
              max_single_score: number;
              max_total_score: number;
          };
          anti_member_join?: {
              ban_duration?: number;
              behavior: "ban" | "kick";
              custom_reason?: string;
              enabled: boolean;
              ignore_bots: boolean;
          };
          antispam?: {
              actions: (
                  | {
                      delete_timeframe?: number;
                      duration?: number;
                      notify?: boolean;
                      reason?: string;
                      type: "ban";
                  }
                  | {
                      notify?: boolean;
                      reason?: string;
                      type: "kick";
                  }
                  | {
                      duration?: number;
                      notify?: boolean;
                      reason?: string;
                      type: "mute";
                  }
                  | {
                      duration?: number;
                      mode: "give" | "take";
                      notify?: boolean;
                      reason?: string;
                      roles: string[];
                      type: "role";
                  }
                  | {
                      type: "none";
                  }
                  | {
                      notify?: boolean;
                      reason?: string;
                      type: "warn";
                  }
                  | {
                      notify: true;
                      reason?: string;
                      type: "verbal_warn";
                  }
                  | {
                      count: number;
                      notify?: boolean;
                      reason?: string;
                      type: "clear";
                  }
                  | {
                      type: "delete_message";
                  })[];
              channels: {
                  list: string[];
                  mode: "exclude" | "include";
              };
              enabled: boolean;
              limit: number;
              timeframe: number;
          };
          auto_role?: {
              enabled: boolean;
              ignore_bots: boolean;
              roles: string[];
          };
          auto_triggers?: {
              enabled: boolean;
              global_disabled_channels: string[];
              triggers: ({
                  buttons: {
                      label: string;
                      url: string;
                  }[];
                  enabled_channels: string[] | "all";
                  ignore_roles: string[];
                  ignore_users: string[];
                  message: string;
                  type: "sticky_message";
              } | {
                  action: "assign_role" | "take_away_role";
                  enabled_channels: string[] | "all";
                  ignore_roles: string[];
                  ignore_users: string[];
                  must_contain: string[];
                  must_not_contain: string[];
                  roles: string[];
                  type: "member_status_update";
              })[];
          };
          bump_reminder?: {
              disabled_channels: string[];
              enabled?: boolean;
              on_bump_content?: string;
              remind_after: number;
              reminder_content?: string;
          };
          channel_archives?: {
              archive_category: string;
              enabled: boolean;
              ignored_channels: string[];
          };
          commands: {
              channels: {
                  list: string[];
                  mode: "exclude" | "include";
              };
              disabled_commands: string[];
              mention_prefix: boolean;
              moderation_command_behavior: "delete" | "default";
              ratelimiting?: {
                  block_duration: number;
                  enabled: boolean;
                  max_attempts: number;
                  overrides: Record<string, {
                      block_duration: number;
                      enabled: boolean;
                      max_attempts: number;
                      timeframe: number;
                  }>;
                  timeframe: number;
              };
              rerun_on_edit: boolean;
              respond_on_precondition_fail: boolean;
              troll_command_immune_users: string[];
          };
          debug_mode: boolean;
          echoing?: {
              allow_mentions: boolean;
          };
          extensions?: {
              disabled_extensions: string[];
              enabled?: boolean;
              installed_extensions: string[];
          };
          infractions: {
              dm_fallback: "none" | "create_channel" | "create_thread";
              dm_fallback_channel_expires_in: number;
              dm_fallback_parent_channel?: string;
              points: {
                  ban: number;
                  clear: number;
                  kick: number;
                  massban: number;
                  masskick: number;
                  mod_message: number;
                  mute: number;
                  note: number;
                  role: number;
                  softban: number;
                  tempban: number;
                  timeout: number;
                  unban: number;
                  warning: number;
              };
              reason_template_placeholder_wrapper: string;
              reason_templates: Record<string, string>;
              send_ids_to_user: boolean;
          };
          logging?: {
              bulk_delete_send_json: boolean;
              default_enabled: boolean;
              enabled: boolean;
              exclusions: {
                  events?: LogEventType[];
                  mode: "exclude" | "include";
                  snowflakes: string[];
                  type: "channel" | "user" | "category_channel";
              }[];
              global_ignored_channels: string[];
              hooks: Record<string, string>;
              overrides: ({
                  channel: string;
                  enabled: true;
                  events: [LogEventType, ...LogEventType[]];
              } | {
                  enabled: false;
                  events: [LogEventType, ...LogEventType[]];
              })[];
              primary_channel?: string;
              unsubscribed_events: LogEventType[];
          };
          member_verification?: {
              channel?: string;
              conditions: {
                  age_less_than?: number;
                  always: boolean;
                  no_avatar?: boolean;
              };
              enabled: boolean;
              expired_actions: (
                  | {
                      delete_timeframe?: number;
                      duration?: number;
                      notify?: boolean;
                      reason?: string;
                      type: "ban";
                  }
                  | {
                      notify?: boolean;
                      reason?: string;
                      type: "kick";
                  }
                  | {
                      duration?: number;
                      notify?: boolean;
                      reason?: string;
                      type: "mute";
                  }
                  | {
                      duration?: number;
                      mode: "give" | "take";
                      notify?: boolean;
                      reason?: string;
                      roles: string[];
                      type: "role";
                  }
                  | {
                      type: "none";
                  }
                  | {
                      notify?: boolean;
                      reason?: string;
                      type: "warn";
                  }
                  | {
                      notify: true;
                      reason?: string;
                      type: "verbal_warn";
                  }
                  | {
                      count: number;
                      notify?: boolean;
                      reason?: string;
                      type: "clear";
                  }
                  | {
                      type: "delete_message";
                  })[];
              max_duration?: number;
              method: "channel_interaction" | "dm_interaction";
              success_message?: string;
              unverified_roles: string[];
              verification_message?: string;
              verified_roles: string[];
          };
          message_reporting?: {
              action_required_permissions: {
                  ban: string[];
                  ignore: string[];
                  kick: string[];
                  mute: string[];
                  warn: string[];
              };
              enabled: boolean;
              logging_channel?: string;
              permission_level?: number;
              permissions: string[];
              roles: string[];
              users: string[];
          };
          muting?: {
              role?: string;
          };
          permissions: {
              check_discord_permissions:
                  | "never"
                  | "always"
                  | "during_automod"
                  | "during_manual_actions";
              command_permission_mode?: "ignore" | "overwrite" | "check";
              invincible?: {
                  roles: string[];
                  users: string[];
              };
              mode?: "discord" | "levels" | "layered";
          };
          prefix: string;
          quick_mute?: {
              default_duration?: number;
              enabled: boolean;
              mute_clear_emoji?: string;
              mute_emoji?: string;
              reason?: string;
          };
          raid_protection?: {
              action:
                  | "none"
                  | "lock"
                  | "lock_and_antijoin"
                  | "antijoin"
                  | "auto";
              channel_mode: "exclude" | "include";
              channels: string[];
              enabled: boolean;
              member_actions: (
                  | {
                      delete_timeframe?: number;
                      duration?: number;
                      notify?: boolean;
                      reason?: string;
                      type: "ban";
                  }
                  | {
                      notify?: boolean;
                      reason?: string;
                      type: "kick";
                  }
                  | {
                      duration?: number;
                      notify?: boolean;
                      reason?: string;
                      type: "mute";
                  }
                  | {
                      duration?: number;
                      mode: "give" | "take";
                      notify?: boolean;
                      reason?: string;
                      roles: string[];
                      type: "role";
                  }
                  | {
                      type: "none";
                  }
                  | {
                      notify?: boolean;
                      reason?: string;
                      type: "warn";
                  }
                  | {
                      notify: true;
                      reason?: string;
                      type: "verbal_warn";
                  }
                  | {
                      count: number;
                      notify?: boolean;
                      reason?: string;
                      type: "clear";
                  }
                  | {
                      type: "delete_message";
                  })[];
              send_log: boolean;
              threshold: number;
              timeframe: number;
          };
          reaction_roles?: {
              enabled: boolean;
              ignore_bots: boolean;
              ratelimiting?: {
                  block_duration: number;
                  enabled: boolean;
                  max_attempts: number;
                  timeframe: number;
              };
          };
          rule_moderation?: {
              enabled: boolean;
              global_disabled_channels: string[];
              rules: (
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      domains: string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      scan_links_only: boolean;
                      type: "domain_filter";
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      data: string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      type: "mime_type_filter";
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      data: string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      type: "file_extension_filter";
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      allow_internal_invites: boolean;
                      allowed_invite_codes: string[];
                      bail: boolean;
                      bypasses: null | string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      type: "anti_invite";
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      patterns: (string | [string, string])[];
                      type: "regex_filter";
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      is_bypasser: boolean;
                      max_repeated_chars: number;
                      max_repeated_words: number;
                      mode: "normal" | "invert";
                      name: null | string;
                      type: "repeated_text_filter";
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      is_bypasser: boolean;
                      max_mentions: number;
                      max_role_mentions: number;
                      max_user_mentions: number;
                      mode: "normal" | "invert";
                      name: null | string;
                      type: "mass_mention_filter";
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      inherit_from_word_filter: boolean;
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      scan_embeds: boolean;
                      tokens: string[];
                      type: "image_filter";
                      words: string[];
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      inherit_from_word_filter: boolean;
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      tokens: string[];
                      type: "embed_filter";
                      words: string[];
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      excluded_domains_regex: string[];
                      excluded_link_regex: string[];
                      excluded_links: string[];
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      tokens: string[];
                      type: "EXPERIMENTAL_url_crawl";
                      words: string[];
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      score_thresholds: {
                          hentai: number;
                          porn: number;
                          sexy: number;
                      };
                      type: "EXPERIMENTAL_nsfw_filter";
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      normalize: boolean;
                      tokens: string[];
                      type: "word_filter";
                      words: string[];
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      check_mime_types: boolean;
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      hashes: Record<string, null | string>;
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      type: "file_filter";
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      flirtation_threshold: number;
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      identity_attack_threshold: number;
                      insult_threshold: number;
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      profanity_threshold: number;
                      severe_toxicity_threshold: number;
                      sexual_explicit_threshold: number;
                      threat_threshold: number;
                      toxicity_threshold: number;
                      type: "ai_scan";
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      normalize: boolean;
                      regex_patterns: string[];
                      tokens: string[];
                      type: "profile_filter";
                      words: string[];
                  })[];
          };
          survey_system?: {
              default_log_channel?: string;
              enabled: boolean;
              surveys: Record<string, {
                  description?: string;
                  end_message?: string;
                  log_channel?: string;
                  name: string;
                  questions: [{
                      default_value?: string;
                      maxLength?: number;
                      minLength?: number;
                      placeholder?: string;
                      question: string;
                      required: boolean;
                      type: "paragraph" | "short";
                  }, ...{
                      default_value?: string;
                      maxLength?: number;
                      minLength?: number;
                      placeholder?: string;
                      question: string;
                      required: boolean;
                      type: "paragraph" | "short";
                  }[]];
                  required_channels: string[];
                  required_permissions: string[];
                  required_roles: string[];
                  required_users: string[];
              }>;
          };
          welcomer?: {
              channel: string;
              custom_message?: string;
              delete_after?: number;
              enabled: boolean;
              force_embeds: boolean;
              forced_embed_color?: number;
              mention: boolean;
              randomize: boolean;
              say_hi_button?: {
                  emoji: string;
                  enabled: boolean;
                  expire_after: null | number;
                  label: string;
                  reply: string;
              };
          };
      } = {
          ai_automod?: {
              actions: (
                  | {
                      delete_timeframe?: number;
                      duration?: number;
                      notify?: boolean;
                      reason?: string;
                      type: "ban";
                  }
                  | {
                      notify?: boolean;
                      reason?: string;
                      type: "kick";
                  }
                  | {
                      duration?: number;
                      notify?: boolean;
                      reason?: string;
                      type: "mute";
                  }
                  | {
                      duration?: number;
                      mode: "give" | "take";
                      notify?: boolean;
                      reason?: string;
                      roles: string[];
                      type: "role";
                  }
                  | {
                      type: "none";
                  }
                  | {
                      notify?: boolean;
                      reason?: string;
                      type: "warn";
                  }
                  | {
                      notify: true;
                      reason?: string;
                      type: "verbal_warn";
                  }
                  | {
                      count: number;
                      notify?: boolean;
                      reason?: string;
                      type: "clear";
                  }
                  | {
                      type: "delete_message";
                  })[];
              automatic_actions?: {
                  enabled: boolean;
                  stops: Record<string, (
                      | {
                          delete_timeframe?: number;
                          duration?: number;
                          notify?: boolean;
                          reason?: string;
                          type: "ban";
                      }
                      | {
                          notify?: boolean;
                          reason?: string;
                          type: "kick";
                      }
                      | {
                          duration?: number;
                          notify?: boolean;
                          reason?: string;
                          type: "mute";
                      }
                      | {
                          duration?: number;
                          mode: "give" | "take";
                          notify?: boolean;
                          reason?: string;
                          roles: string[];
                          type: "role";
                      }
                      | {
                          type: "none";
                      }
                      | {
                          notify?: boolean;
                          reason?: string;
                          type: "warn";
                      }
                      | {
                          notify: true;
                          reason?: string;
                          type: "verbal_warn";
                      }
                      | {
                          count: number;
                          notify?: boolean;
                          reason?: string;
                          type: "clear";
                      }
                      | {
                          type: "delete_message";
                      })[]>;
              };
              enabled: boolean;
              evaluate_after_attempts: number;
              evaluation_cache_expires_in: number;
              exception_regex_patterns: (string | [string, string])[];
              max_individual_scores?: {
                  flirtation: number;
                  identity_attack: number;
                  incoherent: number;
                  insult: number;
                  obscene: number;
                  profanity: number;
                  severe_toxicity: number;
                  sexually_explicit: number;
                  spam: number;
                  threat: number;
                  toxicity: number;
                  unsubstantial: number;
              };
              max_single_score: number;
              max_total_score: number;
          };
          anti_member_join?: {
              ban_duration?: number;
              behavior: "ban" | "kick";
              custom_reason?: string;
              enabled: boolean;
              ignore_bots: boolean;
          };
          antispam?: {
              actions: (
                  | {
                      delete_timeframe?: number;
                      duration?: number;
                      notify?: boolean;
                      reason?: string;
                      type: "ban";
                  }
                  | {
                      notify?: boolean;
                      reason?: string;
                      type: "kick";
                  }
                  | {
                      duration?: number;
                      notify?: boolean;
                      reason?: string;
                      type: "mute";
                  }
                  | {
                      duration?: number;
                      mode: "give" | "take";
                      notify?: boolean;
                      reason?: string;
                      roles: string[];
                      type: "role";
                  }
                  | {
                      type: "none";
                  }
                  | {
                      notify?: boolean;
                      reason?: string;
                      type: "warn";
                  }
                  | {
                      notify: true;
                      reason?: string;
                      type: "verbal_warn";
                  }
                  | {
                      count: number;
                      notify?: boolean;
                      reason?: string;
                      type: "clear";
                  }
                  | {
                      type: "delete_message";
                  })[];
              channels: {
                  list: string[];
                  mode: "exclude" | "include";
              };
              enabled: boolean;
              limit: number;
              timeframe: number;
          };
          auto_role?: {
              enabled: boolean;
              ignore_bots: boolean;
              roles: string[];
          };
          auto_triggers?: {
              enabled: boolean;
              global_disabled_channels: string[];
              triggers: ({
                  buttons: {
                      label: string;
                      url: string;
                  }[];
                  enabled_channels: string[] | "all";
                  ignore_roles: string[];
                  ignore_users: string[];
                  message: string;
                  type: "sticky_message";
              } | {
                  action: "assign_role" | "take_away_role";
                  enabled_channels: string[] | "all";
                  ignore_roles: string[];
                  ignore_users: string[];
                  must_contain: string[];
                  must_not_contain: string[];
                  roles: string[];
                  type: "member_status_update";
              })[];
          };
          bump_reminder?: {
              disabled_channels: string[];
              enabled?: boolean;
              on_bump_content?: string;
              remind_after: number;
              reminder_content?: string;
          };
          channel_archives?: {
              archive_category: string;
              enabled: boolean;
              ignored_channels: string[];
          };
          commands: {
              channels: {
                  list: string[];
                  mode: "exclude" | "include";
              };
              disabled_commands: string[];
              mention_prefix: boolean;
              moderation_command_behavior: "delete" | "default";
              ratelimiting?: {
                  block_duration: number;
                  enabled: boolean;
                  max_attempts: number;
                  overrides: Record<string, {
                      block_duration: number;
                      enabled: boolean;
                      max_attempts: number;
                      timeframe: number;
                  }>;
                  timeframe: number;
              };
              rerun_on_edit: boolean;
              respond_on_precondition_fail: boolean;
              troll_command_immune_users: string[];
          };
          debug_mode: boolean;
          echoing?: {
              allow_mentions: boolean;
          };
          extensions?: {
              disabled_extensions: string[];
              enabled?: boolean;
              installed_extensions: string[];
          };
          infractions: {
              dm_fallback: "none" | "create_channel" | "create_thread";
              dm_fallback_channel_expires_in: number;
              dm_fallback_parent_channel?: string;
              points: {
                  ban: number;
                  clear: number;
                  kick: number;
                  massban: number;
                  masskick: number;
                  mod_message: number;
                  mute: number;
                  note: number;
                  role: number;
                  softban: number;
                  tempban: number;
                  timeout: number;
                  unban: number;
                  warning: number;
              };
              reason_template_placeholder_wrapper: string;
              reason_templates: Record<string, string>;
              send_ids_to_user: boolean;
          };
          logging?: {
              bulk_delete_send_json: boolean;
              default_enabled: boolean;
              enabled: boolean;
              exclusions: {
                  events?: LogEventType[];
                  mode: "exclude" | "include";
                  snowflakes: string[];
                  type: "channel" | "user" | "category_channel";
              }[];
              global_ignored_channels: string[];
              hooks: Record<string, string>;
              overrides: ({
                  channel: string;
                  enabled: true;
                  events: [LogEventType, ...LogEventType[]];
              } | {
                  enabled: false;
                  events: [LogEventType, ...LogEventType[]];
              })[];
              primary_channel?: string;
              unsubscribed_events: LogEventType[];
          };
          member_verification?: {
              channel?: string;
              conditions: {
                  age_less_than?: number;
                  always: boolean;
                  no_avatar?: boolean;
              };
              enabled: boolean;
              expired_actions: (
                  | {
                      delete_timeframe?: number;
                      duration?: number;
                      notify?: boolean;
                      reason?: string;
                      type: "ban";
                  }
                  | {
                      notify?: boolean;
                      reason?: string;
                      type: "kick";
                  }
                  | {
                      duration?: number;
                      notify?: boolean;
                      reason?: string;
                      type: "mute";
                  }
                  | {
                      duration?: number;
                      mode: "give" | "take";
                      notify?: boolean;
                      reason?: string;
                      roles: string[];
                      type: "role";
                  }
                  | {
                      type: "none";
                  }
                  | {
                      notify?: boolean;
                      reason?: string;
                      type: "warn";
                  }
                  | {
                      notify: true;
                      reason?: string;
                      type: "verbal_warn";
                  }
                  | {
                      count: number;
                      notify?: boolean;
                      reason?: string;
                      type: "clear";
                  }
                  | {
                      type: "delete_message";
                  })[];
              max_duration?: number;
              method: "channel_interaction" | "dm_interaction";
              success_message?: string;
              unverified_roles: string[];
              verification_message?: string;
              verified_roles: string[];
          };
          message_reporting?: {
              action_required_permissions: {
                  ban: string[];
                  ignore: string[];
                  kick: string[];
                  mute: string[];
                  warn: string[];
              };
              enabled: boolean;
              logging_channel?: string;
              permission_level?: number;
              permissions: string[];
              roles: string[];
              users: string[];
          };
          muting?: {
              role?: string;
          };
          permissions: {
              check_discord_permissions:
                  | "never"
                  | "always"
                  | "during_automod"
                  | "during_manual_actions";
              command_permission_mode?: "ignore" | "overwrite" | "check";
              invincible?: {
                  roles: string[];
                  users: string[];
              };
              mode?: "discord" | "levels" | "layered";
          };
          prefix: string;
          quick_mute?: {
              default_duration?: number;
              enabled: boolean;
              mute_clear_emoji?: string;
              mute_emoji?: string;
              reason?: string;
          };
          raid_protection?: {
              action:
                  | "none"
                  | "lock"
                  | "lock_and_antijoin"
                  | "antijoin"
                  | "auto";
              channel_mode: "exclude" | "include";
              channels: string[];
              enabled: boolean;
              member_actions: (
                  | {
                      delete_timeframe?: number;
                      duration?: number;
                      notify?: boolean;
                      reason?: string;
                      type: "ban";
                  }
                  | {
                      notify?: boolean;
                      reason?: string;
                      type: "kick";
                  }
                  | {
                      duration?: number;
                      notify?: boolean;
                      reason?: string;
                      type: "mute";
                  }
                  | {
                      duration?: number;
                      mode: "give" | "take";
                      notify?: boolean;
                      reason?: string;
                      roles: string[];
                      type: "role";
                  }
                  | {
                      type: "none";
                  }
                  | {
                      notify?: boolean;
                      reason?: string;
                      type: "warn";
                  }
                  | {
                      notify: true;
                      reason?: string;
                      type: "verbal_warn";
                  }
                  | {
                      count: number;
                      notify?: boolean;
                      reason?: string;
                      type: "clear";
                  }
                  | {
                      type: "delete_message";
                  })[];
              send_log: boolean;
              threshold: number;
              timeframe: number;
          };
          reaction_roles?: {
              enabled: boolean;
              ignore_bots: boolean;
              ratelimiting?: {
                  block_duration: number;
                  enabled: boolean;
                  max_attempts: number;
                  timeframe: number;
              };
          };
          rule_moderation?: {
              enabled: boolean;
              global_disabled_channels: string[];
              rules: (
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      domains: string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      scan_links_only: boolean;
                      type: "domain_filter";
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      data: string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      type: "mime_type_filter";
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      data: string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      type: "file_extension_filter";
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      allow_internal_invites: boolean;
                      allowed_invite_codes: string[];
                      bail: boolean;
                      bypasses: null | string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      type: "anti_invite";
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      patterns: (string | [string, string])[];
                      type: "regex_filter";
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      is_bypasser: boolean;
                      max_repeated_chars: number;
                      max_repeated_words: number;
                      mode: "normal" | "invert";
                      name: null | string;
                      type: "repeated_text_filter";
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      is_bypasser: boolean;
                      max_mentions: number;
                      max_role_mentions: number;
                      max_user_mentions: number;
                      mode: "normal" | "invert";
                      name: null | string;
                      type: "mass_mention_filter";
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      inherit_from_word_filter: boolean;
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      scan_embeds: boolean;
                      tokens: string[];
                      type: "image_filter";
                      words: string[];
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      inherit_from_word_filter: boolean;
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      tokens: string[];
                      type: "embed_filter";
                      words: string[];
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      excluded_domains_regex: string[];
                      excluded_link_regex: string[];
                      excluded_links: string[];
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      tokens: string[];
                      type: "EXPERIMENTAL_url_crawl";
                      words: string[];
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      score_thresholds: {
                          hentai: number;
                          porn: number;
                          sexy: number;
                      };
                      type: "EXPERIMENTAL_nsfw_filter";
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      normalize: boolean;
                      tokens: string[];
                      type: "word_filter";
                      words: string[];
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      check_mime_types: boolean;
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      hashes: Record<string, null | string>;
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      type: "file_filter";
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      flirtation_threshold: number;
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      identity_attack_threshold: number;
                      insult_threshold: number;
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      profanity_threshold: number;
                      severe_toxicity_threshold: number;
                      sexual_explicit_threshold: number;
                      threat_threshold: number;
                      toxicity_threshold: number;
                      type: "ai_scan";
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      normalize: boolean;
                      regex_patterns: string[];
                      tokens: string[];
                      type: "profile_filter";
                      words: string[];
                  })[];
          };
          survey_system?: {
              default_log_channel?: string;
              enabled: boolean;
              surveys: Record<string, {
                  description?: string;
                  end_message?: string;
                  log_channel?: string;
                  name: string;
                  questions: [{
                      default_value?: string;
                      maxLength?: number;
                      minLength?: number;
                      placeholder?: string;
                      question: string;
                      required: boolean;
                      type: "paragraph" | "short";
                  }, ...{
                      default_value?: string;
                      maxLength?: number;
                      minLength?: number;
                      placeholder?: string;
                      question: string;
                      required: boolean;
                      type: "paragraph" | "short";
                  }[]];
                  required_channels: string[];
                  required_permissions: string[];
                  required_roles: string[];
                  required_users: string[];
              }>;
          };
          welcomer?: {
              channel: string;
              custom_message?: string;
              delete_after?: number;
              enabled: boolean;
              force_embeds: boolean;
              forced_embed_color?: number;
              mention: boolean;
              randomize: boolean;
              say_hi_button?: {
                  emoji: string;
                  enabled: boolean;
                  expire_after: null | number;
                  label: string;
                  reply: string;
              };
          };
      }

    Parameters

    • guildId: string

    Returns undefined | T

  • Type Parameters

    • T extends {
          ai_automod?: {
              actions: (
                  | {
                      delete_timeframe?: number;
                      duration?: number;
                      notify?: boolean;
                      reason?: string;
                      type: "ban";
                  }
                  | {
                      notify?: boolean;
                      reason?: string;
                      type: "kick";
                  }
                  | {
                      duration?: number;
                      notify?: boolean;
                      reason?: string;
                      type: "mute";
                  }
                  | {
                      duration?: number;
                      mode: "give" | "take";
                      notify?: boolean;
                      reason?: string;
                      roles: string[];
                      type: "role";
                  }
                  | {
                      type: "none";
                  }
                  | {
                      notify?: boolean;
                      reason?: string;
                      type: "warn";
                  }
                  | {
                      notify: true;
                      reason?: string;
                      type: "verbal_warn";
                  }
                  | {
                      count: number;
                      notify?: boolean;
                      reason?: string;
                      type: "clear";
                  }
                  | {
                      type: "delete_message";
                  })[];
              automatic_actions?: {
                  enabled: boolean;
                  stops: Record<string, (
                      | {
                          delete_timeframe?: number;
                          duration?: number;
                          notify?: boolean;
                          reason?: string;
                          type: "ban";
                      }
                      | {
                          notify?: boolean;
                          reason?: string;
                          type: "kick";
                      }
                      | {
                          duration?: number;
                          notify?: boolean;
                          reason?: string;
                          type: "mute";
                      }
                      | {
                          duration?: number;
                          mode: "give" | "take";
                          notify?: boolean;
                          reason?: string;
                          roles: string[];
                          type: "role";
                      }
                      | {
                          type: "none";
                      }
                      | {
                          notify?: boolean;
                          reason?: string;
                          type: "warn";
                      }
                      | {
                          notify: true;
                          reason?: string;
                          type: "verbal_warn";
                      }
                      | {
                          count: number;
                          notify?: boolean;
                          reason?: string;
                          type: "clear";
                      }
                      | {
                          type: "delete_message";
                      })[]>;
              };
              enabled: boolean;
              evaluate_after_attempts: number;
              evaluation_cache_expires_in: number;
              exception_regex_patterns: (string | [string, string])[];
              max_individual_scores?: {
                  flirtation: number;
                  identity_attack: number;
                  incoherent: number;
                  insult: number;
                  obscene: number;
                  profanity: number;
                  severe_toxicity: number;
                  sexually_explicit: number;
                  spam: number;
                  threat: number;
                  toxicity: number;
                  unsubstantial: number;
              };
              max_single_score: number;
              max_total_score: number;
          };
          anti_member_join?: {
              ban_duration?: number;
              behavior: "ban" | "kick";
              custom_reason?: string;
              enabled: boolean;
              ignore_bots: boolean;
          };
          antispam?: {
              actions: (
                  | {
                      delete_timeframe?: number;
                      duration?: number;
                      notify?: boolean;
                      reason?: string;
                      type: "ban";
                  }
                  | {
                      notify?: boolean;
                      reason?: string;
                      type: "kick";
                  }
                  | {
                      duration?: number;
                      notify?: boolean;
                      reason?: string;
                      type: "mute";
                  }
                  | {
                      duration?: number;
                      mode: "give" | "take";
                      notify?: boolean;
                      reason?: string;
                      roles: string[];
                      type: "role";
                  }
                  | {
                      type: "none";
                  }
                  | {
                      notify?: boolean;
                      reason?: string;
                      type: "warn";
                  }
                  | {
                      notify: true;
                      reason?: string;
                      type: "verbal_warn";
                  }
                  | {
                      count: number;
                      notify?: boolean;
                      reason?: string;
                      type: "clear";
                  }
                  | {
                      type: "delete_message";
                  })[];
              channels: {
                  list: string[];
                  mode: "exclude" | "include";
              };
              enabled: boolean;
              limit: number;
              timeframe: number;
          };
          auto_role?: {
              enabled: boolean;
              ignore_bots: boolean;
              roles: string[];
          };
          auto_triggers?: {
              enabled: boolean;
              global_disabled_channels: string[];
              triggers: ({
                  buttons: {
                      label: string;
                      url: string;
                  }[];
                  enabled_channels: string[] | "all";
                  ignore_roles: string[];
                  ignore_users: string[];
                  message: string;
                  type: "sticky_message";
              } | {
                  action: "assign_role" | "take_away_role";
                  enabled_channels: string[] | "all";
                  ignore_roles: string[];
                  ignore_users: string[];
                  must_contain: string[];
                  must_not_contain: string[];
                  roles: string[];
                  type: "member_status_update";
              })[];
          };
          bump_reminder?: {
              disabled_channels: string[];
              enabled?: boolean;
              on_bump_content?: string;
              remind_after: number;
              reminder_content?: string;
          };
          channel_archives?: {
              archive_category: string;
              enabled: boolean;
              ignored_channels: string[];
          };
          commands: {
              channels: {
                  list: string[];
                  mode: "exclude" | "include";
              };
              disabled_commands: string[];
              mention_prefix: boolean;
              moderation_command_behavior: "delete" | "default";
              ratelimiting?: {
                  block_duration: number;
                  enabled: boolean;
                  max_attempts: number;
                  overrides: Record<string, {
                      block_duration: number;
                      enabled: boolean;
                      max_attempts: number;
                      timeframe: number;
                  }>;
                  timeframe: number;
              };
              rerun_on_edit: boolean;
              respond_on_precondition_fail: boolean;
              troll_command_immune_users: string[];
          };
          debug_mode: boolean;
          echoing?: {
              allow_mentions: boolean;
          };
          extensions?: {
              disabled_extensions: string[];
              enabled?: boolean;
              installed_extensions: string[];
          };
          infractions: {
              dm_fallback: "none" | "create_channel" | "create_thread";
              dm_fallback_channel_expires_in: number;
              dm_fallback_parent_channel?: string;
              points: {
                  ban: number;
                  clear: number;
                  kick: number;
                  massban: number;
                  masskick: number;
                  mod_message: number;
                  mute: number;
                  note: number;
                  role: number;
                  softban: number;
                  tempban: number;
                  timeout: number;
                  unban: number;
                  warning: number;
              };
              reason_template_placeholder_wrapper: string;
              reason_templates: Record<string, string>;
              send_ids_to_user: boolean;
          };
          logging?: {
              bulk_delete_send_json: boolean;
              default_enabled: boolean;
              enabled: boolean;
              exclusions: {
                  events?: LogEventType[];
                  mode: "exclude" | "include";
                  snowflakes: string[];
                  type: "channel" | "user" | "category_channel";
              }[];
              global_ignored_channels: string[];
              hooks: Record<string, string>;
              overrides: ({
                  channel: string;
                  enabled: true;
                  events: [LogEventType, ...LogEventType[]];
              } | {
                  enabled: false;
                  events: [LogEventType, ...LogEventType[]];
              })[];
              primary_channel?: string;
              unsubscribed_events: LogEventType[];
          };
          member_verification?: {
              channel?: string;
              conditions: {
                  age_less_than?: number;
                  always: boolean;
                  no_avatar?: boolean;
              };
              enabled: boolean;
              expired_actions: (
                  | {
                      delete_timeframe?: number;
                      duration?: number;
                      notify?: boolean;
                      reason?: string;
                      type: "ban";
                  }
                  | {
                      notify?: boolean;
                      reason?: string;
                      type: "kick";
                  }
                  | {
                      duration?: number;
                      notify?: boolean;
                      reason?: string;
                      type: "mute";
                  }
                  | {
                      duration?: number;
                      mode: "give" | "take";
                      notify?: boolean;
                      reason?: string;
                      roles: string[];
                      type: "role";
                  }
                  | {
                      type: "none";
                  }
                  | {
                      notify?: boolean;
                      reason?: string;
                      type: "warn";
                  }
                  | {
                      notify: true;
                      reason?: string;
                      type: "verbal_warn";
                  }
                  | {
                      count: number;
                      notify?: boolean;
                      reason?: string;
                      type: "clear";
                  }
                  | {
                      type: "delete_message";
                  })[];
              max_duration?: number;
              method: "channel_interaction" | "dm_interaction";
              success_message?: string;
              unverified_roles: string[];
              verification_message?: string;
              verified_roles: string[];
          };
          message_reporting?: {
              action_required_permissions: {
                  ban: string[];
                  ignore: string[];
                  kick: string[];
                  mute: string[];
                  warn: string[];
              };
              enabled: boolean;
              logging_channel?: string;
              permission_level?: number;
              permissions: string[];
              roles: string[];
              users: string[];
          };
          muting?: {
              role?: string;
          };
          permissions: {
              check_discord_permissions:
                  | "never"
                  | "always"
                  | "during_automod"
                  | "during_manual_actions";
              command_permission_mode?: "ignore" | "overwrite" | "check";
              invincible?: {
                  roles: string[];
                  users: string[];
              };
              mode?: "discord" | "levels" | "layered";
          };
          prefix: string;
          quick_mute?: {
              default_duration?: number;
              enabled: boolean;
              mute_clear_emoji?: string;
              mute_emoji?: string;
              reason?: string;
          };
          raid_protection?: {
              action:
                  | "none"
                  | "lock"
                  | "lock_and_antijoin"
                  | "antijoin"
                  | "auto";
              channel_mode: "exclude" | "include";
              channels: string[];
              enabled: boolean;
              member_actions: (
                  | {
                      delete_timeframe?: number;
                      duration?: number;
                      notify?: boolean;
                      reason?: string;
                      type: "ban";
                  }
                  | {
                      notify?: boolean;
                      reason?: string;
                      type: "kick";
                  }
                  | {
                      duration?: number;
                      notify?: boolean;
                      reason?: string;
                      type: "mute";
                  }
                  | {
                      duration?: number;
                      mode: "give" | "take";
                      notify?: boolean;
                      reason?: string;
                      roles: string[];
                      type: "role";
                  }
                  | {
                      type: "none";
                  }
                  | {
                      notify?: boolean;
                      reason?: string;
                      type: "warn";
                  }
                  | {
                      notify: true;
                      reason?: string;
                      type: "verbal_warn";
                  }
                  | {
                      count: number;
                      notify?: boolean;
                      reason?: string;
                      type: "clear";
                  }
                  | {
                      type: "delete_message";
                  })[];
              send_log: boolean;
              threshold: number;
              timeframe: number;
          };
          reaction_roles?: {
              enabled: boolean;
              ignore_bots: boolean;
              ratelimiting?: {
                  block_duration: number;
                  enabled: boolean;
                  max_attempts: number;
                  timeframe: number;
              };
          };
          rule_moderation?: {
              enabled: boolean;
              global_disabled_channels: string[];
              rules: (
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      domains: string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      scan_links_only: boolean;
                      type: "domain_filter";
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      data: string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      type: "mime_type_filter";
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      data: string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      type: "file_extension_filter";
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      allow_internal_invites: boolean;
                      allowed_invite_codes: string[];
                      bail: boolean;
                      bypasses: null | string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      type: "anti_invite";
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      patterns: (string | [string, string])[];
                      type: "regex_filter";
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      is_bypasser: boolean;
                      max_repeated_chars: number;
                      max_repeated_words: number;
                      mode: "normal" | "invert";
                      name: null | string;
                      type: "repeated_text_filter";
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      is_bypasser: boolean;
                      max_mentions: number;
                      max_role_mentions: number;
                      max_user_mentions: number;
                      mode: "normal" | "invert";
                      name: null | string;
                      type: "mass_mention_filter";
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      inherit_from_word_filter: boolean;
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      scan_embeds: boolean;
                      tokens: string[];
                      type: "image_filter";
                      words: string[];
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      inherit_from_word_filter: boolean;
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      tokens: string[];
                      type: "embed_filter";
                      words: string[];
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      excluded_domains_regex: string[];
                      excluded_link_regex: string[];
                      excluded_links: string[];
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      tokens: string[];
                      type: "EXPERIMENTAL_url_crawl";
                      words: string[];
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      score_thresholds: {
                          hentai: number;
                          porn: number;
                          sexy: number;
                      };
                      type: "EXPERIMENTAL_nsfw_filter";
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      normalize: boolean;
                      tokens: string[];
                      type: "word_filter";
                      words: string[];
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      check_mime_types: boolean;
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      hashes: Record<string, null | string>;
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      type: "file_filter";
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      flirtation_threshold: number;
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      identity_attack_threshold: number;
                      insult_threshold: number;
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      profanity_threshold: number;
                      severe_toxicity_threshold: number;
                      sexual_explicit_threshold: number;
                      threat_threshold: number;
                      toxicity_threshold: number;
                      type: "ai_scan";
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      normalize: boolean;
                      regex_patterns: string[];
                      tokens: string[];
                      type: "profile_filter";
                      words: string[];
                  })[];
          };
          survey_system?: {
              default_log_channel?: string;
              enabled: boolean;
              surveys: Record<string, {
                  description?: string;
                  end_message?: string;
                  log_channel?: string;
                  name: string;
                  questions: [{
                      default_value?: string;
                      maxLength?: number;
                      minLength?: number;
                      placeholder?: string;
                      question: string;
                      required: boolean;
                      type: "paragraph" | "short";
                  }, ...{
                      default_value?: string;
                      maxLength?: number;
                      minLength?: number;
                      placeholder?: string;
                      question: string;
                      required: boolean;
                      type: "paragraph" | "short";
                  }[]];
                  required_channels: string[];
                  required_permissions: string[];
                  required_roles: string[];
                  required_users: string[];
              }>;
          };
          welcomer?: {
              channel: string;
              custom_message?: string;
              delete_after?: number;
              enabled: boolean;
              force_embeds: boolean;
              forced_embed_color?: number;
              mention: boolean;
              randomize: boolean;
              say_hi_button?: {
                  emoji: string;
                  enabled: boolean;
                  expire_after: null | number;
                  label: string;
                  reply: string;
              };
          };
      } = {
          ai_automod?: {
              actions: (
                  | {
                      delete_timeframe?: number;
                      duration?: number;
                      notify?: boolean;
                      reason?: string;
                      type: "ban";
                  }
                  | {
                      notify?: boolean;
                      reason?: string;
                      type: "kick";
                  }
                  | {
                      duration?: number;
                      notify?: boolean;
                      reason?: string;
                      type: "mute";
                  }
                  | {
                      duration?: number;
                      mode: "give" | "take";
                      notify?: boolean;
                      reason?: string;
                      roles: string[];
                      type: "role";
                  }
                  | {
                      type: "none";
                  }
                  | {
                      notify?: boolean;
                      reason?: string;
                      type: "warn";
                  }
                  | {
                      notify: true;
                      reason?: string;
                      type: "verbal_warn";
                  }
                  | {
                      count: number;
                      notify?: boolean;
                      reason?: string;
                      type: "clear";
                  }
                  | {
                      type: "delete_message";
                  })[];
              automatic_actions?: {
                  enabled: boolean;
                  stops: Record<string, (
                      | {
                          delete_timeframe?: number;
                          duration?: number;
                          notify?: boolean;
                          reason?: string;
                          type: "ban";
                      }
                      | {
                          notify?: boolean;
                          reason?: string;
                          type: "kick";
                      }
                      | {
                          duration?: number;
                          notify?: boolean;
                          reason?: string;
                          type: "mute";
                      }
                      | {
                          duration?: number;
                          mode: "give" | "take";
                          notify?: boolean;
                          reason?: string;
                          roles: string[];
                          type: "role";
                      }
                      | {
                          type: "none";
                      }
                      | {
                          notify?: boolean;
                          reason?: string;
                          type: "warn";
                      }
                      | {
                          notify: true;
                          reason?: string;
                          type: "verbal_warn";
                      }
                      | {
                          count: number;
                          notify?: boolean;
                          reason?: string;
                          type: "clear";
                      }
                      | {
                          type: "delete_message";
                      })[]>;
              };
              enabled: boolean;
              evaluate_after_attempts: number;
              evaluation_cache_expires_in: number;
              exception_regex_patterns: (string | [string, string])[];
              max_individual_scores?: {
                  flirtation: number;
                  identity_attack: number;
                  incoherent: number;
                  insult: number;
                  obscene: number;
                  profanity: number;
                  severe_toxicity: number;
                  sexually_explicit: number;
                  spam: number;
                  threat: number;
                  toxicity: number;
                  unsubstantial: number;
              };
              max_single_score: number;
              max_total_score: number;
          };
          anti_member_join?: {
              ban_duration?: number;
              behavior: "ban" | "kick";
              custom_reason?: string;
              enabled: boolean;
              ignore_bots: boolean;
          };
          antispam?: {
              actions: (
                  | {
                      delete_timeframe?: number;
                      duration?: number;
                      notify?: boolean;
                      reason?: string;
                      type: "ban";
                  }
                  | {
                      notify?: boolean;
                      reason?: string;
                      type: "kick";
                  }
                  | {
                      duration?: number;
                      notify?: boolean;
                      reason?: string;
                      type: "mute";
                  }
                  | {
                      duration?: number;
                      mode: "give" | "take";
                      notify?: boolean;
                      reason?: string;
                      roles: string[];
                      type: "role";
                  }
                  | {
                      type: "none";
                  }
                  | {
                      notify?: boolean;
                      reason?: string;
                      type: "warn";
                  }
                  | {
                      notify: true;
                      reason?: string;
                      type: "verbal_warn";
                  }
                  | {
                      count: number;
                      notify?: boolean;
                      reason?: string;
                      type: "clear";
                  }
                  | {
                      type: "delete_message";
                  })[];
              channels: {
                  list: string[];
                  mode: "exclude" | "include";
              };
              enabled: boolean;
              limit: number;
              timeframe: number;
          };
          auto_role?: {
              enabled: boolean;
              ignore_bots: boolean;
              roles: string[];
          };
          auto_triggers?: {
              enabled: boolean;
              global_disabled_channels: string[];
              triggers: ({
                  buttons: {
                      label: string;
                      url: string;
                  }[];
                  enabled_channels: string[] | "all";
                  ignore_roles: string[];
                  ignore_users: string[];
                  message: string;
                  type: "sticky_message";
              } | {
                  action: "assign_role" | "take_away_role";
                  enabled_channels: string[] | "all";
                  ignore_roles: string[];
                  ignore_users: string[];
                  must_contain: string[];
                  must_not_contain: string[];
                  roles: string[];
                  type: "member_status_update";
              })[];
          };
          bump_reminder?: {
              disabled_channels: string[];
              enabled?: boolean;
              on_bump_content?: string;
              remind_after: number;
              reminder_content?: string;
          };
          channel_archives?: {
              archive_category: string;
              enabled: boolean;
              ignored_channels: string[];
          };
          commands: {
              channels: {
                  list: string[];
                  mode: "exclude" | "include";
              };
              disabled_commands: string[];
              mention_prefix: boolean;
              moderation_command_behavior: "delete" | "default";
              ratelimiting?: {
                  block_duration: number;
                  enabled: boolean;
                  max_attempts: number;
                  overrides: Record<string, {
                      block_duration: number;
                      enabled: boolean;
                      max_attempts: number;
                      timeframe: number;
                  }>;
                  timeframe: number;
              };
              rerun_on_edit: boolean;
              respond_on_precondition_fail: boolean;
              troll_command_immune_users: string[];
          };
          debug_mode: boolean;
          echoing?: {
              allow_mentions: boolean;
          };
          extensions?: {
              disabled_extensions: string[];
              enabled?: boolean;
              installed_extensions: string[];
          };
          infractions: {
              dm_fallback: "none" | "create_channel" | "create_thread";
              dm_fallback_channel_expires_in: number;
              dm_fallback_parent_channel?: string;
              points: {
                  ban: number;
                  clear: number;
                  kick: number;
                  massban: number;
                  masskick: number;
                  mod_message: number;
                  mute: number;
                  note: number;
                  role: number;
                  softban: number;
                  tempban: number;
                  timeout: number;
                  unban: number;
                  warning: number;
              };
              reason_template_placeholder_wrapper: string;
              reason_templates: Record<string, string>;
              send_ids_to_user: boolean;
          };
          logging?: {
              bulk_delete_send_json: boolean;
              default_enabled: boolean;
              enabled: boolean;
              exclusions: {
                  events?: LogEventType[];
                  mode: "exclude" | "include";
                  snowflakes: string[];
                  type: "channel" | "user" | "category_channel";
              }[];
              global_ignored_channels: string[];
              hooks: Record<string, string>;
              overrides: ({
                  channel: string;
                  enabled: true;
                  events: [LogEventType, ...LogEventType[]];
              } | {
                  enabled: false;
                  events: [LogEventType, ...LogEventType[]];
              })[];
              primary_channel?: string;
              unsubscribed_events: LogEventType[];
          };
          member_verification?: {
              channel?: string;
              conditions: {
                  age_less_than?: number;
                  always: boolean;
                  no_avatar?: boolean;
              };
              enabled: boolean;
              expired_actions: (
                  | {
                      delete_timeframe?: number;
                      duration?: number;
                      notify?: boolean;
                      reason?: string;
                      type: "ban";
                  }
                  | {
                      notify?: boolean;
                      reason?: string;
                      type: "kick";
                  }
                  | {
                      duration?: number;
                      notify?: boolean;
                      reason?: string;
                      type: "mute";
                  }
                  | {
                      duration?: number;
                      mode: "give" | "take";
                      notify?: boolean;
                      reason?: string;
                      roles: string[];
                      type: "role";
                  }
                  | {
                      type: "none";
                  }
                  | {
                      notify?: boolean;
                      reason?: string;
                      type: "warn";
                  }
                  | {
                      notify: true;
                      reason?: string;
                      type: "verbal_warn";
                  }
                  | {
                      count: number;
                      notify?: boolean;
                      reason?: string;
                      type: "clear";
                  }
                  | {
                      type: "delete_message";
                  })[];
              max_duration?: number;
              method: "channel_interaction" | "dm_interaction";
              success_message?: string;
              unverified_roles: string[];
              verification_message?: string;
              verified_roles: string[];
          };
          message_reporting?: {
              action_required_permissions: {
                  ban: string[];
                  ignore: string[];
                  kick: string[];
                  mute: string[];
                  warn: string[];
              };
              enabled: boolean;
              logging_channel?: string;
              permission_level?: number;
              permissions: string[];
              roles: string[];
              users: string[];
          };
          muting?: {
              role?: string;
          };
          permissions: {
              check_discord_permissions:
                  | "never"
                  | "always"
                  | "during_automod"
                  | "during_manual_actions";
              command_permission_mode?: "ignore" | "overwrite" | "check";
              invincible?: {
                  roles: string[];
                  users: string[];
              };
              mode?: "discord" | "levels" | "layered";
          };
          prefix: string;
          quick_mute?: {
              default_duration?: number;
              enabled: boolean;
              mute_clear_emoji?: string;
              mute_emoji?: string;
              reason?: string;
          };
          raid_protection?: {
              action:
                  | "none"
                  | "lock"
                  | "lock_and_antijoin"
                  | "antijoin"
                  | "auto";
              channel_mode: "exclude" | "include";
              channels: string[];
              enabled: boolean;
              member_actions: (
                  | {
                      delete_timeframe?: number;
                      duration?: number;
                      notify?: boolean;
                      reason?: string;
                      type: "ban";
                  }
                  | {
                      notify?: boolean;
                      reason?: string;
                      type: "kick";
                  }
                  | {
                      duration?: number;
                      notify?: boolean;
                      reason?: string;
                      type: "mute";
                  }
                  | {
                      duration?: number;
                      mode: "give" | "take";
                      notify?: boolean;
                      reason?: string;
                      roles: string[];
                      type: "role";
                  }
                  | {
                      type: "none";
                  }
                  | {
                      notify?: boolean;
                      reason?: string;
                      type: "warn";
                  }
                  | {
                      notify: true;
                      reason?: string;
                      type: "verbal_warn";
                  }
                  | {
                      count: number;
                      notify?: boolean;
                      reason?: string;
                      type: "clear";
                  }
                  | {
                      type: "delete_message";
                  })[];
              send_log: boolean;
              threshold: number;
              timeframe: number;
          };
          reaction_roles?: {
              enabled: boolean;
              ignore_bots: boolean;
              ratelimiting?: {
                  block_duration: number;
                  enabled: boolean;
                  max_attempts: number;
                  timeframe: number;
              };
          };
          rule_moderation?: {
              enabled: boolean;
              global_disabled_channels: string[];
              rules: (
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      domains: string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      scan_links_only: boolean;
                      type: "domain_filter";
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      data: string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      type: "mime_type_filter";
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      data: string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      type: "file_extension_filter";
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      allow_internal_invites: boolean;
                      allowed_invite_codes: string[];
                      bail: boolean;
                      bypasses: null | string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      type: "anti_invite";
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      patterns: (string | [string, string])[];
                      type: "regex_filter";
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      is_bypasser: boolean;
                      max_repeated_chars: number;
                      max_repeated_words: number;
                      mode: "normal" | "invert";
                      name: null | string;
                      type: "repeated_text_filter";
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      is_bypasser: boolean;
                      max_mentions: number;
                      max_role_mentions: number;
                      max_user_mentions: number;
                      mode: "normal" | "invert";
                      name: null | string;
                      type: "mass_mention_filter";
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      inherit_from_word_filter: boolean;
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      scan_embeds: boolean;
                      tokens: string[];
                      type: "image_filter";
                      words: string[];
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      inherit_from_word_filter: boolean;
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      tokens: string[];
                      type: "embed_filter";
                      words: string[];
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      excluded_domains_regex: string[];
                      excluded_link_regex: string[];
                      excluded_links: string[];
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      tokens: string[];
                      type: "EXPERIMENTAL_url_crawl";
                      words: string[];
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      score_thresholds: {
                          hentai: number;
                          porn: number;
                          sexy: number;
                      };
                      type: "EXPERIMENTAL_nsfw_filter";
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      normalize: boolean;
                      tokens: string[];
                      type: "word_filter";
                      words: string[];
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      check_mime_types: boolean;
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      hashes: Record<string, null | string>;
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      type: "file_filter";
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      flirtation_threshold: number;
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      identity_attack_threshold: number;
                      insult_threshold: number;
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      profanity_threshold: number;
                      severe_toxicity_threshold: number;
                      sexual_explicit_threshold: number;
                      threat_threshold: number;
                      toxicity_threshold: number;
                      type: "ai_scan";
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      normalize: boolean;
                      regex_patterns: string[];
                      tokens: string[];
                      type: "profile_filter";
                      words: string[];
                  })[];
          };
          survey_system?: {
              default_log_channel?: string;
              enabled: boolean;
              surveys: Record<string, {
                  description?: string;
                  end_message?: string;
                  log_channel?: string;
                  name: string;
                  questions: [{
                      default_value?: string;
                      maxLength?: number;
                      minLength?: number;
                      placeholder?: string;
                      question: string;
                      required: boolean;
                      type: "paragraph" | "short";
                  }, ...{
                      default_value?: string;
                      maxLength?: number;
                      minLength?: number;
                      placeholder?: string;
                      question: string;
                      required: boolean;
                      type: "paragraph" | "short";
                  }[]];
                  required_channels: string[];
                  required_permissions: string[];
                  required_roles: string[];
                  required_users: string[];
              }>;
          };
          welcomer?: {
              channel: string;
              custom_message?: string;
              delete_after?: number;
              enabled: boolean;
              force_embeds: boolean;
              forced_embed_color?: number;
              mention: boolean;
              randomize: boolean;
              say_hi_button?: {
                  emoji: string;
                  enabled: boolean;
                  expire_after: null | number;
                  label: string;
                  reply: string;
              };
          };
      }

    Parameters

    • guildId: string

    Returns T

  • Parameters

    • guildId: string
    • value: {
          ai_automod?: {
              actions: (
                  | {
                      delete_timeframe?: number;
                      duration?: number;
                      notify?: boolean;
                      reason?: string;
                      type: "ban";
                  }
                  | {
                      notify?: boolean;
                      reason?: string;
                      type: "kick";
                  }
                  | {
                      duration?: number;
                      notify?: boolean;
                      reason?: string;
                      type: "mute";
                  }
                  | {
                      duration?: number;
                      mode: "give" | "take";
                      notify?: boolean;
                      reason?: string;
                      roles: string[];
                      type: "role";
                  }
                  | {
                      type: "none";
                  }
                  | {
                      notify?: boolean;
                      reason?: string;
                      type: "warn";
                  }
                  | {
                      notify: true;
                      reason?: string;
                      type: "verbal_warn";
                  }
                  | {
                      count: number;
                      notify?: boolean;
                      reason?: string;
                      type: "clear";
                  }
                  | {
                      type: "delete_message";
                  })[];
              automatic_actions?: {
                  enabled: boolean;
                  stops: Record<string, (
                      | {
                          delete_timeframe?: number;
                          duration?: number;
                          notify?: boolean;
                          reason?: string;
                          type: "ban";
                      }
                      | {
                          notify?: boolean;
                          reason?: string;
                          type: "kick";
                      }
                      | {
                          duration?: number;
                          notify?: boolean;
                          reason?: string;
                          type: "mute";
                      }
                      | {
                          duration?: number;
                          mode: "give" | "take";
                          notify?: boolean;
                          reason?: string;
                          roles: string[];
                          type: "role";
                      }
                      | {
                          type: "none";
                      }
                      | {
                          notify?: boolean;
                          reason?: string;
                          type: "warn";
                      }
                      | {
                          notify: true;
                          reason?: string;
                          type: "verbal_warn";
                      }
                      | {
                          count: number;
                          notify?: boolean;
                          reason?: string;
                          type: "clear";
                      }
                      | {
                          type: "delete_message";
                      })[]>;
              };
              enabled: boolean;
              evaluate_after_attempts: number;
              evaluation_cache_expires_in: number;
              exception_regex_patterns: (string | [string, string])[];
              max_individual_scores?: {
                  flirtation: number;
                  identity_attack: number;
                  incoherent: number;
                  insult: number;
                  obscene: number;
                  profanity: number;
                  severe_toxicity: number;
                  sexually_explicit: number;
                  spam: number;
                  threat: number;
                  toxicity: number;
                  unsubstantial: number;
              };
              max_single_score: number;
              max_total_score: number;
          };
          anti_member_join?: {
              ban_duration?: number;
              behavior: "ban" | "kick";
              custom_reason?: string;
              enabled: boolean;
              ignore_bots: boolean;
          };
          antispam?: {
              actions: (
                  | {
                      delete_timeframe?: number;
                      duration?: number;
                      notify?: boolean;
                      reason?: string;
                      type: "ban";
                  }
                  | {
                      notify?: boolean;
                      reason?: string;
                      type: "kick";
                  }
                  | {
                      duration?: number;
                      notify?: boolean;
                      reason?: string;
                      type: "mute";
                  }
                  | {
                      duration?: number;
                      mode: "give" | "take";
                      notify?: boolean;
                      reason?: string;
                      roles: string[];
                      type: "role";
                  }
                  | {
                      type: "none";
                  }
                  | {
                      notify?: boolean;
                      reason?: string;
                      type: "warn";
                  }
                  | {
                      notify: true;
                      reason?: string;
                      type: "verbal_warn";
                  }
                  | {
                      count: number;
                      notify?: boolean;
                      reason?: string;
                      type: "clear";
                  }
                  | {
                      type: "delete_message";
                  })[];
              channels: {
                  list: string[];
                  mode: "exclude" | "include";
              };
              enabled: boolean;
              limit: number;
              timeframe: number;
          };
          auto_role?: {
              enabled: boolean;
              ignore_bots: boolean;
              roles: string[];
          };
          auto_triggers?: {
              enabled: boolean;
              global_disabled_channels: string[];
              triggers: ({
                  buttons: {
                      label: string;
                      url: string;
                  }[];
                  enabled_channels: string[] | "all";
                  ignore_roles: string[];
                  ignore_users: string[];
                  message: string;
                  type: "sticky_message";
              } | {
                  action: "assign_role" | "take_away_role";
                  enabled_channels: string[] | "all";
                  ignore_roles: string[];
                  ignore_users: string[];
                  must_contain: string[];
                  must_not_contain: string[];
                  roles: string[];
                  type: "member_status_update";
              })[];
          };
          bump_reminder?: {
              disabled_channels: string[];
              enabled?: boolean;
              on_bump_content?: string;
              remind_after: number;
              reminder_content?: string;
          };
          channel_archives?: {
              archive_category: string;
              enabled: boolean;
              ignored_channels: string[];
          };
          commands: {
              channels: {
                  list: string[];
                  mode: "exclude" | "include";
              };
              disabled_commands: string[];
              mention_prefix: boolean;
              moderation_command_behavior: "delete" | "default";
              ratelimiting?: {
                  block_duration: number;
                  enabled: boolean;
                  max_attempts: number;
                  overrides: Record<string, {
                      block_duration: number;
                      enabled: boolean;
                      max_attempts: number;
                      timeframe: number;
                  }>;
                  timeframe: number;
              };
              rerun_on_edit: boolean;
              respond_on_precondition_fail: boolean;
              troll_command_immune_users: string[];
          };
          debug_mode: boolean;
          echoing?: {
              allow_mentions: boolean;
          };
          extensions?: {
              disabled_extensions: string[];
              enabled?: boolean;
              installed_extensions: string[];
          };
          infractions: {
              dm_fallback: "none" | "create_channel" | "create_thread";
              dm_fallback_channel_expires_in: number;
              dm_fallback_parent_channel?: string;
              points: {
                  ban: number;
                  clear: number;
                  kick: number;
                  massban: number;
                  masskick: number;
                  mod_message: number;
                  mute: number;
                  note: number;
                  role: number;
                  softban: number;
                  tempban: number;
                  timeout: number;
                  unban: number;
                  warning: number;
              };
              reason_template_placeholder_wrapper: string;
              reason_templates: Record<string, string>;
              send_ids_to_user: boolean;
          };
          logging?: {
              bulk_delete_send_json: boolean;
              default_enabled: boolean;
              enabled: boolean;
              exclusions: {
                  events?: LogEventType[];
                  mode: "exclude" | "include";
                  snowflakes: string[];
                  type: "channel" | "user" | "category_channel";
              }[];
              global_ignored_channels: string[];
              hooks: Record<string, string>;
              overrides: ({
                  channel: string;
                  enabled: true;
                  events: [LogEventType, ...LogEventType[]];
              } | {
                  enabled: false;
                  events: [LogEventType, ...LogEventType[]];
              })[];
              primary_channel?: string;
              unsubscribed_events: LogEventType[];
          };
          member_verification?: {
              channel?: string;
              conditions: {
                  age_less_than?: number;
                  always: boolean;
                  no_avatar?: boolean;
              };
              enabled: boolean;
              expired_actions: (
                  | {
                      delete_timeframe?: number;
                      duration?: number;
                      notify?: boolean;
                      reason?: string;
                      type: "ban";
                  }
                  | {
                      notify?: boolean;
                      reason?: string;
                      type: "kick";
                  }
                  | {
                      duration?: number;
                      notify?: boolean;
                      reason?: string;
                      type: "mute";
                  }
                  | {
                      duration?: number;
                      mode: "give" | "take";
                      notify?: boolean;
                      reason?: string;
                      roles: string[];
                      type: "role";
                  }
                  | {
                      type: "none";
                  }
                  | {
                      notify?: boolean;
                      reason?: string;
                      type: "warn";
                  }
                  | {
                      notify: true;
                      reason?: string;
                      type: "verbal_warn";
                  }
                  | {
                      count: number;
                      notify?: boolean;
                      reason?: string;
                      type: "clear";
                  }
                  | {
                      type: "delete_message";
                  })[];
              max_duration?: number;
              method: "channel_interaction" | "dm_interaction";
              success_message?: string;
              unverified_roles: string[];
              verification_message?: string;
              verified_roles: string[];
          };
          message_reporting?: {
              action_required_permissions: {
                  ban: string[];
                  ignore: string[];
                  kick: string[];
                  mute: string[];
                  warn: string[];
              };
              enabled: boolean;
              logging_channel?: string;
              permission_level?: number;
              permissions: string[];
              roles: string[];
              users: string[];
          };
          muting?: {
              role?: string;
          };
          permissions: {
              check_discord_permissions:
                  | "never"
                  | "always"
                  | "during_automod"
                  | "during_manual_actions";
              command_permission_mode?: "ignore" | "overwrite" | "check";
              invincible?: {
                  roles: string[];
                  users: string[];
              };
              mode?: "discord" | "levels" | "layered";
          };
          prefix: string;
          quick_mute?: {
              default_duration?: number;
              enabled: boolean;
              mute_clear_emoji?: string;
              mute_emoji?: string;
              reason?: string;
          };
          raid_protection?: {
              action:
                  | "none"
                  | "lock"
                  | "lock_and_antijoin"
                  | "antijoin"
                  | "auto";
              channel_mode: "exclude" | "include";
              channels: string[];
              enabled: boolean;
              member_actions: (
                  | {
                      delete_timeframe?: number;
                      duration?: number;
                      notify?: boolean;
                      reason?: string;
                      type: "ban";
                  }
                  | {
                      notify?: boolean;
                      reason?: string;
                      type: "kick";
                  }
                  | {
                      duration?: number;
                      notify?: boolean;
                      reason?: string;
                      type: "mute";
                  }
                  | {
                      duration?: number;
                      mode: "give" | "take";
                      notify?: boolean;
                      reason?: string;
                      roles: string[];
                      type: "role";
                  }
                  | {
                      type: "none";
                  }
                  | {
                      notify?: boolean;
                      reason?: string;
                      type: "warn";
                  }
                  | {
                      notify: true;
                      reason?: string;
                      type: "verbal_warn";
                  }
                  | {
                      count: number;
                      notify?: boolean;
                      reason?: string;
                      type: "clear";
                  }
                  | {
                      type: "delete_message";
                  })[];
              send_log: boolean;
              threshold: number;
              timeframe: number;
          };
          reaction_roles?: {
              enabled: boolean;
              ignore_bots: boolean;
              ratelimiting?: {
                  block_duration: number;
                  enabled: boolean;
                  max_attempts: number;
                  timeframe: number;
              };
          };
          rule_moderation?: {
              enabled: boolean;
              global_disabled_channels: string[];
              rules: (
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      domains: string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      scan_links_only: boolean;
                      type: "domain_filter";
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      data: string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      type: "mime_type_filter";
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      data: string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      type: "file_extension_filter";
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      allow_internal_invites: boolean;
                      allowed_invite_codes: string[];
                      bail: boolean;
                      bypasses: null | string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      type: "anti_invite";
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      patterns: (string | [string, string])[];
                      type: "regex_filter";
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      is_bypasser: boolean;
                      max_repeated_chars: number;
                      max_repeated_words: number;
                      mode: "normal" | "invert";
                      name: null | string;
                      type: "repeated_text_filter";
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      is_bypasser: boolean;
                      max_mentions: number;
                      max_role_mentions: number;
                      max_user_mentions: number;
                      mode: "normal" | "invert";
                      name: null | string;
                      type: "mass_mention_filter";
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      inherit_from_word_filter: boolean;
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      scan_embeds: boolean;
                      tokens: string[];
                      type: "image_filter";
                      words: string[];
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      inherit_from_word_filter: boolean;
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      tokens: string[];
                      type: "embed_filter";
                      words: string[];
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      excluded_domains_regex: string[];
                      excluded_link_regex: string[];
                      excluded_links: string[];
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      tokens: string[];
                      type: "EXPERIMENTAL_url_crawl";
                      words: string[];
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      score_thresholds: {
                          hentai: number;
                          porn: number;
                          sexy: number;
                      };
                      type: "EXPERIMENTAL_nsfw_filter";
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      normalize: boolean;
                      tokens: string[];
                      type: "word_filter";
                      words: string[];
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      check_mime_types: boolean;
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      hashes: Record<string, null | string>;
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      type: "file_filter";
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      flirtation_threshold: number;
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      identity_attack_threshold: number;
                      insult_threshold: number;
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      profanity_threshold: number;
                      severe_toxicity_threshold: number;
                      sexual_explicit_threshold: number;
                      threat_threshold: number;
                      toxicity_threshold: number;
                      type: "ai_scan";
                  }
                  | {
                      actions: (
                          | {
                              delete_timeframe?: number;
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "ban";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "kick";
                          }
                          | {
                              duration?: number;
                              notify?: boolean;
                              reason?: string;
                              type: "mute";
                          }
                          | {
                              duration?: number;
                              mode: "give" | "take";
                              notify?: boolean;
                              reason?: string;
                              roles: string[];
                              type: "role";
                          }
                          | {
                              type: "none";
                          }
                          | {
                              notify?: boolean;
                              reason?: string;
                              type: "warn";
                          }
                          | {
                              notify: true;
                              reason?: string;
                              type: "verbal_warn";
                          }
                          | {
                              count: number;
                              notify?: boolean;
                              reason?: string;
                              type: "clear";
                          }
                          | {
                              type: "delete_message";
                          })[];
                      bail: boolean;
                      bypasses: null | string[];
                      enabled: boolean;
                      exceptions?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      for?: {
                          channels?: string[];
                          roles?: string[];
                          users?: string[];
                      };
                      is_bypasser: boolean;
                      mode: "normal" | "invert";
                      name: null | string;
                      normalize: boolean;
                      regex_patterns: string[];
                      tokens: string[];
                      type: "profile_filter";
                      words: string[];
                  })[];
          };
          survey_system?: {
              default_log_channel?: string;
              enabled: boolean;
              surveys: Record<string, {
                  description?: string;
                  end_message?: string;
                  log_channel?: string;
                  name: string;
                  questions: [{
                      default_value?: string;
                      maxLength?: number;
                      minLength?: number;
                      placeholder?: string;
                      question: string;
                      required: boolean;
                      type: "paragraph" | "short";
                  }, ...{
                      default_value?: string;
                      maxLength?: number;
                      minLength?: number;
                      placeholder?: string;
                      question: string;
                      required: boolean;
                      type: "paragraph" | "short";
                  }[]];
                  required_channels: string[];
                  required_permissions: string[];
                  required_roles: string[];
                  required_users: string[];
              }>;
          };
          welcomer?: {
              channel: string;
              custom_message?: string;
              delete_after?: number;
              enabled: boolean;
              force_embeds: boolean;
              forced_embed_color?: number;
              mention: boolean;
              randomize: boolean;
              say_hi_button?: {
                  emoji: string;
                  enabled: boolean;
                  expire_after: null | number;
                  label: string;
                  reply: string;
              };
          };
      }
      • Optionalai_automod?: {
            actions: (
                | {
                    delete_timeframe?: number;
                    duration?: number;
                    notify?: boolean;
                    reason?: string;
                    type: "ban";
                }
                | {
                    notify?: boolean;
                    reason?: string;
                    type: "kick";
                }
                | {
                    duration?: number;
                    notify?: boolean;
                    reason?: string;
                    type: "mute";
                }
                | {
                    duration?: number;
                    mode: "give" | "take";
                    notify?: boolean;
                    reason?: string;
                    roles: string[];
                    type: "role";
                }
                | {
                    type: "none";
                }
                | {
                    notify?: boolean;
                    reason?: string;
                    type: "warn";
                }
                | {
                    notify: true;
                    reason?: string;
                    type: "verbal_warn";
                }
                | {
                    count: number;
                    notify?: boolean;
                    reason?: string;
                    type: "clear";
                }
                | {
                    type: "delete_message";
                })[];
            automatic_actions?: {
                enabled: boolean;
                stops: Record<string, (
                    | {
                        delete_timeframe?: number;
                        duration?: number;
                        notify?: boolean;
                        reason?: string;
                        type: "ban";
                    }
                    | {
                        notify?: boolean;
                        reason?: string;
                        type: "kick";
                    }
                    | {
                        duration?: number;
                        notify?: boolean;
                        reason?: string;
                        type: "mute";
                    }
                    | {
                        duration?: number;
                        mode: "give" | "take";
                        notify?: boolean;
                        reason?: string;
                        roles: string[];
                        type: "role";
                    }
                    | {
                        type: "none";
                    }
                    | {
                        notify?: boolean;
                        reason?: string;
                        type: "warn";
                    }
                    | {
                        notify: true;
                        reason?: string;
                        type: "verbal_warn";
                    }
                    | {
                        count: number;
                        notify?: boolean;
                        reason?: string;
                        type: "clear";
                    }
                    | {
                        type: "delete_message";
                    })[]>;
            };
            enabled: boolean;
            evaluate_after_attempts: number;
            evaluation_cache_expires_in: number;
            exception_regex_patterns: (string | [string, string])[];
            max_individual_scores?: {
                flirtation: number;
                identity_attack: number;
                incoherent: number;
                insult: number;
                obscene: number;
                profanity: number;
                severe_toxicity: number;
                sexually_explicit: number;
                spam: number;
                threat: number;
                toxicity: number;
                unsubstantial: number;
            };
            max_single_score: number;
            max_total_score: number;
        }
        • actions: (
              | {
                  delete_timeframe?: number;
                  duration?: number;
                  notify?: boolean;
                  reason?: string;
                  type: "ban";
              }
              | {
                  notify?: boolean;
                  reason?: string;
                  type: "kick";
              }
              | {
                  duration?: number;
                  notify?: boolean;
                  reason?: string;
                  type: "mute";
              }
              | {
                  duration?: number;
                  mode: "give" | "take";
                  notify?: boolean;
                  reason?: string;
                  roles: string[];
                  type: "role";
              }
              | {
                  type: "none";
              }
              | {
                  notify?: boolean;
                  reason?: string;
                  type: "warn";
              }
              | {
                  notify: true;
                  reason?: string;
                  type: "verbal_warn";
              }
              | {
                  count: number;
                  notify?: boolean;
                  reason?: string;
                  type: "clear";
              }
              | {
                  type: "delete_message";
              })[]
        • Optionalautomatic_actions?: {
              enabled: boolean;
              stops: Record<string, (
                  | {
                      delete_timeframe?: number;
                      duration?: number;
                      notify?: boolean;
                      reason?: string;
                      type: "ban";
                  }
                  | {
                      notify?: boolean;
                      reason?: string;
                      type: "kick";
                  }
                  | {
                      duration?: number;
                      notify?: boolean;
                      reason?: string;
                      type: "mute";
                  }
                  | {
                      duration?: number;
                      mode: "give" | "take";
                      notify?: boolean;
                      reason?: string;
                      roles: string[];
                      type: "role";
                  }
                  | {
                      type: "none";
                  }
                  | {
                      notify?: boolean;
                      reason?: string;
                      type: "warn";
                  }
                  | {
                      notify: true;
                      reason?: string;
                      type: "verbal_warn";
                  }
                  | {
                      count: number;
                      notify?: boolean;
                      reason?: string;
                      type: "clear";
                  }
                  | {
                      type: "delete_message";
                  })[]>;
          }
          • enabled: boolean
          • stops: Record<string, (
                | {
                    delete_timeframe?: number;
                    duration?: number;
                    notify?: boolean;
                    reason?: string;
                    type: "ban";
                }
                | {
                    notify?: boolean;
                    reason?: string;
                    type: "kick";
                }
                | {
                    duration?: number;
                    notify?: boolean;
                    reason?: string;
                    type: "mute";
                }
                | {
                    duration?: number;
                    mode: "give" | "take";
                    notify?: boolean;
                    reason?: string;
                    roles: string[];
                    type: "role";
                }
                | {
                    type: "none";
                }
                | {
                    notify?: boolean;
                    reason?: string;
                    type: "warn";
                }
                | {
                    notify: true;
                    reason?: string;
                    type: "verbal_warn";
                }
                | {
                    count: number;
                    notify?: boolean;
                    reason?: string;
                    type: "clear";
                }
                | {
                    type: "delete_message";
                })[]>
        • enabled: boolean
        • evaluate_after_attempts: number
        • evaluation_cache_expires_in: number
        • exception_regex_patterns: (string | [string, string])[]
        • Optionalmax_individual_scores?: {
              flirtation: number;
              identity_attack: number;
              incoherent: number;
              insult: number;
              obscene: number;
              profanity: number;
              severe_toxicity: number;
              sexually_explicit: number;
              spam: number;
              threat: number;
              toxicity: number;
              unsubstantial: number;
          }
          • flirtation: number
          • identity_attack: number
          • incoherent: number
          • insult: number
          • obscene: number
          • profanity: number
          • severe_toxicity: number
          • sexually_explicit: number
          • spam: number
          • threat: number
          • toxicity: number
          • unsubstantial: number
        • max_single_score: number
        • max_total_score: number
      • Optionalanti_member_join?: {
            ban_duration?: number;
            behavior: "ban" | "kick";
            custom_reason?: string;
            enabled: boolean;
            ignore_bots: boolean;
        }
        • Optionalban_duration?: number
        • behavior: "ban" | "kick"
        • Optionalcustom_reason?: string
        • enabled: boolean
        • ignore_bots: boolean
      • Optionalantispam?: {
            actions: (
                | {
                    delete_timeframe?: number;
                    duration?: number;
                    notify?: boolean;
                    reason?: string;
                    type: "ban";
                }
                | {
                    notify?: boolean;
                    reason?: string;
                    type: "kick";
                }
                | {
                    duration?: number;
                    notify?: boolean;
                    reason?: string;
                    type: "mute";
                }
                | {
                    duration?: number;
                    mode: "give" | "take";
                    notify?: boolean;
                    reason?: string;
                    roles: string[];
                    type: "role";
                }
                | {
                    type: "none";
                }
                | {
                    notify?: boolean;
                    reason?: string;
                    type: "warn";
                }
                | {
                    notify: true;
                    reason?: string;
                    type: "verbal_warn";
                }
                | {
                    count: number;
                    notify?: boolean;
                    reason?: string;
                    type: "clear";
                }
                | {
                    type: "delete_message";
                })[];
            channels: {
                list: string[];
                mode: "exclude" | "include";
            };
            enabled: boolean;
            limit: number;
            timeframe: number;
        }
        • actions: (
              | {
                  delete_timeframe?: number;
                  duration?: number;
                  notify?: boolean;
                  reason?: string;
                  type: "ban";
              }
              | {
                  notify?: boolean;
                  reason?: string;
                  type: "kick";
              }
              | {
                  duration?: number;
                  notify?: boolean;
                  reason?: string;
                  type: "mute";
              }
              | {
                  duration?: number;
                  mode: "give" | "take";
                  notify?: boolean;
                  reason?: string;
                  roles: string[];
                  type: "role";
              }
              | {
                  type: "none";
              }
              | {
                  notify?: boolean;
                  reason?: string;
                  type: "warn";
              }
              | {
                  notify: true;
                  reason?: string;
                  type: "verbal_warn";
              }
              | {
                  count: number;
                  notify?: boolean;
                  reason?: string;
                  type: "clear";
              }
              | {
                  type: "delete_message";
              })[]
        • channels: {
              list: string[];
              mode: "exclude" | "include";
          }
          • list: string[]
          • mode: "exclude" | "include"
        • enabled: boolean
        • limit: number
        • timeframe: number
      • Optionalauto_role?: {
            enabled: boolean;
            ignore_bots: boolean;
            roles: string[];
        }
        • enabled: boolean
        • ignore_bots: boolean
        • roles: string[]
      • Optionalauto_triggers?: {
            enabled: boolean;
            global_disabled_channels: string[];
            triggers: ({
                buttons: {
                    label: string;
                    url: string;
                }[];
                enabled_channels: string[] | "all";
                ignore_roles: string[];
                ignore_users: string[];
                message: string;
                type: "sticky_message";
            } | {
                action: "assign_role" | "take_away_role";
                enabled_channels: string[] | "all";
                ignore_roles: string[];
                ignore_users: string[];
                must_contain: string[];
                must_not_contain: string[];
                roles: string[];
                type: "member_status_update";
            })[];
        }
        • enabled: boolean
        • global_disabled_channels: string[]
        • triggers: ({
              buttons: {
                  label: string;
                  url: string;
              }[];
              enabled_channels: string[] | "all";
              ignore_roles: string[];
              ignore_users: string[];
              message: string;
              type: "sticky_message";
          } | {
              action: "assign_role" | "take_away_role";
              enabled_channels: string[] | "all";
              ignore_roles: string[];
              ignore_users: string[];
              must_contain: string[];
              must_not_contain: string[];
              roles: string[];
              type: "member_status_update";
          })[]
      • Optionalbump_reminder?: {
            disabled_channels: string[];
            enabled?: boolean;
            on_bump_content?: string;
            remind_after: number;
            reminder_content?: string;
        }
        • disabled_channels: string[]
        • Optionalenabled?: boolean
        • Optionalon_bump_content?: string
        • remind_after: number
        • Optionalreminder_content?: string
      • Optionalchannel_archives?: {
            archive_category: string;
            enabled: boolean;
            ignored_channels: string[];
        }
        • archive_category: string
        • enabled: boolean
        • ignored_channels: string[]
      • commands: {
            channels: {
                list: string[];
                mode: "exclude" | "include";
            };
            disabled_commands: string[];
            mention_prefix: boolean;
            moderation_command_behavior: "delete" | "default";
            ratelimiting?: {
                block_duration: number;
                enabled: boolean;
                max_attempts: number;
                overrides: Record<string, {
                    block_duration: number;
                    enabled: boolean;
                    max_attempts: number;
                    timeframe: number;
                }>;
                timeframe: number;
            };
            rerun_on_edit: boolean;
            respond_on_precondition_fail: boolean;
            troll_command_immune_users: string[];
        }
        • channels: {
              list: string[];
              mode: "exclude" | "include";
          }
          • list: string[]
          • mode: "exclude" | "include"
        • disabled_commands: string[]
        • mention_prefix: boolean
        • moderation_command_behavior: "delete" | "default"
        • Optionalratelimiting?: {
              block_duration: number;
              enabled: boolean;
              max_attempts: number;
              overrides: Record<string, {
                  block_duration: number;
                  enabled: boolean;
                  max_attempts: number;
                  timeframe: number;
              }>;
              timeframe: number;
          }
          • block_duration: number
          • enabled: boolean
          • max_attempts: number
          • overrides: Record<string, {
                block_duration: number;
                enabled: boolean;
                max_attempts: number;
                timeframe: number;
            }>
          • timeframe: number
        • rerun_on_edit: boolean
        • respond_on_precondition_fail: boolean
        • troll_command_immune_users: string[]
      • debug_mode: boolean
      • Optionalechoing?: {
            allow_mentions: boolean;
        }
        • allow_mentions: boolean
      • Optionalextensions?: {
            disabled_extensions: string[];
            enabled?: boolean;
            installed_extensions: string[];
        }
        • disabled_extensions: string[]
        • Optionalenabled?: boolean
        • installed_extensions: string[]
      • infractions: {
            dm_fallback: "none" | "create_channel" | "create_thread";
            dm_fallback_channel_expires_in: number;
            dm_fallback_parent_channel?: string;
            points: {
                ban: number;
                clear: number;
                kick: number;
                massban: number;
                masskick: number;
                mod_message: number;
                mute: number;
                note: number;
                role: number;
                softban: number;
                tempban: number;
                timeout: number;
                unban: number;
                warning: number;
            };
            reason_template_placeholder_wrapper: string;
            reason_templates: Record<string, string>;
            send_ids_to_user: boolean;
        }
        • dm_fallback: "none" | "create_channel" | "create_thread"
        • dm_fallback_channel_expires_in: number
        • Optionaldm_fallback_parent_channel?: string
        • points: {
              ban: number;
              clear: number;
              kick: number;
              massban: number;
              masskick: number;
              mod_message: number;
              mute: number;
              note: number;
              role: number;
              softban: number;
              tempban: number;
              timeout: number;
              unban: number;
              warning: number;
          }
          • ban: number
          • clear: number
          • kick: number
          • massban: number
          • masskick: number
          • mod_message: number
          • mute: number
          • note: number
          • role: number
          • softban: number
          • tempban: number
          • timeout: number
          • unban: number
          • warning: number
        • reason_template_placeholder_wrapper: string
        • reason_templates: Record<string, string>
        • send_ids_to_user: boolean
      • Optionallogging?: {
            bulk_delete_send_json: boolean;
            default_enabled: boolean;
            enabled: boolean;
            exclusions: {
                events?: LogEventType[];
                mode: "exclude" | "include";
                snowflakes: string[];
                type: "channel" | "user" | "category_channel";
            }[];
            global_ignored_channels: string[];
            hooks: Record<string, string>;
            overrides: ({
                channel: string;
                enabled: true;
                events: [LogEventType, ...LogEventType[]];
            } | {
                enabled: false;
                events: [LogEventType, ...LogEventType[]];
            })[];
            primary_channel?: string;
            unsubscribed_events: LogEventType[];
        }
        • bulk_delete_send_json: boolean
        • default_enabled: boolean
        • enabled: boolean
        • exclusions: {
              events?: LogEventType[];
              mode: "exclude" | "include";
              snowflakes: string[];
              type: "channel" | "user" | "category_channel";
          }[]
        • global_ignored_channels: string[]
        • hooks: Record<string, string>
        • overrides: ({
              channel: string;
              enabled: true;
              events: [LogEventType, ...LogEventType[]];
          } | {
              enabled: false;
              events: [LogEventType, ...LogEventType[]];
          })[]
        • Optionalprimary_channel?: string
        • unsubscribed_events: LogEventType[]
      • Optionalmember_verification?: {
            channel?: string;
            conditions: {
                age_less_than?: number;
                always: boolean;
                no_avatar?: boolean;
            };
            enabled: boolean;
            expired_actions: (
                | {
                    delete_timeframe?: number;
                    duration?: number;
                    notify?: boolean;
                    reason?: string;
                    type: "ban";
                }
                | {
                    notify?: boolean;
                    reason?: string;
                    type: "kick";
                }
                | {
                    duration?: number;
                    notify?: boolean;
                    reason?: string;
                    type: "mute";
                }
                | {
                    duration?: number;
                    mode: "give" | "take";
                    notify?: boolean;
                    reason?: string;
                    roles: string[];
                    type: "role";
                }
                | {
                    type: "none";
                }
                | {
                    notify?: boolean;
                    reason?: string;
                    type: "warn";
                }
                | {
                    notify: true;
                    reason?: string;
                    type: "verbal_warn";
                }
                | {
                    count: number;
                    notify?: boolean;
                    reason?: string;
                    type: "clear";
                }
                | {
                    type: "delete_message";
                })[];
            max_duration?: number;
            method: "channel_interaction" | "dm_interaction";
            success_message?: string;
            unverified_roles: string[];
            verification_message?: string;
            verified_roles: string[];
        }
        • Optionalchannel?: string
        • conditions: {
              age_less_than?: number;
              always: boolean;
              no_avatar?: boolean;
          }
          • Optionalage_less_than?: number
          • always: boolean
          • Optionalno_avatar?: boolean
        • enabled: boolean
        • expired_actions: (
              | {
                  delete_timeframe?: number;
                  duration?: number;
                  notify?: boolean;
                  reason?: string;
                  type: "ban";
              }
              | {
                  notify?: boolean;
                  reason?: string;
                  type: "kick";
              }
              | {
                  duration?: number;
                  notify?: boolean;
                  reason?: string;
                  type: "mute";
              }
              | {
                  duration?: number;
                  mode: "give" | "take";
                  notify?: boolean;
                  reason?: string;
                  roles: string[];
                  type: "role";
              }
              | {
                  type: "none";
              }
              | {
                  notify?: boolean;
                  reason?: string;
                  type: "warn";
              }
              | {
                  notify: true;
                  reason?: string;
                  type: "verbal_warn";
              }
              | {
                  count: number;
                  notify?: boolean;
                  reason?: string;
                  type: "clear";
              }
              | {
                  type: "delete_message";
              })[]
        • Optionalmax_duration?: number
        • method: "channel_interaction" | "dm_interaction"
        • Optionalsuccess_message?: string
        • unverified_roles: string[]
        • Optionalverification_message?: string
        • verified_roles: string[]
      • Optionalmessage_reporting?: {
            action_required_permissions: {
                ban: string[];
                ignore: string[];
                kick: string[];
                mute: string[];
                warn: string[];
            };
            enabled: boolean;
            logging_channel?: string;
            permission_level?: number;
            permissions: string[];
            roles: string[];
            users: string[];
        }
        • action_required_permissions: {
              ban: string[];
              ignore: string[];
              kick: string[];
              mute: string[];
              warn: string[];
          }
          • ban: string[]
          • ignore: string[]
          • kick: string[]
          • mute: string[]
          • warn: string[]
        • enabled: boolean
        • Optionallogging_channel?: string
        • Optionalpermission_level?: number
        • permissions: string[]
        • roles: string[]
        • users: string[]
      • Optionalmuting?: {
            role?: string;
        }
        • Optionalrole?: string
      • permissions: {
            check_discord_permissions:
                | "never"
                | "always"
                | "during_automod"
                | "during_manual_actions";
            command_permission_mode?: "ignore" | "overwrite" | "check";
            invincible?: {
                roles: string[];
                users: string[];
            };
            mode?: "discord" | "levels" | "layered";
        }
        • check_discord_permissions:
              | "never"
              | "always"
              | "during_automod"
              | "during_manual_actions"
        • Optionalcommand_permission_mode?: "ignore" | "overwrite" | "check"
        • Optionalinvincible?: {
              roles: string[];
              users: string[];
          }
          • roles: string[]
          • users: string[]
        • Optionalmode?: "discord" | "levels" | "layered"
      • prefix: string
      • Optionalquick_mute?: {
            default_duration?: number;
            enabled: boolean;
            mute_clear_emoji?: string;
            mute_emoji?: string;
            reason?: string;
        }
        • Optionaldefault_duration?: number
        • enabled: boolean
        • Optionalmute_clear_emoji?: string
        • Optionalmute_emoji?: string
        • Optionalreason?: string
      • Optionalraid_protection?: {
            action:
                | "none"
                | "lock"
                | "lock_and_antijoin"
                | "antijoin"
                | "auto";
            channel_mode: "exclude" | "include";
            channels: string[];
            enabled: boolean;
            member_actions: (
                | {
                    delete_timeframe?: number;
                    duration?: number;
                    notify?: boolean;
                    reason?: string;
                    type: "ban";
                }
                | {
                    notify?: boolean;
                    reason?: string;
                    type: "kick";
                }
                | {
                    duration?: number;
                    notify?: boolean;
                    reason?: string;
                    type: "mute";
                }
                | {
                    duration?: number;
                    mode: "give" | "take";
                    notify?: boolean;
                    reason?: string;
                    roles: string[];
                    type: "role";
                }
                | {
                    type: "none";
                }
                | {
                    notify?: boolean;
                    reason?: string;
                    type: "warn";
                }
                | {
                    notify: true;
                    reason?: string;
                    type: "verbal_warn";
                }
                | {
                    count: number;
                    notify?: boolean;
                    reason?: string;
                    type: "clear";
                }
                | {
                    type: "delete_message";
                })[];
            send_log: boolean;
            threshold: number;
            timeframe: number;
        }
        • action:
              | "none"
              | "lock"
              | "lock_and_antijoin"
              | "antijoin"
              | "auto"
        • channel_mode: "exclude" | "include"
        • channels: string[]
        • enabled: boolean
        • member_actions: (
              | {
                  delete_timeframe?: number;
                  duration?: number;
                  notify?: boolean;
                  reason?: string;
                  type: "ban";
              }
              | {
                  notify?: boolean;
                  reason?: string;
                  type: "kick";
              }
              | {
                  duration?: number;
                  notify?: boolean;
                  reason?: string;
                  type: "mute";
              }
              | {
                  duration?: number;
                  mode: "give" | "take";
                  notify?: boolean;
                  reason?: string;
                  roles: string[];
                  type: "role";
              }
              | {
                  type: "none";
              }
              | {
                  notify?: boolean;
                  reason?: string;
                  type: "warn";
              }
              | {
                  notify: true;
                  reason?: string;
                  type: "verbal_warn";
              }
              | {
                  count: number;
                  notify?: boolean;
                  reason?: string;
                  type: "clear";
              }
              | {
                  type: "delete_message";
              })[]
        • send_log: boolean
        • threshold: number
        • timeframe: number
      • Optionalreaction_roles?: {
            enabled: boolean;
            ignore_bots: boolean;
            ratelimiting?: {
                block_duration: number;
                enabled: boolean;
                max_attempts: number;
                timeframe: number;
            };
        }
        • enabled: boolean
        • ignore_bots: boolean
        • Optionalratelimiting?: {
              block_duration: number;
              enabled: boolean;
              max_attempts: number;
              timeframe: number;
          }
          • block_duration: number
          • enabled: boolean
          • max_attempts: number
          • timeframe: number
      • Optionalrule_moderation?: {
            enabled: boolean;
            global_disabled_channels: string[];
            rules: (
                | {
                    actions: (
                        | {
                            delete_timeframe?: number;
                            duration?: number;
                            notify?: boolean;
                            reason?: string;
                            type: "ban";
                        }
                        | {
                            notify?: boolean;
                            reason?: string;
                            type: "kick";
                        }
                        | {
                            duration?: number;
                            notify?: boolean;
                            reason?: string;
                            type: "mute";
                        }
                        | {
                            duration?: number;
                            mode: "give" | "take";
                            notify?: boolean;
                            reason?: string;
                            roles: string[];
                            type: "role";
                        }
                        | {
                            type: "none";
                        }
                        | {
                            notify?: boolean;
                            reason?: string;
                            type: "warn";
                        }
                        | {
                            notify: true;
                            reason?: string;
                            type: "verbal_warn";
                        }
                        | {
                            count: number;
                            notify?: boolean;
                            reason?: string;
                            type: "clear";
                        }
                        | {
                            type: "delete_message";
                        })[];
                    bail: boolean;
                    bypasses: null | string[];
                    domains: string[];
                    enabled: boolean;
                    exceptions?: {
                        channels?: string[];
                        roles?: string[];
                        users?: string[];
                    };
                    for?: {
                        channels?: string[];
                        roles?: string[];
                        users?: string[];
                    };
                    is_bypasser: boolean;
                    mode: "normal" | "invert";
                    name: null | string;
                    scan_links_only: boolean;
                    type: "domain_filter";
                }
                | {
                    actions: (
                        | {
                            delete_timeframe?: number;
                            duration?: number;
                            notify?: boolean;
                            reason?: string;
                            type: "ban";
                        }
                        | {
                            notify?: boolean;
                            reason?: string;
                            type: "kick";
                        }
                        | {
                            duration?: number;
                            notify?: boolean;
                            reason?: string;
                            type: "mute";
                        }
                        | {
                            duration?: number;
                            mode: "give" | "take";
                            notify?: boolean;
                            reason?: string;
                            roles: string[];
                            type: "role";
                        }
                        | {
                            type: "none";
                        }
                        | {
                            notify?: boolean;
                            reason?: string;
                            type: "warn";
                        }
                        | {
                            notify: true;
                            reason?: string;
                            type: "verbal_warn";
                        }
                        | {
                            count: number;
                            notify?: boolean;
                            reason?: string;
                            type: "clear";
                        }
                        | {
                            type: "delete_message";
                        })[];
                    bail: boolean;
                    bypasses: null | string[];
                    data: string[];
                    enabled: boolean;
                    exceptions?: {
                        channels?: string[];
                        roles?: string[];
                        users?: string[];
                    };
                    for?: {
                        channels?: string[];
                        roles?: string[];
                        users?: string[];
                    };
                    is_bypasser: boolean;
                    mode: "normal" | "invert";
                    name: null | string;
                    type: "mime_type_filter";
                }
                | {
                    actions: (
                        | {
                            delete_timeframe?: number;
                            duration?: number;
                            notify?: boolean;
                            reason?: string;
                            type: "ban";
                        }
                        | {
                            notify?: boolean;
                            reason?: string;
                            type: "kick";
                        }
                        | {
                            duration?: number;
                            notify?: boolean;
                            reason?: string;
                            type: "mute";
                        }
                        | {
                            duration?: number;
                            mode: "give" | "take";
                            notify?: boolean;
                            reason?: string;
                            roles: string[];
                            type: "role";
                        }
                        | {
                            type: "none";
                        }
                        | {
                            notify?: boolean;
                            reason?: string;
                            type: "warn";
                        }
                        | {
                            notify: true;
                            reason?: string;
                            type: "verbal_warn";
                        }
                        | {
                            count: number;
                            notify?: boolean;
                            reason?: string;
                            type: "clear";
                        }
                        | {
                            type: "delete_message";
                        })[];
                    bail: boolean;
                    bypasses: null | string[];
                    data: string[];
                    enabled: boolean;
                    exceptions?: {
                        channels?: string[];
                        roles?: string[];
                        users?: string[];
                    };
                    for?: {
                        channels?: string[];
                        roles?: string[];
                        users?: string[];
                    };
                    is_bypasser: boolean;
                    mode: "normal" | "invert";
                    name: null | string;
                    type: "file_extension_filter";
                }
                | {
                    actions: (
                        | {
                            delete_timeframe?: number;
                            duration?: number;
                            notify?: boolean;
                            reason?: string;
                            type: "ban";
                        }
                        | {
                            notify?: boolean;
                            reason?: string;
                            type: "kick";
                        }
                        | {
                            duration?: number;
                            notify?: boolean;
                            reason?: string;
                            type: "mute";
                        }
                        | {
                            duration?: number;
                            mode: "give" | "take";
                            notify?: boolean;
                            reason?: string;
                            roles: string[];
                            type: "role";
                        }
                        | {
                            type: "none";
                        }
                        | {
                            notify?: boolean;
                            reason?: string;
                            type: "warn";
                        }
                        | {
                            notify: true;
                            reason?: string;
                            type: "verbal_warn";
                        }
                        | {
                            count: number;
                            notify?: boolean;
                            reason?: string;
                            type: "clear";
                        }
                        | {
                            type: "delete_message";
                        })[];
                    allow_internal_invites: boolean;
                    allowed_invite_codes: string[];
                    bail: boolean;
                    bypasses: null | string[];
                    enabled: boolean;
                    exceptions?: {
                        channels?: string[];
                        roles?: string[];
                        users?: string[];
                    };
                    for?: {
                        channels?: string[];
                        roles?: string[];
                        users?: string[];
                    };
                    is_bypasser: boolean;
                    mode: "normal" | "invert";
                    name: null | string;
                    type: "anti_invite";
                }
                | {
                    actions: (
                        | {
                            delete_timeframe?: number;
                            duration?: number;
                            notify?: boolean;
                            reason?: string;
                            type: "ban";
                        }
                        | {
                            notify?: boolean;
                            reason?: string;
                            type: "kick";
                        }
                        | {
                            duration?: number;
                            notify?: boolean;
                            reason?: string;
                            type: "mute";
                        }
                        | {
                            duration?: number;
                            mode: "give" | "take";
                            notify?: boolean;
                            reason?: string;
                            roles: string[];
                            type: "role";
                        }
                        | {
                            type: "none";
                        }
                        | {
                            notify?: boolean;
                            reason?: string;
                            type: "warn";
                        }
                        | {
                            notify: true;
                            reason?: string;
                            type: "verbal_warn";
                        }
                        | {
                            count: number;
                            notify?: boolean;
                            reason?: string;
                            type: "clear";
                        }
                        | {
                            type: "delete_message";
                        })[];
                    bail: boolean;
                    bypasses: null | string[];
                    enabled: boolean;
                    exceptions?: {
                        channels?: string[];
                        roles?: string[];
                        users?: string[];
                    };
                    for?: {
                        channels?: string[];
                        roles?: string[];
                        users?: string[];
                    };
                    is_bypasser: boolean;
                    mode: "normal" | "invert";
                    name: null | string;
                    patterns: (string | [string, string])[];
                    type: "regex_filter";
                }
                | {
                    actions: (
                        | {
                            delete_timeframe?: number;
                            duration?: number;
                            notify?: boolean;
                            reason?: string;
                            type: "ban";
                        }
                        | {
                            notify?: boolean;
                            reason?: string;
                            type: "kick";
                        }
                        | {
                            duration?: number;
                            notify?: boolean;
                            reason?: string;
                            type: "mute";
                        }
                        | {
                            duration?: number;
                            mode: "give" | "take";
                            notify?: boolean;
                            reason?: string;
                            roles: string[];
                            type: "role";
                        }
                        | {
                            type: "none";
                        }
                        | {
                            notify?: boolean;
                            reason?: string;
                            type: "warn";
                        }
                        | {
                            notify: true;
                            reason?: string;
                            type: "verbal_warn";
                        }
                        | {
                            count: number;
                            notify?: boolean;
                            reason?: string;
                            type: "clear";
                        }
                        | {
                            type: "delete_message";
                        })[];
                    bail: boolean;
                    bypasses: null | string[];
                    enabled: boolean;
                    exceptions?: {
                        channels?: string[];
                        roles?: string[];
                        users?: string[];
                    };
                    for?: {
                        channels?: string[];
                        roles?: string[];
                        users?: string[];
                    };
                    is_bypasser: boolean;
                    max_repeated_chars: number;
                    max_repeated_words: number;
                    mode: "normal" | "invert";
                    name: null | string;
                    type: "repeated_text_filter";
                }
                | {
                    actions: (
                        | {
                            delete_timeframe?: number;
                            duration?: number;
                            notify?: boolean;
                            reason?: string;
                            type: "ban";
                        }
                        | {
                            notify?: boolean;
                            reason?: string;
                            type: "kick";
                        }
                        | {
                            duration?: number;
                            notify?: boolean;
                            reason?: string;
                            type: "mute";
                        }
                        | {
                            duration?: number;
                            mode: "give" | "take";
                            notify?: boolean;
                            reason?: string;
                            roles: string[];
                            type: "role";
                        }
                        | {
                            type: "none";
                        }
                        | {
                            notify?: boolean;
                            reason?: string;
                            type: "warn";
                        }
                        | {
                            notify: true;
                            reason?: string;
                            type: "verbal_warn";
                        }
                        | {
                            count: number;
                            notify?: boolean;
                            reason?: string;
                            type: "clear";
                        }
                        | {
                            type: "delete_message";
                        })[];
                    bail: boolean;
                    bypasses: null | string[];
                    enabled: boolean;
                    exceptions?: {
                        channels?: string[];
                        roles?: string[];
                        users?: string[];
                    };
                    for?: {
                        channels?: string[];
                        roles?: string[];
                        users?: string[];
                    };
                    is_bypasser: boolean;
                    max_mentions: number;
                    max_role_mentions: number;
                    max_user_mentions: number;
                    mode: "normal" | "invert";
                    name: null | string;
                    type: "mass_mention_filter";
                }
                | {
                    actions: (
                        | {
                            delete_timeframe?: number;
                            duration?: number;
                            notify?: boolean;
                            reason?: string;
                            type: "ban";
                        }
                        | {
                            notify?: boolean;
                            reason?: string;
                            type: "kick";
                        }
                        | {
                            duration?: number;
                            notify?: boolean;
                            reason?: string;
                            type: "mute";
                        }
                        | {
                            duration?: number;
                            mode: "give" | "take";
                            notify?: boolean;
                            reason?: string;
                            roles: string[];
                            type: "role";
                        }
                        | {
                            type: "none";
                        }
                        | {
                            notify?: boolean;
                            reason?: string;
                            type: "warn";
                        }
                        | {
                            notify: true;
                            reason?: string;
                            type: "verbal_warn";
                        }
                        | {
                            count: number;
                            notify?: boolean;
                            reason?: string;
                            type: "clear";
                        }
                        | {
                            type: "delete_message";
                        })[];
                    bail: boolean;
                    bypasses: null | string[];
                    enabled: boolean;
                    exceptions?: {
                        channels?: string[];
                        roles?: string[];
                        users?: string[];
                    };
                    for?: {
                        channels?: string[];
                        roles?: string[];
                        users?: string[];
                    };
                    inherit_from_word_filter: boolean;
                    is_bypasser: boolean;
                    mode: "normal" | "invert";
                    name: null | string;
                    scan_embeds: boolean;
                    tokens: string[];
                    type: "image_filter";
                    words: string[];
                }
                | {
                    actions: (
                        | {
                            delete_timeframe?: number;
                            duration?: number;
                            notify?: boolean;
                            reason?: string;
                            type: "ban";
                        }
                        | {
                            notify?: boolean;
                            reason?: string;
                            type: "kick";
                        }
                        | {
                            duration?: number;
                            notify?: boolean;
                            reason?: string;
                            type: "mute";
                        }
                        | {
                            duration?: number;
                            mode: "give" | "take";
                            notify?: boolean;
                            reason?: string;
                            roles: string[];
                            type: "role";
                        }
                        | {
                            type: "none";
                        }
                        | {
                            notify?: boolean;
                            reason?: string;
                            type: "warn";
                        }
                        | {
                            notify: true;
                            reason?: string;
                            type: "verbal_warn";
                        }
                        | {
                            count: number;
                            notify?: boolean;
                            reason?: string;
                            type: "clear";
                        }
                        | {
                            type: "delete_message";
                        })[];
                    bail: boolean;
                    bypasses: null | string[];
                    enabled: boolean;
                    exceptions?: {
                        channels?: string[];
                        roles?: string[];
                        users?: string[];
                    };
                    for?: {
                        channels?: string[];
                        roles?: string[];
                        users?: string[];
                    };
                    inherit_from_word_filter: boolean;
                    is_bypasser: boolean;
                    mode: "normal" | "invert";
                    name: null | string;
                    tokens: string[];
                    type: "embed_filter";
                    words: string[];
                }
                | {
                    actions: (
                        | {
                            delete_timeframe?: number;
                            duration?: number;
                            notify?: boolean;
                            reason?: string;
                            type: "ban";
                        }
                        | {
                            notify?: boolean;
                            reason?: string;
                            type: "kick";
                        }
                        | {
                            duration?: number;
                            notify?: boolean;
                            reason?: string;
                            type: "mute";
                        }
                        | {
                            duration?: number;
                            mode: "give" | "take";
                            notify?: boolean;
                            reason?: string;
                            roles: string[];
                            type: "role";
                        }
                        | {
                            type: "none";
                        }
                        | {
                            notify?: boolean;
                            reason?: string;
                            type: "warn";
                        }
                        | {
                            notify: true;
                            reason?: string;
                            type: "verbal_warn";
                        }
                        | {
                            count: number;
                            notify?: boolean;
                            reason?: string;
                            type: "clear";
                        }
                        | {
                            type: "delete_message";
                        })[];
                    bail: boolean;
                    bypasses: null | string[];
                    enabled: boolean;
                    exceptions?: {
                        channels?: string[];
                        roles?: string[];
                        users?: string[];
                    };
                    excluded_domains_regex: string[];
                    excluded_link_regex: string[];
                    excluded_links: string[];
                    for?: {
                        channels?: string[];
                        roles?: string[];
                        users?: string[];
                    };
                    is_bypasser: boolean;
                    mode: "normal" | "invert";
                    name: null | string;
                    tokens: string[];
                    type: "EXPERIMENTAL_url_crawl";
                    words: string[];
                }
                | {
                    actions: (
                        | {
                            delete_timeframe?: number;
                            duration?: number;
                            notify?: boolean;
                            reason?: string;
                            type: "ban";
                        }
                        | {
                            notify?: boolean;
                            reason?: string;
                            type: "kick";
                        }
                        | {
                            duration?: number;
                            notify?: boolean;
                            reason?: string;
                            type: "mute";
                        }
                        | {
                            duration?: number;
                            mode: "give" | "take";
                            notify?: boolean;
                            reason?: string;
                            roles: string[];
                            type: "role";
                        }
                        | {
                            type: "none";
                        }
                        | {
                            notify?: boolean;
                            reason?: string;
                            type: "warn";
                        }
                        | {
                            notify: true;
                            reason?: string;
                            type: "verbal_warn";
                        }
                        | {
                            count: number;
                            notify?: boolean;
                            reason?: string;
                            type: "clear";
                        }
                        | {
                            type: "delete_message";
                        })[];
                    bail: boolean;
                    bypasses: null | string[];
                    enabled: boolean;
                    exceptions?: {
                        channels?: string[];
                        roles?: string[];
                        users?: string[];
                    };
                    for?: {
                        channels?: string[];
                        roles?: string[];
                        users?: string[];
                    };
                    is_bypasser: boolean;
                    mode: "normal" | "invert";
                    name: null | string;
                    score_thresholds: {
                        hentai: number;
                        porn: number;
                        sexy: number;
                    };
                    type: "EXPERIMENTAL_nsfw_filter";
                }
                | {
                    actions: (
                        | {
                            delete_timeframe?: number;
                            duration?: number;
                            notify?: boolean;
                            reason?: string;
                            type: "ban";
                        }
                        | {
                            notify?: boolean;
                            reason?: string;
                            type: "kick";
                        }
                        | {
                            duration?: number;
                            notify?: boolean;
                            reason?: string;
                            type: "mute";
                        }
                        | {
                            duration?: number;
                            mode: "give" | "take";
                            notify?: boolean;
                            reason?: string;
                            roles: string[];
                            type: "role";
                        }
                        | {
                            type: "none";
                        }
                        | {
                            notify?: boolean;
                            reason?: string;
                            type: "warn";
                        }
                        | {
                            notify: true;
                            reason?: string;
                            type: "verbal_warn";
                        }
                        | {
                            count: number;
                            notify?: boolean;
                            reason?: string;
                            type: "clear";
                        }
                        | {
                            type: "delete_message";
                        })[];
                    bail: boolean;
                    bypasses: null | string[];
                    enabled: boolean;
                    exceptions?: {
                        channels?: string[];
                        roles?: string[];
                        users?: string[];
                    };
                    for?: {
                        channels?: string[];
                        roles?: string[];
                        users?: string[];
                    };
                    is_bypasser: boolean;
                    mode: "normal" | "invert";
                    name: null | string;
                    normalize: boolean;
                    tokens: string[];
                    type: "word_filter";
                    words: string[];
                }
                | {
                    actions: (
                        | {
                            delete_timeframe?: number;
                            duration?: number;
                            notify?: boolean;
                            reason?: string;
                            type: "ban";
                        }
                        | {
                            notify?: boolean;
                            reason?: string;
                            type: "kick";
                        }
                        | {
                            duration?: number;
                            notify?: boolean;
                            reason?: string;
                            type: "mute";
                        }
                        | {
                            duration?: number;
                            mode: "give" | "take";
                            notify?: boolean;
                            reason?: string;
                            roles: string[];
                            type: "role";
                        }
                        | {
                            type: "none";
                        }
                        | {
                            notify?: boolean;
                            reason?: string;
                            type: "warn";
                        }
                        | {
                            notify: true;
                            reason?: string;
                            type: "verbal_warn";
                        }
                        | {
                            count: number;
                            notify?: boolean;
                            reason?: string;
                            type: "clear";
                        }
                        | {
                            type: "delete_message";
                        })[];
                    bail: boolean;
                    bypasses: null | string[];
                    check_mime_types: boolean;
                    enabled: boolean;
                    exceptions?: {
                        channels?: string[];
                        roles?: string[];
                        users?: string[];
                    };
                    for?: {
                        channels?: string[];
                        roles?: string[];
                        users?: string[];
                    };
                    hashes: Record<string, null | string>;
                    is_bypasser: boolean;
                    mode: "normal" | "invert";
                    name: null | string;
                    type: "file_filter";
                }
                | {
                    actions: (
                        | {
                            delete_timeframe?: number;
                            duration?: number;
                            notify?: boolean;
                            reason?: string;
                            type: "ban";
                        }
                        | {
                            notify?: boolean;
                            reason?: string;
                            type: "kick";
                        }
                        | {
                            duration?: number;
                            notify?: boolean;
                            reason?: string;
                            type: "mute";
                        }
                        | {
                            duration?: number;
                            mode: "give" | "take";
                            notify?: boolean;
                            reason?: string;
                            roles: string[];
                            type: "role";
                        }
                        | {
                            type: "none";
                        }
                        | {
                            notify?: boolean;
                            reason?: string;
                            type: "warn";
                        }
                        | {
                            notify: true;
                            reason?: string;
                            type: "verbal_warn";
                        }
                        | {
                            count: number;
                            notify?: boolean;
                            reason?: string;
                            type: "clear";
                        }
                        | {
                            type: "delete_message";
                        })[];
                    bail: boolean;
                    bypasses: null | string[];
                    enabled: boolean;
                    exceptions?: {
                        channels?: string[];
                        roles?: string[];
                        users?: string[];
                    };
                    flirtation_threshold: number;
                    for?: {
                        channels?: string[];
                        roles?: string[];
                        users?: string[];
                    };
                    identity_attack_threshold: number;
                    insult_threshold: number;
                    is_bypasser: boolean;
                    mode: "normal" | "invert";
                    name: null | string;
                    profanity_threshold: number;
                    severe_toxicity_threshold: number;
                    sexual_explicit_threshold: number;
                    threat_threshold: number;
                    toxicity_threshold: number;
                    type: "ai_scan";
                }
                | {
                    actions: (
                        | {
                            delete_timeframe?: number;
                            duration?: number;
                            notify?: boolean;
                            reason?: string;
                            type: "ban";
                        }
                        | {
                            notify?: boolean;
                            reason?: string;
                            type: "kick";
                        }
                        | {
                            duration?: number;
                            notify?: boolean;
                            reason?: string;
                            type: "mute";
                        }
                        | {
                            duration?: number;
                            mode: "give" | "take";
                            notify?: boolean;
                            reason?: string;
                            roles: string[];
                            type: "role";
                        }
                        | {
                            type: "none";
                        }
                        | {
                            notify?: boolean;
                            reason?: string;
                            type: "warn";
                        }
                        | {
                            notify: true;
                            reason?: string;
                            type: "verbal_warn";
                        }
                        | {
                            count: number;
                            notify?: boolean;
                            reason?: string;
                            type: "clear";
                        }
                        | {
                            type: "delete_message";
                        })[];
                    bail: boolean;
                    bypasses: null | string[];
                    enabled: boolean;
                    exceptions?: {
                        channels?: string[];
                        roles?: string[];
                        users?: string[];
                    };
                    for?: {
                        channels?: string[];
                        roles?: string[];
                        users?: string[];
                    };
                    is_bypasser: boolean;
                    mode: "normal" | "invert";
                    name: null | string;
                    normalize: boolean;
                    regex_patterns: string[];
                    tokens: string[];
                    type: "profile_filter";
                    words: string[];
                })[];
        }
        • enabled: boolean
        • global_disabled_channels: string[]
        • rules: (
              | {
                  actions: (
                      | {
                          delete_timeframe?: number;
                          duration?: number;
                          notify?: boolean;
                          reason?: string;
                          type: "ban";
                      }
                      | {
                          notify?: boolean;
                          reason?: string;
                          type: "kick";
                      }
                      | {
                          duration?: number;
                          notify?: boolean;
                          reason?: string;
                          type: "mute";
                      }
                      | {
                          duration?: number;
                          mode: "give" | "take";
                          notify?: boolean;
                          reason?: string;
                          roles: string[];
                          type: "role";
                      }
                      | {
                          type: "none";
                      }
                      | {
                          notify?: boolean;
                          reason?: string;
                          type: "warn";
                      }
                      | {
                          notify: true;
                          reason?: string;
                          type: "verbal_warn";
                      }
                      | {
                          count: number;
                          notify?: boolean;
                          reason?: string;
                          type: "clear";
                      }
                      | {
                          type: "delete_message";
                      })[];
                  bail: boolean;
                  bypasses: null | string[];
                  domains: string[];
                  enabled: boolean;
                  exceptions?: {
                      channels?: string[];
                      roles?: string[];
                      users?: string[];
                  };
                  for?: {
                      channels?: string[];
                      roles?: string[];
                      users?: string[];
                  };
                  is_bypasser: boolean;
                  mode: "normal" | "invert";
                  name: null | string;
                  scan_links_only: boolean;
                  type: "domain_filter";
              }
              | {
                  actions: (
                      | {
                          delete_timeframe?: number;
                          duration?: number;
                          notify?: boolean;
                          reason?: string;
                          type: "ban";
                      }
                      | {
                          notify?: boolean;
                          reason?: string;
                          type: "kick";
                      }
                      | {
                          duration?: number;
                          notify?: boolean;
                          reason?: string;
                          type: "mute";
                      }
                      | {
                          duration?: number;
                          mode: "give" | "take";
                          notify?: boolean;
                          reason?: string;
                          roles: string[];
                          type: "role";
                      }
                      | {
                          type: "none";
                      }
                      | {
                          notify?: boolean;
                          reason?: string;
                          type: "warn";
                      }
                      | {
                          notify: true;
                          reason?: string;
                          type: "verbal_warn";
                      }
                      | {
                          count: number;
                          notify?: boolean;
                          reason?: string;
                          type: "clear";
                      }
                      | {
                          type: "delete_message";
                      })[];
                  bail: boolean;
                  bypasses: null | string[];
                  data: string[];
                  enabled: boolean;
                  exceptions?: {
                      channels?: string[];
                      roles?: string[];
                      users?: string[];
                  };
                  for?: {
                      channels?: string[];
                      roles?: string[];
                      users?: string[];
                  };
                  is_bypasser: boolean;
                  mode: "normal" | "invert";
                  name: null | string;
                  type: "mime_type_filter";
              }
              | {
                  actions: (
                      | {
                          delete_timeframe?: number;
                          duration?: number;
                          notify?: boolean;
                          reason?: string;
                          type: "ban";
                      }
                      | {
                          notify?: boolean;
                          reason?: string;
                          type: "kick";
                      }
                      | {
                          duration?: number;
                          notify?: boolean;
                          reason?: string;
                          type: "mute";
                      }
                      | {
                          duration?: number;
                          mode: "give" | "take";
                          notify?: boolean;
                          reason?: string;
                          roles: string[];
                          type: "role";
                      }
                      | {
                          type: "none";
                      }
                      | {
                          notify?: boolean;
                          reason?: string;
                          type: "warn";
                      }
                      | {
                          notify: true;
                          reason?: string;
                          type: "verbal_warn";
                      }
                      | {
                          count: number;
                          notify?: boolean;
                          reason?: string;
                          type: "clear";
                      }
                      | {
                          type: "delete_message";
                      })[];
                  bail: boolean;
                  bypasses: null | string[];
                  data: string[];
                  enabled: boolean;
                  exceptions?: {
                      channels?: string[];
                      roles?: string[];
                      users?: string[];
                  };
                  for?: {
                      channels?: string[];
                      roles?: string[];
                      users?: string[];
                  };
                  is_bypasser: boolean;
                  mode: "normal" | "invert";
                  name: null | string;
                  type: "file_extension_filter";
              }
              | {
                  actions: (
                      | {
                          delete_timeframe?: number;
                          duration?: number;
                          notify?: boolean;
                          reason?: string;
                          type: "ban";
                      }
                      | {
                          notify?: boolean;
                          reason?: string;
                          type: "kick";
                      }
                      | {
                          duration?: number;
                          notify?: boolean;
                          reason?: string;
                          type: "mute";
                      }
                      | {
                          duration?: number;
                          mode: "give" | "take";
                          notify?: boolean;
                          reason?: string;
                          roles: string[];
                          type: "role";
                      }
                      | {
                          type: "none";
                      }
                      | {
                          notify?: boolean;
                          reason?: string;
                          type: "warn";
                      }
                      | {
                          notify: true;
                          reason?: string;
                          type: "verbal_warn";
                      }
                      | {
                          count: number;
                          notify?: boolean;
                          reason?: string;
                          type: "clear";
                      }
                      | {
                          type: "delete_message";
                      })[];
                  allow_internal_invites: boolean;
                  allowed_invite_codes: string[];
                  bail: boolean;
                  bypasses: null | string[];
                  enabled: boolean;
                  exceptions?: {
                      channels?: string[];
                      roles?: string[];
                      users?: string[];
                  };
                  for?: {
                      channels?: string[];
                      roles?: string[];
                      users?: string[];
                  };
                  is_bypasser: boolean;
                  mode: "normal" | "invert";
                  name: null | string;
                  type: "anti_invite";
              }
              | {
                  actions: (
                      | {
                          delete_timeframe?: number;
                          duration?: number;
                          notify?: boolean;
                          reason?: string;
                          type: "ban";
                      }
                      | {
                          notify?: boolean;
                          reason?: string;
                          type: "kick";
                      }
                      | {
                          duration?: number;
                          notify?: boolean;
                          reason?: string;
                          type: "mute";
                      }
                      | {
                          duration?: number;
                          mode: "give" | "take";
                          notify?: boolean;
                          reason?: string;
                          roles: string[];
                          type: "role";
                      }
                      | {
                          type: "none";
                      }
                      | {
                          notify?: boolean;
                          reason?: string;
                          type: "warn";
                      }
                      | {
                          notify: true;
                          reason?: string;
                          type: "verbal_warn";
                      }
                      | {
                          count: number;
                          notify?: boolean;
                          reason?: string;
                          type: "clear";
                      }
                      | {
                          type: "delete_message";
                      })[];
                  bail: boolean;
                  bypasses: null | string[];
                  enabled: boolean;
                  exceptions?: {
                      channels?: string[];
                      roles?: string[];
                      users?: string[];
                  };
                  for?: {
                      channels?: string[];
                      roles?: string[];
                      users?: string[];
                  };
                  is_bypasser: boolean;
                  mode: "normal" | "invert";
                  name: null | string;
                  patterns: (string | [string, string])[];
                  type: "regex_filter";
              }
              | {
                  actions: (
                      | {
                          delete_timeframe?: number;
                          duration?: number;
                          notify?: boolean;
                          reason?: string;
                          type: "ban";
                      }
                      | {
                          notify?: boolean;
                          reason?: string;
                          type: "kick";
                      }
                      | {
                          duration?: number;
                          notify?: boolean;
                          reason?: string;
                          type: "mute";
                      }
                      | {
                          duration?: number;
                          mode: "give" | "take";
                          notify?: boolean;
                          reason?: string;
                          roles: string[];
                          type: "role";
                      }
                      | {
                          type: "none";
                      }
                      | {
                          notify?: boolean;
                          reason?: string;
                          type: "warn";
                      }
                      | {
                          notify: true;
                          reason?: string;
                          type: "verbal_warn";
                      }
                      | {
                          count: number;
                          notify?: boolean;
                          reason?: string;
                          type: "clear";
                      }
                      | {
                          type: "delete_message";
                      })[];
                  bail: boolean;
                  bypasses: null | string[];
                  enabled: boolean;
                  exceptions?: {
                      channels?: string[];
                      roles?: string[];
                      users?: string[];
                  };
                  for?: {
                      channels?: string[];
                      roles?: string[];
                      users?: string[];
                  };
                  is_bypasser: boolean;
                  max_repeated_chars: number;
                  max_repeated_words: number;
                  mode: "normal" | "invert";
                  name: null | string;
                  type: "repeated_text_filter";
              }
              | {
                  actions: (
                      | {
                          delete_timeframe?: number;
                          duration?: number;
                          notify?: boolean;
                          reason?: string;
                          type: "ban";
                      }
                      | {
                          notify?: boolean;
                          reason?: string;
                          type: "kick";
                      }
                      | {
                          duration?: number;
                          notify?: boolean;
                          reason?: string;
                          type: "mute";
                      }
                      | {
                          duration?: number;
                          mode: "give" | "take";
                          notify?: boolean;
                          reason?: string;
                          roles: string[];
                          type: "role";
                      }
                      | {
                          type: "none";
                      }
                      | {
                          notify?: boolean;
                          reason?: string;
                          type: "warn";
                      }
                      | {
                          notify: true;
                          reason?: string;
                          type: "verbal_warn";
                      }
                      | {
                          count: number;
                          notify?: boolean;
                          reason?: string;
                          type: "clear";
                      }
                      | {
                          type: "delete_message";
                      })[];
                  bail: boolean;
                  bypasses: null | string[];
                  enabled: boolean;
                  exceptions?: {
                      channels?: string[];
                      roles?: string[];
                      users?: string[];
                  };
                  for?: {
                      channels?: string[];
                      roles?: string[];
                      users?: string[];
                  };
                  is_bypasser: boolean;
                  max_mentions: number;
                  max_role_mentions: number;
                  max_user_mentions: number;
                  mode: "normal" | "invert";
                  name: null | string;
                  type: "mass_mention_filter";
              }
              | {
                  actions: (
                      | {
                          delete_timeframe?: number;
                          duration?: number;
                          notify?: boolean;
                          reason?: string;
                          type: "ban";
                      }
                      | {
                          notify?: boolean;
                          reason?: string;
                          type: "kick";
                      }
                      | {
                          duration?: number;
                          notify?: boolean;
                          reason?: string;
                          type: "mute";
                      }
                      | {
                          duration?: number;
                          mode: "give" | "take";
                          notify?: boolean;
                          reason?: string;
                          roles: string[];
                          type: "role";
                      }
                      | {
                          type: "none";
                      }
                      | {
                          notify?: boolean;
                          reason?: string;
                          type: "warn";
                      }
                      | {
                          notify: true;
                          reason?: string;
                          type: "verbal_warn";
                      }
                      | {
                          count: number;
                          notify?: boolean;
                          reason?: string;
                          type: "clear";
                      }
                      | {
                          type: "delete_message";
                      })[];
                  bail: boolean;
                  bypasses: null | string[];
                  enabled: boolean;
                  exceptions?: {
                      channels?: string[];
                      roles?: string[];
                      users?: string[];
                  };
                  for?: {
                      channels?: string[];
                      roles?: string[];
                      users?: string[];
                  };
                  inherit_from_word_filter: boolean;
                  is_bypasser: boolean;
                  mode: "normal" | "invert";
                  name: null | string;
                  scan_embeds: boolean;
                  tokens: string[];
                  type: "image_filter";
                  words: string[];
              }
              | {
                  actions: (
                      | {
                          delete_timeframe?: number;
                          duration?: number;
                          notify?: boolean;
                          reason?: string;
                          type: "ban";
                      }
                      | {
                          notify?: boolean;
                          reason?: string;
                          type: "kick";
                      }
                      | {
                          duration?: number;
                          notify?: boolean;
                          reason?: string;
                          type: "mute";
                      }
                      | {
                          duration?: number;
                          mode: "give" | "take";
                          notify?: boolean;
                          reason?: string;
                          roles: string[];
                          type: "role";
                      }
                      | {
                          type: "none";
                      }
                      | {
                          notify?: boolean;
                          reason?: string;
                          type: "warn";
                      }
                      | {
                          notify: true;
                          reason?: string;
                          type: "verbal_warn";
                      }
                      | {
                          count: number;
                          notify?: boolean;
                          reason?: string;
                          type: "clear";
                      }
                      | {
                          type: "delete_message";
                      })[];
                  bail: boolean;
                  bypasses: null | string[];
                  enabled: boolean;
                  exceptions?: {
                      channels?: string[];
                      roles?: string[];
                      users?: string[];
                  };
                  for?: {
                      channels?: string[];
                      roles?: string[];
                      users?: string[];
                  };
                  inherit_from_word_filter: boolean;
                  is_bypasser: boolean;
                  mode: "normal" | "invert";
                  name: null | string;
                  tokens: string[];
                  type: "embed_filter";
                  words: string[];
              }
              | {
                  actions: (
                      | {
                          delete_timeframe?: number;
                          duration?: number;
                          notify?: boolean;
                          reason?: string;
                          type: "ban";
                      }
                      | {
                          notify?: boolean;
                          reason?: string;
                          type: "kick";
                      }
                      | {
                          duration?: number;
                          notify?: boolean;
                          reason?: string;
                          type: "mute";
                      }
                      | {
                          duration?: number;
                          mode: "give" | "take";
                          notify?: boolean;
                          reason?: string;
                          roles: string[];
                          type: "role";
                      }
                      | {
                          type: "none";
                      }
                      | {
                          notify?: boolean;
                          reason?: string;
                          type: "warn";
                      }
                      | {
                          notify: true;
                          reason?: string;
                          type: "verbal_warn";
                      }
                      | {
                          count: number;
                          notify?: boolean;
                          reason?: string;
                          type: "clear";
                      }
                      | {
                          type: "delete_message";
                      })[];
                  bail: boolean;
                  bypasses: null | string[];
                  enabled: boolean;
                  exceptions?: {
                      channels?: string[];
                      roles?: string[];
                      users?: string[];
                  };
                  excluded_domains_regex: string[];
                  excluded_link_regex: string[];
                  excluded_links: string[];
                  for?: {
                      channels?: string[];
                      roles?: string[];
                      users?: string[];
                  };
                  is_bypasser: boolean;
                  mode: "normal" | "invert";
                  name: null | string;
                  tokens: string[];
                  type: "EXPERIMENTAL_url_crawl";
                  words: string[];
              }
              | {
                  actions: (
                      | {
                          delete_timeframe?: number;
                          duration?: number;
                          notify?: boolean;
                          reason?: string;
                          type: "ban";
                      }
                      | {
                          notify?: boolean;
                          reason?: string;
                          type: "kick";
                      }
                      | {
                          duration?: number;
                          notify?: boolean;
                          reason?: string;
                          type: "mute";
                      }
                      | {
                          duration?: number;
                          mode: "give" | "take";
                          notify?: boolean;
                          reason?: string;
                          roles: string[];
                          type: "role";
                      }
                      | {
                          type: "none";
                      }
                      | {
                          notify?: boolean;
                          reason?: string;
                          type: "warn";
                      }
                      | {
                          notify: true;
                          reason?: string;
                          type: "verbal_warn";
                      }
                      | {
                          count: number;
                          notify?: boolean;
                          reason?: string;
                          type: "clear";
                      }
                      | {
                          type: "delete_message";
                      })[];
                  bail: boolean;
                  bypasses: null | string[];
                  enabled: boolean;
                  exceptions?: {
                      channels?: string[];
                      roles?: string[];
                      users?: string[];
                  };
                  for?: {
                      channels?: string[];
                      roles?: string[];
                      users?: string[];
                  };
                  is_bypasser: boolean;
                  mode: "normal" | "invert";
                  name: null | string;
                  score_thresholds: {
                      hentai: number;
                      porn: number;
                      sexy: number;
                  };
                  type: "EXPERIMENTAL_nsfw_filter";
              }
              | {
                  actions: (
                      | {
                          delete_timeframe?: number;
                          duration?: number;
                          notify?: boolean;
                          reason?: string;
                          type: "ban";
                      }
                      | {
                          notify?: boolean;
                          reason?: string;
                          type: "kick";
                      }
                      | {
                          duration?: number;
                          notify?: boolean;
                          reason?: string;
                          type: "mute";
                      }
                      | {
                          duration?: number;
                          mode: "give" | "take";
                          notify?: boolean;
                          reason?: string;
                          roles: string[];
                          type: "role";
                      }
                      | {
                          type: "none";
                      }
                      | {
                          notify?: boolean;
                          reason?: string;
                          type: "warn";
                      }
                      | {
                          notify: true;
                          reason?: string;
                          type: "verbal_warn";
                      }
                      | {
                          count: number;
                          notify?: boolean;
                          reason?: string;
                          type: "clear";
                      }
                      | {
                          type: "delete_message";
                      })[];
                  bail: boolean;
                  bypasses: null | string[];
                  enabled: boolean;
                  exceptions?: {
                      channels?: string[];
                      roles?: string[];
                      users?: string[];
                  };
                  for?: {
                      channels?: string[];
                      roles?: string[];
                      users?: string[];
                  };
                  is_bypasser: boolean;
                  mode: "normal" | "invert";
                  name: null | string;
                  normalize: boolean;
                  tokens: string[];
                  type: "word_filter";
                  words: string[];
              }
              | {
                  actions: (
                      | {
                          delete_timeframe?: number;
                          duration?: number;
                          notify?: boolean;
                          reason?: string;
                          type: "ban";
                      }
                      | {
                          notify?: boolean;
                          reason?: string;
                          type: "kick";
                      }
                      | {
                          duration?: number;
                          notify?: boolean;
                          reason?: string;
                          type: "mute";
                      }
                      | {
                          duration?: number;
                          mode: "give" | "take";
                          notify?: boolean;
                          reason?: string;
                          roles: string[];
                          type: "role";
                      }
                      | {
                          type: "none";
                      }
                      | {
                          notify?: boolean;
                          reason?: string;
                          type: "warn";
                      }
                      | {
                          notify: true;
                          reason?: string;
                          type: "verbal_warn";
                      }
                      | {
                          count: number;
                          notify?: boolean;
                          reason?: string;
                          type: "clear";
                      }
                      | {
                          type: "delete_message";
                      })[];
                  bail: boolean;
                  bypasses: null | string[];
                  check_mime_types: boolean;
                  enabled: boolean;
                  exceptions?: {
                      channels?: string[];
                      roles?: string[];
                      users?: string[];
                  };
                  for?: {
                      channels?: string[];
                      roles?: string[];
                      users?: string[];
                  };
                  hashes: Record<string, null | string>;
                  is_bypasser: boolean;
                  mode: "normal" | "invert";
                  name: null | string;
                  type: "file_filter";
              }
              | {
                  actions: (
                      | {
                          delete_timeframe?: number;
                          duration?: number;
                          notify?: boolean;
                          reason?: string;
                          type: "ban";
                      }
                      | {
                          notify?: boolean;
                          reason?: string;
                          type: "kick";
                      }
                      | {
                          duration?: number;
                          notify?: boolean;
                          reason?: string;
                          type: "mute";
                      }
                      | {
                          duration?: number;
                          mode: "give" | "take";
                          notify?: boolean;
                          reason?: string;
                          roles: string[];
                          type: "role";
                      }
                      | {
                          type: "none";
                      }
                      | {
                          notify?: boolean;
                          reason?: string;
                          type: "warn";
                      }
                      | {
                          notify: true;
                          reason?: string;
                          type: "verbal_warn";
                      }
                      | {
                          count: number;
                          notify?: boolean;
                          reason?: string;
                          type: "clear";
                      }
                      | {
                          type: "delete_message";
                      })[];
                  bail: boolean;
                  bypasses: null | string[];
                  enabled: boolean;
                  exceptions?: {
                      channels?: string[];
                      roles?: string[];
                      users?: string[];
                  };
                  flirtation_threshold: number;
                  for?: {
                      channels?: string[];
                      roles?: string[];
                      users?: string[];
                  };
                  identity_attack_threshold: number;
                  insult_threshold: number;
                  is_bypasser: boolean;
                  mode: "normal" | "invert";
                  name: null | string;
                  profanity_threshold: number;
                  severe_toxicity_threshold: number;
                  sexual_explicit_threshold: number;
                  threat_threshold: number;
                  toxicity_threshold: number;
                  type: "ai_scan";
              }
              | {
                  actions: (
                      | {
                          delete_timeframe?: number;
                          duration?: number;
                          notify?: boolean;
                          reason?: string;
                          type: "ban";
                      }
                      | {
                          notify?: boolean;
                          reason?: string;
                          type: "kick";
                      }
                      | {
                          duration?: number;
                          notify?: boolean;
                          reason?: string;
                          type: "mute";
                      }
                      | {
                          duration?: number;
                          mode: "give" | "take";
                          notify?: boolean;
                          reason?: string;
                          roles: string[];
                          type: "role";
                      }
                      | {
                          type: "none";
                      }
                      | {
                          notify?: boolean;
                          reason?: string;
                          type: "warn";
                      }
                      | {
                          notify: true;
                          reason?: string;
                          type: "verbal_warn";
                      }
                      | {
                          count: number;
                          notify?: boolean;
                          reason?: string;
                          type: "clear";
                      }
                      | {
                          type: "delete_message";
                      })[];
                  bail: boolean;
                  bypasses: null | string[];
                  enabled: boolean;
                  exceptions?: {
                      channels?: string[];
                      roles?: string[];
                      users?: string[];
                  };
                  for?: {
                      channels?: string[];
                      roles?: string[];
                      users?: string[];
                  };
                  is_bypasser: boolean;
                  mode: "normal" | "invert";
                  name: null | string;
                  normalize: boolean;
                  regex_patterns: string[];
                  tokens: string[];
                  type: "profile_filter";
                  words: string[];
              })[]
      • Optionalsurvey_system?: {
            default_log_channel?: string;
            enabled: boolean;
            surveys: Record<string, {
                description?: string;
                end_message?: string;
                log_channel?: string;
                name: string;
                questions: [{
                    default_value?: string;
                    maxLength?: number;
                    minLength?: number;
                    placeholder?: string;
                    question: string;
                    required: boolean;
                    type: "paragraph" | "short";
                }, ...{
                    default_value?: string;
                    maxLength?: number;
                    minLength?: number;
                    placeholder?: string;
                    question: string;
                    required: boolean;
                    type: "paragraph" | "short";
                }[]];
                required_channels: string[];
                required_permissions: string[];
                required_roles: string[];
                required_users: string[];
            }>;
        }
        • Optionaldefault_log_channel?: string
        • enabled: boolean
        • surveys: Record<string, {
              description?: string;
              end_message?: string;
              log_channel?: string;
              name: string;
              questions: [{
                  default_value?: string;
                  maxLength?: number;
                  minLength?: number;
                  placeholder?: string;
                  question: string;
                  required: boolean;
                  type: "paragraph" | "short";
              }, ...{
                  default_value?: string;
                  maxLength?: number;
                  minLength?: number;
                  placeholder?: string;
                  question: string;
                  required: boolean;
                  type: "paragraph" | "short";
              }[]];
              required_channels: string[];
              required_permissions: string[];
              required_roles: string[];
              required_users: string[];
          }>
      • Optionalwelcomer?: {
            channel: string;
            custom_message?: string;
            delete_after?: number;
            enabled: boolean;
            force_embeds: boolean;
            forced_embed_color?: number;
            mention: boolean;
            randomize: boolean;
            say_hi_button?: {
                emoji: string;
                enabled: boolean;
                expire_after: null | number;
                label: string;
                reply: string;
            };
        }
        • channel: string
        • Optionalcustom_message?: string
        • Optionaldelete_after?: number
        • enabled: boolean
        • force_embeds: boolean
        • Optionalforced_embed_color?: number
        • mention: boolean
        • randomize: boolean
        • Optionalsay_hi_button?: {
              emoji: string;
              enabled: boolean;
              expire_after: null | number;
              label: string;
              reply: string;
          }
          • emoji: string
          • enabled: boolean
          • expire_after: null | number
          • label: string
          • reply: string

    Returns void

  • Returns null | {
        error: ZodError<Record<string, undefined | {
            ai_automod?: {
                actions?: (
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...))[];
                automatic_actions?: {
                    enabled?: (...) | (...) | (...);
                    stops?: (...) | (...);
                };
                enabled?: boolean;
                evaluate_after_attempts?: number;
                evaluation_cache_expires_in?: number;
                exception_regex_patterns?: ((...) | (...))[];
                max_individual_scores?: {
                    flirtation?: (...) | (...);
                    identity_attack?: (...) | (...);
                    incoherent?: (...) | (...);
                    insult?: (...) | (...);
                    obscene?: (...) | (...);
                    profanity?: (...) | (...);
                    severe_toxicity?: (...) | (...);
                    sexually_explicit?: (...) | (...);
                    spam?: (...) | (...);
                    threat?: (...) | (...);
                    toxicity?: (...) | (...);
                    unsubstantial?: (...) | (...);
                };
                max_single_score?: number;
                max_total_score?: number;
            };
            anti_member_join?: {
                ban_duration?: number;
                behavior?: "ban" | "kick";
                custom_reason?: string;
                enabled?: boolean;
                ignore_bots?: boolean;
            };
            antispam?: {
                actions: (
                    | {
                        delete_timeframe?: ...;
                        duration?: ...;
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        duration?: ...;
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        duration?: ...;
                        mode: ...;
                        notify?: ...;
                        reason?: ...;
                        roles: ...;
                        type: ...;
                    }
                    | {
                        type: ...;
                    }
                    | {
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        count?: ...;
                        notify?: ...;
                        reason?: ...;
                        type: ...;
                    }
                    | {
                        type: ...;
                    })[];
                channels?: {
                    list?: (...) | (...);
                    mode?: (...) | (...) | (...);
                };
                enabled?: boolean;
                limit: number;
                timeframe: number;
            };
            auto_role?: {
                enabled?: boolean;
                ignore_bots?: boolean;
                roles?: string[];
            };
            auto_triggers?: {
                enabled?: boolean;
                global_disabled_channels?: string[];
                triggers?: ((...) | (...))[];
            };
            bump_reminder?: {
                disabled_channels?: string[];
                enabled?: boolean;
                on_bump_content?: string;
                remind_after?: number;
                reminder_content?: string;
            };
            channel_archives?: {
                archive_category: string;
                enabled?: boolean;
                ignored_channels?: string[];
            };
            commands?: {
                channels?: {
                    list?: (...) | (...);
                    mode?: (...) | (...) | (...);
                };
                disabled_commands?: string[];
                mention_prefix?: boolean;
                moderation_command_behavior?: "delete" | "default";
                ratelimiting?: {
                    block_duration?: (...) | (...);
                    enabled?: (...) | (...) | (...);
                    max_attempts?: (...) | (...);
                    overrides?: (...) | (...);
                    timeframe?: (...) | (...);
                };
                rerun_on_edit?: boolean;
                respond_on_precondition_fail?: boolean;
                troll_command_immune_users?: string[];
            };
            debug_mode?: boolean;
            echoing?: {
                allow_mentions?: boolean;
            };
            extensions?: {
                disabled_extensions?: string[];
                enabled?: boolean;
                installed_extensions?: string[];
            };
            infractions?: {
                dm_fallback?: "none" | "create_channel" | "create_thread";
                dm_fallback_channel_expires_in?: number;
                dm_fallback_parent_channel?: string;
                points?: {
                    ban?: (...) | (...);
                    clear?: (...) | (...);
                    kick?: (...) | (...);
                    massban?: (...) | (...);
                    masskick?: (...) | (...);
                    mod_message?: (...) | (...);
                    mute?: (...) | (...);
                    note?: (...) | (...);
                    role?: (...) | (...);
                    softban?: (...) | (...);
                    tempban?: (...) | (...);
                    timeout?: (...) | (...);
                    unban?: (...) | (...);
                    warning?: (...) | (...);
                };
                reason_template_placeholder_wrapper?: string;
                reason_templates?: Record<string, string>;
                send_ids_to_user?: boolean;
            };
            logging?: {
                bulk_delete_send_json?: boolean;
                default_enabled?: boolean;
                enabled?: boolean;
                exclusions?: {
                    events?: ...;
                    mode?: ...;
                    snowflakes: ...;
                    type: ...;
                }[];
                global_ignored_channels?: string[];
                hooks?: Record<string, string>;
                overrides?: ((...) | (...))[];
                primary_channel?: string;
                unsubscribed_events?: LogEventType[];
            };
            member_verification?: {
                channel?: string;
                conditions: {
                    age_less_than?: number;
                    always?: boolean;
                    no_avatar?: boolean;
                };
                enabled?: boolean;
                expired_actions?: (
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...))[];
                max_duration?: number;
                method?: "channel_interaction" | "dm_interaction";
                success_message?: string;
                unverified_roles?: string[];
                verification_message?: string;
                verified_roles?: string[];
            };
            message_reporting?: {
                action_required_permissions?: {
                    ban?: (...) | (...);
                    ignore?: (...) | (...);
                    kick?: (...) | (...);
                    mute?: (...) | (...);
                    warn?: (...) | (...);
                };
                enabled?: boolean;
                logging_channel?: string;
                permission_level?: number;
                permissions?: string[];
                roles?: string[];
                users?: string[];
            };
            muting?: {
                role?: string;
            };
            permissions?: {
                check_discord_permissions?:
                    | "never"
                    | "always"
                    | "during_automod"
                    | "during_manual_actions";
                command_permission_mode?: "ignore" | "overwrite" | "check";
                invincible?: {
                    roles?: (...) | (...);
                    users?: (...) | (...);
                };
                mode?: "discord" | "levels" | "layered";
            };
            prefix?: string;
            quick_mute?: {
                default_duration?: number;
                enabled?: boolean;
                mute_clear_emoji?: string;
                mute_emoji?: string;
                reason?: string;
            };
            raid_protection?: {
                action?:
                    | "none"
                    | "lock"
                    | "lock_and_antijoin"
                    | "antijoin"
                    | "auto";
                channel_mode?: "exclude" | "include";
                channels?: string[];
                enabled?: boolean;
                member_actions?: (
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...))[];
                send_log?: boolean;
                threshold?: number;
                timeframe?: number;
            };
            reaction_roles?: {
                enabled?: boolean;
                ignore_bots?: boolean;
                ratelimiting?: {
                    block_duration?: (...) | (...);
                    enabled?: (...) | (...) | (...);
                    max_attempts?: (...) | (...);
                    timeframe?: (...) | (...);
                };
            };
            rule_moderation?: {
                enabled?: boolean;
                global_disabled_channels?: string[];
                rules?: (
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...)
                    | (...))[];
            };
            survey_system?: {
                default_log_channel?: string;
                enabled?: boolean;
                surveys?: Record<string, {
                    description?: ...;
                    end_message?: ...;
                    log_channel?: ...;
                    name: ...;
                    questions: ...;
                    required_channels?: ...;
                    required_permissions?: ...;
                    required_roles?: ...;
                    required_users?: ...;
                }>;
            };
            welcomer?: {
                channel: string;
                custom_message?: string;
                delete_after?: number;
                enabled?: boolean;
                force_embeds?: boolean;
                forced_embed_color?: number;
                mention?: boolean;
                randomize?: boolean;
                say_hi_button?: {
                    emoji?: (...) | (...);
                    enabled?: (...) | (...) | (...);
                    expire_after?: (...) | (...) | (...);
                    label?: (...) | (...);
                    reply?: (...) | (...);
                };
            };
        }>>;
        type: "guild";
    } | {
        error: ZodError<{
            $schema?: string;
            api?: {
                enabled?: boolean;
                server_status?:
                    | "error"
                    | "operational"
                    | "degraded"
                    | "partial_outage"
                    | "major_outage"
                    | "maintenance";
                server_status_description?: string;
                server_status_started_at?: string | Date;
            };
            command_permission_mode?: "ignore" | "overwrite" | "check";
            commands?: {
                global_disabled?: string[];
                groups?: Record<string, string[]>;
                mention_prefix?: boolean;
                register_application_commands_on_boot?:
                    | "none"
                    | "guild"
                    | "always_global"
                    | "auto_global";
                system_banned_users?: string[];
            };
            emoji_resolve_strategy?: "both" | "home_guild" | "application";
            enable_file_filter?: boolean;
            extensions?: {
                default_mode?: "enable_all" | "disable_all";
            };
            log_server?: {
                auto_start?: boolean;
                enabled?: boolean;
            };
            logging?: {
                enabled?: boolean;
                webhook_url: string;
            };
            presence?: {
                name?: string;
                status?:
                    | "online"
                    | "idle"
                    | "dnd"
                    | "invisible";
                type:
                    | "Playing"
                    | "Streaming"
                    | "Listening"
                    | "Watching"
                    | "Custom"
                    | "Competing";
                url?: string;
            };
            restart_exit_code?: number;
            snippets?: {
                save_attachments?: boolean;
            };
            statistics?: {
                enabled?: boolean;
                sync_delay?: number;
            };
            sync_emojis?: boolean;
            system_admins?: string[];
            trust_proxies?: number;
        }>;
        type: "system";
    }

  • Parameters

    • __namedParameters: {
          guild: undefined | boolean;
          system: undefined | boolean;
      } = {}
      • guild: undefined | boolean
      • system: undefined | boolean

    Returns Promise<void>

""