import { configs } from './configs.ts.js'; import type { BotWithCache, BotWithHelpersPlugin} from './deps.ts.js'; import { Collection, createBot, enableCachePlugin, enableCacheSweepers, enableHelpersPlugin, enablePermissionsPlugin, GatewayIntents, } from './deps.ts.js'; import type { Command } from './src/types/commands.ts.js'; // MAKE THE BASIC BOT OBJECT const bot = createBot({ token: configs.token, botId: configs.botId, intents: GatewayIntents.Guilds, events: {}, }); // ENABLE ALL THE PLUGINS THAT WILL HELP MAKE IT EASIER TO CODE YOUR BOT enableHelpersPlugin(bot); enableCachePlugin(bot); enableCacheSweepers(bot as BotWithCache); enablePermissionsPlugin(bot as BotWithCache); export interface BotClient extends BotWithCache { commands: Collection; } // THIS IS THE BOT YOU WANT TO USE EVERYWHERE IN YOUR CODE! IT HAS EVERYTHING BUILT INTO IT! export const Bot = bot as BotClient; // PREPARE COMMANDS HOLDER Bot.commands = new Collection();