import { ActivityType } from "discord.js"; const typeMap = { Playing: ActivityType.Playing, Watching: ActivityType.Watching, Listening: ActivityType.Listening, Competing: ActivityType.Competing, }; export default { name: "clientReady", async execute(client) { client.logger.info( `Logged in as ${client.bot.user.tag} on ${client.bot.guilds.cache.size} guilds` ); var members = 0; client.bot.guilds.cache.forEach((guild) => { members += guild.memberCount; }); client.logger.info( `Serving ${members} users in ${client.bot.channels.cache.size} channels` ); client.bot.user.setStatus("online"); const messages = client.config.statusMessages; const intervalSec = client.config.statusInterval ?? 30; let index = 0; const updatePresence = () => { const { type, text } = messages[index % messages.length]; client.bot.user.setPresence({ activities: [{ name: text, type: typeMap[type] ?? ActivityType.Playing, }], status: "online", }); index++; }; setInterval(updatePresence, intervalSec * 1000); updatePresence(); }, };