Files
discordeno/examples/advanced/src/bot.ts
Fleny 27c261fee2 formatter: Use semicolons (#4686)
I prefer semicolors, they also help avoiding certain pitfalls in JavaScript/TypeScript, such as the following code sample:
```js
const xyz = "test"
(something.else as string) = "another"
```
This results in a TypeError: "test" is not a function, this is because js thinks we are trying to call the string "test" as a function.
To fix this it requires a `;` somewhere before the `(`, such as `;(something ... ` which in my opinion is ugly and less clean overall.
2026-01-17 21:54:15 +01:00

57 lines
1.3 KiB
TypeScript

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);