2024-03-31 12:46:28 +02:00
|
|
|
import { LoggerClientOptions } from '@navy.gif/logger';
|
2024-03-31 13:42:54 +02:00
|
|
|
import { GatewayIntentBits, Partials } from 'discord.js';
|
2024-03-31 13:41:01 +02:00
|
|
|
import { ComponentType } from '../src/client/interfaces/Component.ts';
|
2024-03-31 12:46:28 +02:00
|
|
|
|
|
|
|
export type ClientOptions = {
|
2024-03-31 13:19:36 +02:00
|
|
|
// Set by the startup script
|
2024-03-31 12:46:28 +02:00
|
|
|
rootDir: string,
|
|
|
|
version: string,
|
2024-03-31 13:19:36 +02:00
|
|
|
|
|
|
|
// User configured
|
|
|
|
logger: LoggerClientOptions,
|
|
|
|
developmentMode: boolean,
|
2024-03-31 13:42:54 +02:00
|
|
|
libraryOptions: {
|
|
|
|
partials?: Partials,
|
|
|
|
intents: GatewayIntentBits[],
|
|
|
|
invalidRequestWarningInterval?: number
|
|
|
|
}
|
2024-03-31 12:46:28 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
export type ComponentOptions = {
|
|
|
|
type: ComponentType,
|
|
|
|
name: string,
|
|
|
|
disabled?: boolean
|
2024-03-31 13:42:54 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
export type ExtendedCommandOptionDefinition = {
|
|
|
|
restricted?: boolean
|
|
|
|
} & CommandOptionDefinition
|
|
|
|
|
|
|
|
export type CommandDefinition = {
|
|
|
|
aliases?: string[],
|
|
|
|
options?: (ExtendedCommandOptionDefinition | ExtendedCommandOption)[],
|
|
|
|
restricted?: boolean,
|
|
|
|
dmOnly?: boolean,
|
|
|
|
guildOnly?: boolean,
|
|
|
|
help?: string,
|
|
|
|
limited?: Snowflake[],
|
|
|
|
showUsage?: boolean,
|
|
|
|
sameVc?: boolean,
|
|
|
|
description?: string,
|
|
|
|
} & Omit<ComponentOptions, 'type'>
|