2023-12-05 16:47:54 +01:00
|
|
|
import { WriteOptions, LoggerClient } from '@navy.gif/logger';
|
|
|
|
import { ClientOptions } from './Client.ts';
|
|
|
|
|
|
|
|
export type CommandOption = {
|
|
|
|
[key: string]: unknown
|
|
|
|
}
|
|
|
|
|
|
|
|
export type Command = {
|
|
|
|
name: string,
|
|
|
|
options: {
|
|
|
|
[key: string]: CommandOption
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
export type CommandsDef = {
|
|
|
|
type: 'global' | 'guild',
|
|
|
|
commands: Command[],
|
|
|
|
guilds: string[],
|
|
|
|
clientId: string
|
|
|
|
}
|
|
|
|
|
|
|
|
export type IPCMessage = {
|
|
|
|
id?: string,
|
|
|
|
_start?: ClientOptions,
|
|
|
|
_ready?: boolean,
|
|
|
|
_disconnect?: boolean,
|
|
|
|
_reconnecting?: boolean,
|
|
|
|
_fetchProp?: string,
|
|
|
|
_sFetchProp?: string,
|
|
|
|
_sFetchPropShard?: number,
|
|
|
|
_sEval?: string,
|
|
|
|
_sEvalShard?: number,
|
|
|
|
_eval?: string,
|
|
|
|
_result?: unknown,
|
|
|
|
_error?: Error,
|
|
|
|
_sRespawnAll?: {
|
|
|
|
shardDelay: number,
|
|
|
|
respawnDelay: number,
|
|
|
|
timeout: number
|
|
|
|
},
|
2023-12-08 12:20:05 +01:00
|
|
|
_mEval?: boolean,
|
2023-12-05 16:47:54 +01:00
|
|
|
_mEvalResult?: boolean
|
|
|
|
_logger?: boolean,
|
|
|
|
_api?: boolean,
|
|
|
|
_commands?: CommandsDef,
|
|
|
|
_shutdown?: boolean,
|
|
|
|
_fatal?: boolean,
|
|
|
|
success?: boolean
|
|
|
|
script?: string,
|
|
|
|
debug?: boolean,
|
|
|
|
type?: string,
|
|
|
|
data?: unknown,
|
|
|
|
shards?: number[]
|
|
|
|
}
|
|
|
|
|
|
|
|
export type PlainError = {
|
|
|
|
name: string;
|
|
|
|
message: string;
|
|
|
|
stack?: string;
|
|
|
|
}
|
|
|
|
|
|
|
|
export type EnvObject = {
|
|
|
|
[key: string]: unknown,
|
|
|
|
SHARDING_MANAGER: boolean
|
|
|
|
SHARD_ID: number
|
|
|
|
SHARD_COUNT: number
|
|
|
|
DISCORD_TOKEN: string | null
|
|
|
|
}
|
|
|
|
|
|
|
|
export type Loggable<T> = {
|
|
|
|
createLogger: (comp: object, options?: WriteOptions) => LoggerClient
|
|
|
|
} & T;
|
|
|
|
|
|
|
|
export type Hookable<T> = {
|
|
|
|
ready: boolean
|
|
|
|
} & T
|