diff --git a/bun.lockb b/bun.lockb index 52a8796..2c35139 100644 Binary files a/bun.lockb and b/bun.lockb differ diff --git a/package.json b/package.json index 54d55ed..56ca3cf 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ }, "devDependencies": { "@types/bun": "latest", - "prisma": "5.15.1" + "prisma": "^6.0.1" }, "peerDependencies": { "typescript": "^5.0.0" @@ -15,9 +15,10 @@ "dependencies": { "@baselime/pino-transport": "^0.1.5", "@biomejs/biome": "^1.8.2", - "@prisma/client": "^5.15.1", + "@prisma/client": "^6.0.1", "discord.js": "^14.15.3", "elysia": "^1.1.5", - "pino": "^9.5.0" + "pino": "^9.5.0", + "redis": "^4.7.0" } } diff --git a/prisma/schema.prisma b/prisma/schema.prisma index 9b26c48..e528ab3 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -11,37 +11,36 @@ generator client { datasource db { provider = "postgresql" url = env("DATABASE_URL") - shadowDatabaseUrl = env("SHADOW_DATABASE_URL") } model User { - id String @id - premium Boolean @default(false) + id String @id + premium Boolean @default(false) premiumUntil DateTime? - levelCard String @default("https://cdn.mikn.dev/bot-assets/mikanbot/default-lvlcard.png") - rankColor String @default("FF7700") - mdUID String @default("unlinked") + levelCard String @default("https://cdn.mikn.dev/bot-assets/mikanbot/default-lvlcard.png") + rankColor String @default("FF7700") + mdUID String @default("unlinked") } model guildLvl { - id String @id - level Int - xp Int - cooldown DateTime @default(now()) + id String @id + level Int + xp Int + cooldown DateTime @default(now()) } model server { - id String @id - name String - ownerId String - premium Boolean @default(false) - premiumUntil DateTime? - logChannel String @default("none") - prefix String @default("m?") - autoRole String @default("none") - autoRoleChannel String @default("none") - verificationRole String @default("none") - verificationChannel String @default("none") - levelsEnabled Boolean @default(false) - levelsMessage String @default("Congratulations, {user}! You've leveled up to level {level}!") -} \ No newline at end of file + id String @id + name String + ownerId String + premium Boolean @default(false) + premiumUntil DateTime? + logChannel String @default("none") + prefix String @default("m?") + autoRole String @default("none") + autoRoleChannel String @default("none") + verificationRole String @default("none") + verificationChannel String @default("none") + levelsEnabled Boolean @default(false) + levelsMessage String @default("Congratulations, {user}! You've leveled up to level {level}!") +} diff --git a/src/handlers/ratelimit.ts b/src/handlers/ratelimit.ts index dff74f1..2288b04 100644 --- a/src/handlers/ratelimit.ts +++ b/src/handlers/ratelimit.ts @@ -1,8 +1,12 @@ -const { QuickDB, MemoryDriver } = require("quick.db"); -const memoryDriver = new MemoryDriver(); -const db = new QuickDB({ driver: memoryDriver }); +import { createClient } from "redis"; +import { type CommandInteraction } from "discord.js"; -export default function setRatelimit(type, time, user) { +const redis = createClient({ + url: process.env.REDIS_URL, +}); + +export default function setRatelimit(type: string, interaction: CommandInteraction) { if (type == "msg") { + } }