COMMAND REGISTRATION WORKS
diff --git a/src/utils/client.ts b/src/utils/client.ts
index 1795cfa..7d608c7 100644
--- a/src/utils/client.ts
+++ b/src/utils/client.ts
@@ -1,13 +1,39 @@
-// @ts-expect-error
-import { HaikuClient } from "jshaiku";
-import { Intents } from "discord.js";
-import config from "../config/main.json" assert { type: "json" };
+import { Client } from 'discord.js';
+import { Logger } from "../utils/log.js";
+import Memory from "../utils/memory.js";
+import type { VerifySchema } from "../reflex/verify.js";
+import { Guilds, History, ModNotes, Premium } from "../utils/database.js";
+import EventScheduler from "../utils/eventScheduler.js";
+import type { RoleMenuSchema } from "../actions/roleMenu.js";
-const client = new HaikuClient(
- {
- intents: new Intents(32767).bitfield // This is a way of specifying all intents w/o having to type them out
- },
- config
-);
+
+class NucleusClient extends Client {
+ logger = Logger;
+ verify: Record<string, VerifySchema> = {};
+ roleMenu: Record<string, RoleMenuSchema> = {};
+ memory: Memory = new Memory() as Memory;
+ noLog: string[] = [];
+ database: {
+ guilds: Guilds;
+ history: History;
+ notes: ModNotes;
+ premium: Premium;
+ eventScheduler: EventScheduler;
+ };
+
+ constructor(database: typeof NucleusClient.prototype.database) {
+ super({ intents: 32767 });
+ this.database = database;
+ }
+}
+
+const client = new NucleusClient({
+ guilds: new Guilds(),
+ history: new History(),
+ notes: new ModNotes(),
+ premium: new Premium(),
+ eventScheduler: new EventScheduler()
+});
export default client;
+export { NucleusClient };
\ No newline at end of file