import "dotenv/config";
import { container, SapphireClient } from "@sapphire/framework";
import { GatewayIntentBits } from "discord.js";
import prisma from "./lib/prisma";
declare module "@sapphire/pieces" {
interface Container {
dtb: typeof prisma;
}
}
export class BotClient extends SapphireClient {
public constructor() {
super({
intents: [
GatewayIntentBits.Guilds,
GatewayIntentBits.GuildMessages,
GatewayIntentBits.MessageContent,
GatewayIntentBits.GuildMembers,
],
});
}
public override async login(token?: string): Promise<string> {
console.log("Connecting to database...");
container.dtb = prisma;
console.log("Database connected.");
return super.login(token);
}
public override destroy() {
container.dtb.$disconnect();
return super.destroy();
}
}
import "dotenv/config";
import { container, SapphireClient } from "@sapphire/framework";
import { GatewayIntentBits } from "discord.js";
import prisma from "./lib/prisma";
declare module "@sapphire/pieces" {
interface Container {
dtb: typeof prisma;
}
}
export class BotClient extends SapphireClient {
public constructor() {
super({
intents: [
GatewayIntentBits.Guilds,
GatewayIntentBits.GuildMessages,
GatewayIntentBits.MessageContent,
GatewayIntentBits.GuildMembers,
],
});
}
public override async login(token?: string): Promise<string> {
console.log("Connecting to database...");
container.dtb = prisma;
console.log("Database connected.");
return super.login(token);
}
public override destroy() {
container.dtb.$disconnect();
return super.destroy();
}
}