GuildConfigContainer: {
    [key: string]:
        | undefined
        | {
            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: 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;
                    reaction_clear: 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?: {
                alt_detection?: {
                    actions?: {
                        failVerification: boolean;
                        moderationActions: (
                            | (...)
                            | (...)
                            | (...)
                            | (...)
                            | (...)
                            | (...)
                            | (...)
                            | (...)
                            | (...)
                        )[];
                    };
                    enabled: boolean;
                };
                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;
                message_id_internal?: string;
                method:
                    | "channel_interaction"
                    | "dm_interaction"
                    | "channel_static_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: ...;
                            }
                            | { 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[];
                    }
                )[];
            };
            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;
                };
            };
        };
}

Type declaration

  • [key: string]:
        | undefined
        | {
            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: 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;
                    reaction_clear: 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?: {
                alt_detection?: {
                    actions?: {
                        failVerification: boolean;
                        moderationActions: (
                            | (...)
                            | (...)
                            | (...)
                            | (...)
                            | (...)
                            | (...)
                            | (...)
                            | (...)
                            | (...)
                        )[];
                    };
                    enabled: boolean;
                };
                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;
                message_id_internal?: string;
                method:
                    | "channel_interaction"
                    | "dm_interaction"
                    | "channel_static_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: ...;
                            }
                            | { 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[];
                    }
                )[];
            };
            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;
                };
            };
        }
MMNEPVFCICPMFPCPTTAAATR