import { createBot, type logger as discordenoLogger, Intents, LogDepth } from '@discordeno/bot'; import { createProxyCache } from 'dd-cache-proxy'; import { configs } from './config.js'; const rawBot = createBot({ token: configs.token, intents: Intents.Guilds, desiredProperties: { interaction: { id: true, type: true, data: true, token: true, guildId: true, member: true, }, guild: { id: true, name: true, roles: true, ownerId: true, }, role: { id: true, guildId: true, permissions: true, }, member: { id: true, roles: true, }, channel: { id: true, }, user: { id: true, username: true, discriminator: true, }, }, }); export const bot = createProxyCache(rawBot, { desiredProps: { guild: ['id', 'name', 'ownerId', 'roles'], roles: ['id', 'guildId', 'permissions'], }, cacheInMemory: { guild: true, role: true, default: false, }, }); // By default, bot.logger will use an instance of the logger from @discordeno/bot, this logger supports depth and we need to change it, so we need to say to TS that we know what we are doing with as (bot.logger as typeof discordenoLogger).setDepth(LogDepth.Full);