| import { Logger } from "./utils/log.js"; |
| import runServer from "./api/index.js"; |
| import Memory from "./utils/memory.js"; |
| import type { VerifySchema } from "./reflex/verify.js"; |
| import { Guilds, History, ModNotes, Premium } from "./utils/database.js"; |
| import client from "./utils/client.js"; |
| import EventScheduler from "./utils/eventScheduler.js"; |
| import type { RoleMenuSchema } from "./actions/roleMenu.js"; |
| |
| await client.registerCommandsIn(`dist/commands`); |
| await client.registerEventsIn(`dist/events`); |
| client.on("ready", () => { |
| runServer(client); |
| }); |
| process.on("unhandledRejection", (err) => { |
| console.error(err); |
| }); |
| |
| client.logger = new Logger() as Logger; |
| client.verify = {} as Record<string, VerifySchema>; |
| client.roleMenu = {} as Record<string, RoleMenuSchema>; |
| client.memory = new Memory() as Memory; |
| client.noLog = [] as string[]; |
| client.database = { |
| guilds: await new Guilds().setup(), |
| history: await new History().setup(), |
| notes: await new ModNotes().setup(), |
| premium: await new Premium().setup(), |
| eventScheduler: await new EventScheduler().start() |
| } as { |
| guilds: Guilds; |
| history: History; |
| notes: ModNotes; |
| premium: Premium; |
| eventScheduler: EventScheduler; |
| }; |
| |
| await client.login(); |