himbot/mod.ts
2023-05-30 01:13:53 -06:00

55 lines
1.2 KiB
TypeScript

import {
ActivityTypes,
createBot,
enableCachePlugin,
enableCacheSweepers,
fastFileLoader,
GatewayIntents,
startBot,
} from "./deps.ts";
import { logger } from "./src/utils/logger.ts";
import { events } from "./src/events/mod.ts";
import { updateCommands } from "./src/utils/helpers.ts";
const log = logger({ name: "Main" });
log.info("Starting Bot, this might take a while...");
const paths = ["./src/events", "./src/commands"];
await fastFileLoader(paths).catch((err) => {
log.fatal(`Unable to Import ${paths}`);
log.fatal(err);
Deno.exit(1);
});
export const bot = enableCachePlugin(
createBot({
token: Deno.env.get("BOT_TOKEN") || "",
intents:
GatewayIntents.Guilds |
GatewayIntents.DirectMessages |
GatewayIntents.MessageContent |
GatewayIntents.GuildMessages,
events,
})
);
enableCacheSweepers(bot);
bot.gateway.manager.createShardOptions.makePresence = (shardId: number) => {
return {
shardId,
status: "online",
activities: [
{
name: "🫠",
type: ActivityTypes.Game,
createdAt: Date.now(),
},
],
};
};
await startBot(bot);
await updateCommands(bot);