Interface ClientOptions

Additional custom client options

interface ClientOptions {
    I18N?: i18n;
    commandUsageChannelId?: null | string;
    debug: ClientDebugOptions;
    defaultCommandThrottling: CommandThrottleOptions;
    defaultLockMemberPermissions: boolean;
    developmentServerId?: string;
    errorChannelId?: null | string;
    extensions?: Record<string, unknown>;
    globalMiddleware?: GlobalMiddlewareOptions;
    internalPermissions: ClientPermissionOptions;
    locales?: ("id" | "en-US" | "en-GB" | "bg" | "zh-CN" | "zh-TW" | "hr" | "cs" | "da" | "nl" | "fi" | "fr" | "de" | "el" | "hi" | "hu" | "it" | "ja" | "ko" | "lt" | "no" | "pl" | "pt-BR" | "ro" | "ru" | "es-ES" | "es-419" | "sv-SE" | "th" | "tr" | "uk" | "vi")[];
    logging?: Omit<LoggerOptions & FileLoggerOptions, "client">;
    pkg?: Record<string, unknown>;
    refuseUnknownCommandInteractions: boolean;
    suppressUnknownInteractionWarning: boolean;
    suppressVanity: boolean;
}

Properties

I18N?: i18n
commandUsageChannelId?: null | string

Additional debug options

defaultCommandThrottling: CommandThrottleOptions

The default command cooldown for all commands - default config is 2 usages per 5 seconds - short burst protection

defaultLockMemberPermissions: boolean

If a command has a permission level of Administrator, should we automatically hide that command from normal users, by using #setDefaultMemberPermissions(0) on the command?

developmentServerId?: string

The id to register development commands to

errorChannelId?: null | string
extensions?: Record<string, unknown>
globalMiddleware?: GlobalMiddlewareOptions
internalPermissions: ClientPermissionOptions

Custom permissions for the client

locales?: ("id" | "en-US" | "en-GB" | "bg" | "zh-CN" | "zh-TW" | "hr" | "cs" | "da" | "nl" | "fi" | "fr" | "de" | "el" | "hi" | "hu" | "it" | "ja" | "ko" | "lt" | "no" | "pl" | "pt-BR" | "ro" | "ru" | "es-ES" | "es-419" | "sv-SE" | "th" | "tr" | "uk" | "vi")[]
logging?: Omit<LoggerOptions & FileLoggerOptions, "client">
pkg?: Record<string, unknown>
refuseUnknownCommandInteractions: boolean

Should we refuse, and reply to, interactions that belong to unknown commands

Default

false
suppressUnknownInteractionWarning: boolean

Should we print information on unknown command interactions, you should enable this if you run multiple processes/clients on the same bot user

Default

true
suppressVanity: boolean

Whether to suppress the vanity print to console