UNPKG

@bastion/tesseract

Version:

The heart and soul of the Bastion bot.

36 lines (35 loc) 1.51 kB
import mongoose from "mongoose"; import { Client, ClientApplication, ClientOptions, Collection, Guild } from "discord.js"; import { Locke } from "@iamtraction/locke"; import TesseractCommand from "./TesseractCommand.js"; import TesseractFilter from "./TesseractFilter.js"; import TesseractMessageComponent from "./TesseractMessageComponent.js"; import TesseractSettings from "./TesseractSettings.js"; import { music } from "./types.js"; interface TesseractClientOptions extends ClientOptions { tesseractSettings?: TesseractSettings; } declare class TesseractClient extends Client { app: ClientApplication | void; locales: Locke; directory: string; filters: Collection<string, TesseractFilter>; commands: TesseractCommand[]; messageComponents: TesseractMessageComponent[]; settings: TesseractSettings; studio: WeakMap<Guild, music.Studio>; constructor(options: TesseractClientOptions); setInterval(fn: (args: void) => void, ms: number): void; private applyFilters; protected loadCommands: (dir: string) => Promise<void>; protected loadMessageComponents: () => Promise<void>; protected initInteractions: () => Promise<void>; protected initFilters: () => Promise<void>; protected initListeners: () => Promise<void>; protected initSchedulers: () => Promise<void>; connectMongo: () => Promise<typeof mongoose>; disconnectMongo: () => Promise<void>; init(): Promise<string>; toString: () => string; } export default TesseractClient;