Returns
| 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: "ban";
}
| {
notify?: (...)
| (...)
| (...);
reason?: (...) | (...);
type: "kick";
}
| {
duration?: (...)
| (...);
notify?: (...) | (...) | (...);
reason?: (...) | (...);
type: "mute";
}
| {
duration?: (...)
| (...);
mode: (...) | (...);
notify?: (...) | (...) | (...);
reason?: (...) | (...);
roles: (...)[];
type: "role";
}
| { type: "none" }
| {
notify?: (...) | (...) | (...);
reason?: (...) | (...);
type: "warn";
}
| { notify: true; reason?: (...)
| (...); type: "verbal_warn" }
| {
count: number;
notify?: (...) | (...) | (...);
reason?: (...) | (...);
type: "clear";
}
| { type: "delete_message" }
)[],
>;
};
enabled: boolean;
evaluate_after_attempts: number;
evaluation_cache_expires_in: number;
exception_regex_patterns: (string | [string, string])[];
max_individual_scores?: {
flirtation: number;
identity_attack: number;
incoherent: number;
insult: number;
obscene: number;
profanity: number;
severe_toxicity: number;
sexually_explicit: number;
spam: number;
threat: number;
toxicity: number;
unsubstantial: number;
};
max_single_score: number;
max_total_score: number;
};
anti_member_join?: {
ban_duration?: number;
behavior: "ban"
| "kick";
custom_reason?: string;
enabled: boolean;
ignore_bots: boolean;
};
antispam?: {
actions: (
| {
delete_timeframe?: number;
duration?: number;
notify?: boolean;
reason?: string;
type: "ban";
}
| { notify?: boolean; reason?: string; type: "kick" }
| { duration?: number; notify?: boolean; reason?: string; type: "mute" }
| {
duration?: number;
mode: "give" | "take";
notify?: boolean;
reason?: string;
roles: string[];
type: "role";
}
| { type: "none" }
| { notify?: boolean; reason?: string; type: "warn" }
| { notify: true; reason?: string; type: "verbal_warn" }
| { count: number; notify?: boolean; reason?: string; type: "clear" }
| { type: "delete_message" }
)[];
channels: { list: string[]; mode: "exclude" | "include" };
enabled: boolean;
limit: number;
timeframe: number;
};
auto_role?: { enabled: boolean; ignore_bots: boolean; roles: string[] };
auto_triggers?: {
enabled: boolean;
global_disabled_channels: string[];
triggers: (
| {
buttons: { label: string; url: string }[];
enabled_channels: string[] | "all";
ignore_roles: string[];
ignore_users: string[];
message: string;
type: "sticky_message";
}
| {
action: "assign_role"
| "take_away_role";
enabled_channels: string[] | "all";
ignore_roles: string[];
ignore_users: string[];
must_contain: string[];
must_not_contain: string[];
roles: string[];
type: "member_status_update";
}
)[];
};
bump_reminder?: {
disabled_channels: string[];
enabled?: boolean;
on_bump_content?: string;
remind_after: number;
reminder_content?: string;
};
channel_archives?: {
archive_category: string;
enabled: boolean;
ignored_channels: string[];
};
commands: {
channels: { list: string[]; mode: "exclude"
| "include" };
disabled_commands: string[];
mention_prefix: boolean;
moderation_command_behavior: "delete" | "default";
ratelimiting?: {
block_duration: number;
enabled: boolean;
max_attempts: number;
overrides: Record<
string,
{
block_duration: number;
enabled: boolean;
max_attempts: number;
timeframe: number;
},
>;
timeframe: number;
};
rerun_on_edit: boolean;
respond_on_precondition_fail: boolean;
troll_command_immune_users: string[];
};
debug_mode: boolean;
echoing?: { allow_mentions: boolean };
extensions?: {
disabled_extensions: string[];
enabled?: boolean;
installed_extensions: string[];
};
infractions: {
dm_fallback: "none"
| "create_channel"
| "create_thread";
dm_fallback_channel_expires_in: number;
dm_fallback_parent_channel?: string;
points: {
ban: number;
clear: number;
kick: number;
massban: number;
masskick: number;
mod_message: number;
mute: number;
note: number;
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: (
| {
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;
};
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: "ban";
}
| {
notify?: (...)
| (...)
| (...);
reason?: (...) | (...);
type: "kick";
}
| {
duration?: (...)
| (...);
notify?: (...) | (...) | (...);
reason?: (...) | (...);
type: "mute";
}
| {
duration?: (...)
| (...);
mode: (...) | (...);
notify?: (...) | (...) | (...);
reason?: (...) | (...);
roles: (...)[];
type: "role";
}
| { type: "none" }
| {
notify?: (...) | (...) | (...);
reason?: (...) | (...);
type: "warn";
}
| { notify: true; reason?: (...)
| (...); type: "verbal_warn" }
| {
count: number;
notify?: (...) | (...) | (...);
reason?: (...) | (...);
type: "clear";
}
| { type: "delete_message" }
)[];
bail: boolean;
bypasses: null | string[];
domains: string[];
enabled: boolean;
exceptions?: { channels?: (...)[]; roles?: (...)[]; users?: (...)[] };
for?: { channels?: (...)[]; roles?: (...)[]; users?: (...)[] };
is_bypasser: boolean;
mode: "normal" | "invert";
name: null | string;
scan_links_only: boolean;
type: "domain_filter";
}
| {
actions: (
| {
delete_timeframe?: (...)
| (...);
duration?: (...) | (...);
notify?: (...) | (...) | (...);
reason?: (...) | (...);
type: "ban";
}
| {
notify?: (...)
| (...)
| (...);
reason?: (...) | (...);
type: "kick";
}
| {
duration?: (...)
| (...);
notify?: (...) | (...) | (...);
reason?: (...) | (...);
type: "mute";
}
| {
duration?: (...)
| (...);
mode: (...) | (...);
notify?: (...) | (...) | (...);
reason?: (...) | (...);
roles: (...)[];
type: "role";
}
| { type: "none" }
| {
notify?: (...) | (...) | (...);
reason?: (...) | (...);
type: "warn";
}
| { notify: true; reason?: (...)
| (...); type: "verbal_warn" }
| {
count: number;
notify?: (...) | (...) | (...);
reason?: (...) | (...);
type: "clear";
}
| { type: "delete_message" }
)[];
bail: boolean;
bypasses: null | string[];
data: string[];
enabled: boolean;
exceptions?: { channels?: (...)[]; roles?: (...)[]; users?: (...)[] };
for?: { channels?: (...)[]; roles?: (...)[]; users?: (...)[] };
is_bypasser: boolean;
mode: "normal" | "invert";
name: null | string;
type: "mime_type_filter";
}
| {
actions: (
| {
delete_timeframe?: (...)
| (...);
duration?: (...) | (...);
notify?: (...) | (...) | (...);
reason?: (...) | (...);
type: "ban";
}
| {
notify?: (...)
| (...)
| (...);
reason?: (...) | (...);
type: "kick";
}
| {
duration?: (...)
| (...);
notify?: (...) | (...) | (...);
reason?: (...) | (...);
type: "mute";
}
| {
duration?: (...)
| (...);
mode: (...) | (...);
notify?: (...) | (...) | (...);
reason?: (...) | (...);
roles: (...)[];
type: "role";
}
| { type: "none" }
| {
notify?: (...) | (...) | (...);
reason?: (...) | (...);
type: "warn";
}
| { notify: true; reason?: (...)
| (...); type: "verbal_warn" }
| {
count: number;
notify?: (...) | (...) | (...);
reason?: (...) | (...);
type: "clear";
}
| { type: "delete_message" }
)[];
bail: boolean;
bypasses: null | string[];
data: string[];
enabled: boolean;
exceptions?: { channels?: (...)[]; roles?: (...)[]; users?: (...)[] };
for?: { channels?: (...)[]; roles?: (...)[]; users?: (...)[] };
is_bypasser: boolean;
mode: "normal" | "invert";
name: null | string;
type: "file_extension_filter";
}
| {
actions: (
| {
delete_timeframe?: (...)
| (...);
duration?: (...) | (...);
notify?: (...) | (...) | (...);
reason?: (...) | (...);
type: "ban";
}
| {
notify?: (...)
| (...)
| (...);
reason?: (...) | (...);
type: "kick";
}
| {
duration?: (...)
| (...);
notify?: (...) | (...) | (...);
reason?: (...) | (...);
type: "mute";
}
| {
duration?: (...)
| (...);
mode: (...) | (...);
notify?: (...) | (...) | (...);
reason?: (...) | (...);
roles: (...)[];
type: "role";
}
| { type: "none" }
| {
notify?: (...) | (...) | (...);
reason?: (...) | (...);
type: "warn";
}
| { notify: true; reason?: (...)
| (...); type: "verbal_warn" }
| {
count: number;
notify?: (...) | (...) | (...);
reason?: (...) | (...);
type: "clear";
}
| { type: "delete_message" }
)[];
allow_internal_invites: boolean;
allowed_invite_codes: string[];
bail: boolean;
bypasses: null | string[];
enabled: boolean;
exceptions?: { channels?: (...)[]; roles?: (...)[]; users?: (...)[] };
for?: { channels?: (...)[]; roles?: (...)[]; users?: (...)[] };
is_bypasser: boolean;
mode: "normal" | "invert";
name: null | string;
type: "anti_invite";
}
| {
actions: (
| {
delete_timeframe?: (...)
| (...);
duration?: (...) | (...);
notify?: (...) | (...) | (...);
reason?: (...) | (...);
type: "ban";
}
| {
notify?: (...)
| (...)
| (...);
reason?: (...) | (...);
type: "kick";
}
| {
duration?: (...)
| (...);
notify?: (...) | (...) | (...);
reason?: (...) | (...);
type: "mute";
}
| {
duration?: (...)
| (...);
mode: (...) | (...);
notify?: (...) | (...) | (...);
reason?: (...) | (...);
roles: (...)[];
type: "role";
}
| { type: "none" }
| {
notify?: (...) | (...) | (...);
reason?: (...) | (...);
type: "warn";
}
| { notify: true; reason?: (...)
| (...); type: "verbal_warn" }
| {
count: number;
notify?: (...) | (...) | (...);
reason?: (...) | (...);
type: "clear";
}
| { type: "delete_message" }
)[];
bail: boolean;
bypasses: null | string[];
enabled: boolean;
exceptions?: { channels?: (...)[]; roles?: (...)[]; users?: (...)[] };
for?: { channels?: (...)[]; roles?: (...)[]; users?: (...)[] };
is_bypasser: boolean;
mode: "normal" | "invert";
name: null | string;
patterns: (string | [string, string])[];
type: "regex_filter";
}
| {
actions: (
| {
delete_timeframe?: (...)
| (...);
duration?: (...) | (...);
notify?: (...) | (...) | (...);
reason?: (...) | (...);
type: "ban";
}
| {
notify?: (...)
| (...)
| (...);
reason?: (...) | (...);
type: "kick";
}
| {
duration?: (...)
| (...);
notify?: (...) | (...) | (...);
reason?: (...) | (...);
type: "mute";
}
| {
duration?: (...)
| (...);
mode: (...) | (...);
notify?: (...) | (...) | (...);
reason?: (...) | (...);
roles: (...)[];
type: "role";
}
| { type: "none" }
| {
notify?: (...) | (...) | (...);
reason?: (...) | (...);
type: "warn";
}
| { notify: true; reason?: (...)
| (...); type: "verbal_warn" }
| {
count: number;
notify?: (...) | (...) | (...);
reason?: (...) | (...);
type: "clear";
}
| { type: "delete_message" }
)[];
bail: boolean;
bypasses: null | string[];
enabled: boolean;
exceptions?: { channels?: (...)[]; roles?: (...)[]; users?: (...)[] };
for?: { channels?: (...)[]; roles?: (...)[]; users?: (...)[] };
is_bypasser: boolean;
max_repeated_chars: number;
max_repeated_words: number;
mode: "normal" | "invert";
name: null | string;
type: "repeated_text_filter";
}
| {
actions: (
| {
delete_timeframe?: (...)
| (...);
duration?: (...) | (...);
notify?: (...) | (...) | (...);
reason?: (...) | (...);
type: "ban";
}
| {
notify?: (...)
| (...)
| (...);
reason?: (...) | (...);
type: "kick";
}
| {
duration?: (...)
| (...);
notify?: (...) | (...) | (...);
reason?: (...) | (...);
type: "mute";
}
| {
duration?: (...)
| (...);
mode: (...) | (...);
notify?: (...) | (...) | (...);
reason?: (...) | (...);
roles: (...)[];
type: "role";
}
| { type: "none" }
| {
notify?: (...) | (...) | (...);
reason?: (...) | (...);
type: "warn";
}
| { notify: true; reason?: (...)
| (...); type: "verbal_warn" }
| {
count: number;
notify?: (...) | (...) | (...);
reason?: (...) | (...);
type: "clear";
}
| { type: "delete_message" }
)[];
bail: boolean;
bypasses: null | string[];
enabled: boolean;
exceptions?: { channels?: (...)[]; roles?: (...)[]; users?: (...)[] };
for?: { channels?: (...)[]; roles?: (...)[]; users?: (...)[] };
is_bypasser: boolean;
max_mentions: number;
max_role_mentions: number;
max_user_mentions: number;
mode: "normal" | "invert";
name: null | string;
type: "mass_mention_filter";
}
| {
actions: (
| {
delete_timeframe?: (...)
| (...);
duration?: (...) | (...);
notify?: (...) | (...) | (...);
reason?: (...) | (...);
type: "ban";
}
| {
notify?: (...)
| (...)
| (...);
reason?: (...) | (...);
type: "kick";
}
| {
duration?: (...)
| (...);
notify?: (...) | (...) | (...);
reason?: (...) | (...);
type: "mute";
}
| {
duration?: (...)
| (...);
mode: (...) | (...);
notify?: (...) | (...) | (...);
reason?: (...) | (...);
roles: (...)[];
type: "role";
}
| { type: "none" }
| {
notify?: (...) | (...) | (...);
reason?: (...) | (...);
type: "warn";
}
| { notify: true; reason?: (...)
| (...); type: "verbal_warn" }
| {
count: number;
notify?: (...) | (...) | (...);
reason?: (...) | (...);
type: "clear";
}
| { type: "delete_message" }
)[];
bail: boolean;
bypasses: null | string[];
enabled: boolean;
exceptions?: { channels?: (...)[]; roles?: (...)[]; users?: (...)[] };
for?: { channels?: (...)[]; roles?: (...)[]; users?: (...)[] };
inherit_from_word_filter: boolean;
is_bypasser: boolean;
mode: "normal" | "invert";
name: null | string;
scan_embeds: boolean;
tokens: string[];
type: "image_filter";
words: string[];
}
| {
actions: (
| {
delete_timeframe?: (...)
| (...);
duration?: (...) | (...);
notify?: (...) | (...) | (...);
reason?: (...) | (...);
type: "ban";
}
| {
notify?: (...)
| (...)
| (...);
reason?: (...) | (...);
type: "kick";
}
| {
duration?: (...)
| (...);
notify?: (...) | (...) | (...);
reason?: (...) | (...);
type: "mute";
}
| {
duration?: (...)
| (...);
mode: (...) | (...);
notify?: (...) | (...) | (...);
reason?: (...) | (...);
roles: (...)[];
type: "role";
}
| { type: "none" }
| {
notify?: (...) | (...) | (...);
reason?: (...) | (...);
type: "warn";
}
| { notify: true; reason?: (...)
| (...); type: "verbal_warn" }
| {
count: number;
notify?: (...) | (...) | (...);
reason?: (...) | (...);
type: "clear";
}
| { type: "delete_message" }
)[];
bail: boolean;
bypasses: null | string[];
enabled: boolean;
exceptions?: { channels?: (...)[]; roles?: (...)[]; users?: (...)[] };
for?: { channels?: (...)[]; roles?: (...)[]; users?: (...)[] };
inherit_from_word_filter: boolean;
is_bypasser: boolean;
mode: "normal" | "invert";
name: null | string;
tokens: string[];
type: "embed_filter";
words: string[];
}
| {
actions: (
| {
delete_timeframe?: (...)
| (...);
duration?: (...) | (...);
notify?: (...) | (...) | (...);
reason?: (...) | (...);
type: "ban";
}
| {
notify?: (...)
| (...)
| (...);
reason?: (...) | (...);
type: "kick";
}
| {
duration?: (...)
| (...);
notify?: (...) | (...) | (...);
reason?: (...) | (...);
type: "mute";
}
| {
duration?: (...)
| (...);
mode: (...) | (...);
notify?: (...) | (...) | (...);
reason?: (...) | (...);
roles: (...)[];
type: "role";
}
| { type: "none" }
| {
notify?: (...) | (...) | (...);
reason?: (...) | (...);
type: "warn";
}
| { notify: true; reason?: (...)
| (...); type: "verbal_warn" }
| {
count: number;
notify?: (...) | (...) | (...);
reason?: (...) | (...);
type: "clear";
}
| { type: "delete_message" }
)[];
bail: boolean;
bypasses: null | string[];
enabled: boolean;
exceptions?: { channels?: (...)[]; roles?: (...)[]; users?: (...)[] };
excluded_domains_regex: string[];
excluded_link_regex: string[];
excluded_links: string[];
for?: { channels?: (...)[]; roles?: (...)[]; users?: (...)[] };
is_bypasser: boolean;
mode: "normal" | "invert";
name: null | string;
tokens: string[];
type: "EXPERIMENTAL_url_crawl";
words: string[];
}
| {
actions: (
| {
delete_timeframe?: (...)
| (...);
duration?: (...) | (...);
notify?: (...) | (...) | (...);
reason?: (...) | (...);
type: "ban";
}
| {
notify?: (...)
| (...)
| (...);
reason?: (...) | (...);
type: "kick";
}
| {
duration?: (...)
| (...);
notify?: (...) | (...) | (...);
reason?: (...) | (...);
type: "mute";
}
| {
duration?: (...)
| (...);
mode: (...) | (...);
notify?: (...) | (...) | (...);
reason?: (...) | (...);
roles: (...)[];
type: "role";
}
| { type: "none" }
| {
notify?: (...) | (...) | (...);
reason?: (...) | (...);
type: "warn";
}
| { notify: true; reason?: (...)
| (...); type: "verbal_warn" }
| {
count: number;
notify?: (...) | (...) | (...);
reason?: (...) | (...);
type: "clear";
}
| { type: "delete_message" }
)[];
bail: boolean;
bypasses: null | string[];
enabled: boolean;
exceptions?: { channels?: (...)[]; roles?: (...)[]; users?: (...)[] };
for?: { channels?: (...)[]; roles?: (...)[]; users?: (...)[] };
is_bypasser: boolean;
mode: "normal" | "invert";
name: null | string;
score_thresholds: { hentai: number; porn: number; sexy: number };
type: "EXPERIMENTAL_nsfw_filter";
}
| {
actions: (
| {
delete_timeframe?: (...)
| (...);
duration?: (...) | (...);
notify?: (...) | (...) | (...);
reason?: (...) | (...);
type: "ban";
}
| {
notify?: (...)
| (...)
| (...);
reason?: (...) | (...);
type: "kick";
}
| {
duration?: (...)
| (...);
notify?: (...) | (...) | (...);
reason?: (...) | (...);
type: "mute";
}
| {
duration?: (...)
| (...);
mode: (...) | (...);
notify?: (...) | (...) | (...);
reason?: (...) | (...);
roles: (...)[];
type: "role";
}
| { type: "none" }
| {
notify?: (...) | (...) | (...);
reason?: (...) | (...);
type: "warn";
}
| { notify: true; reason?: (...)
| (...); type: "verbal_warn" }
| {
count: number;
notify?: (...) | (...) | (...);
reason?: (...) | (...);
type: "clear";
}
| { type: "delete_message" }
)[];
bail: boolean;
bypasses: null | string[];
enabled: boolean;
exceptions?: { channels?: (...)[]; roles?: (...)[]; users?: (...)[] };
for?: { channels?: (...)[]; roles?: (...)[]; users?: (...)[] };
is_bypasser: boolean;
mode: "normal" | "invert";
name: null | string;
normalize: boolean;
tokens: string[];
type: "word_filter";
words: string[];
}
| {
actions: (
| {
delete_timeframe?: (...)
| (...);
duration?: (...) | (...);
notify?: (...) | (...) | (...);
reason?: (...) | (...);
type: "ban";
}
| {
notify?: (...)
| (...)
| (...);
reason?: (...) | (...);
type: "kick";
}
| {
duration?: (...)
| (...);
notify?: (...) | (...) | (...);
reason?: (...) | (...);
type: "mute";
}
| {
duration?: (...)
| (...);
mode: (...) | (...);
notify?: (...) | (...) | (...);
reason?: (...) | (...);
roles: (...)[];
type: "role";
}
| { type: "none" }
| {
notify?: (...) | (...) | (...);
reason?: (...) | (...);
type: "warn";
}
| { notify: true; reason?: (...)
| (...); type: "verbal_warn" }
| {
count: number;
notify?: (...) | (...) | (...);
reason?: (...) | (...);
type: "clear";
}
| { type: "delete_message" }
)[];
bail: boolean;
bypasses: null | string[];
check_mime_types: boolean;
enabled: boolean;
exceptions?: { channels?: (...)[]; roles?: (...)[]; users?: (...)[] };
for?: { channels?: (...)[]; roles?: (...)[]; users?: (...)[] };
hashes: Record<string, null | string>;
is_bypasser: boolean;
mode: "normal" | "invert";
name: null | string;
type: "file_filter";
}
| {
actions: (
| {
delete_timeframe?: (...)
| (...);
duration?: (...) | (...);
notify?: (...) | (...) | (...);
reason?: (...) | (...);
type: "ban";
}
| {
notify?: (...)
| (...)
| (...);
reason?: (...) | (...);
type: "kick";
}
| {
duration?: (...)
| (...);
notify?: (...) | (...) | (...);
reason?: (...) | (...);
type: "mute";
}
| {
duration?: (...)
| (...);
mode: (...) | (...);
notify?: (...) | (...) | (...);
reason?: (...) | (...);
roles: (...)[];
type: "role";
}
| { type: "none" }
| {
notify?: (...) | (...) | (...);
reason?: (...) | (...);
type: "warn";
}
| { notify: true; reason?: (...)
| (...); type: "verbal_warn" }
| {
count: number;
notify?: (...) | (...) | (...);
reason?: (...) | (...);
type: "clear";
}
| { type: "delete_message" }
)[];
bail: boolean;
bypasses: null | string[];
enabled: boolean;
exceptions?: { channels?: (...)[]; roles?: (...)[]; users?: (...)[] };
flirtation_threshold: number;
for?: { channels?: (...)[]; roles?: (...)[]; users?: (...)[] };
identity_attack_threshold: number;
insult_threshold: number;
is_bypasser: boolean;
mode: "normal" | "invert";
name: null | string;
profanity_threshold: number;
severe_toxicity_threshold: number;
sexual_explicit_threshold: number;
threat_threshold: number;
toxicity_threshold: number;
type: "ai_scan";
}
| {
actions: (
| {
delete_timeframe?: (...)
| (...);
duration?: (...) | (...);
notify?: (...) | (...) | (...);
reason?: (...) | (...);
type: "ban";
}
| {
notify?: (...)
| (...)
| (...);
reason?: (...) | (...);
type: "kick";
}
| {
duration?: (...)
| (...);
notify?: (...) | (...) | (...);
reason?: (...) | (...);
type: "mute";
}
| {
duration?: (...)
| (...);
mode: (...) | (...);
notify?: (...) | (...) | (...);
reason?: (...) | (...);
roles: (...)[];
type: "role";
}
| { type: "none" }
| {
notify?: (...) | (...) | (...);
reason?: (...) | (...);
type: "warn";
}
| { notify: true; reason?: (...)
| (...); type: "verbal_warn" }
| {
count: number;
notify?: (...) | (...) | (...);
reason?: (...) | (...);
type: "clear";
}
| { type: "delete_message" }
)[];
bail: boolean;
bypasses: null | string[];
enabled: boolean;
exceptions?: { channels?: (...)[]; roles?: (...)[]; users?: (...)[] };
for?: { channels?: (...)[]; roles?: (...)[]; users?: (...)[] };
is_bypasser: boolean;
mode: "normal" | "invert";
name: null | string;
normalize: boolean;
regex_patterns: string[];
tokens: string[];
type: "profile_filter";
words: string[];
}
)[];
};
survey_system?: {
default_log_channel?: string;
enabled: boolean;
surveys: Record<
string,
{
description?: string;
end_message?: string;
log_channel?: string;
name: string;
questions: [
{
default_value?: string;
maxLength?: number;
minLength?: number;
placeholder?: string;
question: string;
required: boolean;
type: "paragraph"
| "short";
},
...{
default_value?: string;
maxLength?: number;
minLength?: number;
placeholder?: string;
question: string;
required: boolean;
type: "paragraph"
| "short";
}[],
];
required_channels: string[];
required_permissions: string[];
required_roles: string[];
required_users: string[];
},
>;
};
welcomer?: {
channel: string;
custom_message?: string;
delete_after?: number;
enabled: boolean;
force_embeds: boolean;
forced_embed_color?: number;
mention: boolean;
randomize: boolean;
say_hi_button?: {
emoji: string;
enabled: boolean;
expire_after: null
| number;
label: string;
reply: string;
};
};
}