mirror of
https://github.com/ahmadk953/poixpixel-discord-bot.git
synced 2025-05-10 02:33:06 +00:00
50 lines
1.5 KiB
TypeScript
50 lines
1.5 KiB
TypeScript
import { Client, Events } from 'discord.js';
|
|
|
|
import { ensureDbInitialized, setMembers } from '@/db/db.js';
|
|
import { loadConfig } from '@/util/configLoader.js';
|
|
import { Event } from '@/types/EventTypes.js';
|
|
import { scheduleFactOfTheDay } from '@/util/factManager.js';
|
|
import { scheduleGiveaways } from '@/util/giveaways/giveawayManager.js';
|
|
|
|
import {
|
|
ensureRedisConnection,
|
|
setDiscordClient as setRedisDiscordClient,
|
|
} from '@/db/redis.js';
|
|
import { setDiscordClient as setDbDiscordClient } from '@/db/db.js';
|
|
import { loadActiveBans } from '@/util/helpers.js';
|
|
|
|
export default {
|
|
name: Events.ClientReady,
|
|
once: true,
|
|
execute: async (client: Client) => {
|
|
try {
|
|
const config = loadConfig();
|
|
setRedisDiscordClient(client);
|
|
setDbDiscordClient(client);
|
|
|
|
await ensureDbInitialized();
|
|
await ensureRedisConnection();
|
|
|
|
const guild = client.guilds.cache.find(
|
|
(guilds) => guilds.id === config.guildId,
|
|
);
|
|
if (!guild) {
|
|
console.error(`Guild with ID ${config.guildId} not found.`);
|
|
return;
|
|
}
|
|
|
|
const members = await guild.members.fetch();
|
|
const nonBotMembers = members.filter((m) => !m.user.bot);
|
|
await setMembers(nonBotMembers);
|
|
|
|
await loadActiveBans(client, guild);
|
|
|
|
await scheduleFactOfTheDay(client);
|
|
await scheduleGiveaways(client);
|
|
|
|
console.log(`Ready! Logged in as ${client.user?.tag}`);
|
|
} catch (error) {
|
|
console.error('Failed to initialize the bot:', error);
|
|
}
|
|
},
|
|
} as Event<typeof Events.ClientReady>;
|