From debaaccf4cea61142ef759d60ef7779698ab2e95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tr=C3=A8sAbhi?= <43380238+tresabhi@users.noreply.github.com> Date: Sat, 25 Nov 2023 20:40:11 -0600 Subject: [PATCH] feat: presence --- .vscode/settings.json | 1 + src/core/discord/client.ts | 3 ++- src/events/ready.ts | 22 ++++++++++++++++++++-- 3 files changed, 23 insertions(+), 3 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 45f0cf251..1c0d191e7 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -15,6 +15,7 @@ "fuzzysort", "immer", "kranvagn", + "krieg", "Leaderboard", "leaderboards", "MURICA", diff --git a/src/core/discord/client.ts b/src/core/discord/client.ts index d79c653d5..3b9e6bbd8 100644 --- a/src/core/discord/client.ts +++ b/src/core/discord/client.ts @@ -1,10 +1,11 @@ import { Client, GatewayIntentBits } from 'discord.js'; import guildMemberAdd from '../../events/guildMemberAdd'; import interactionCreate from '../../events/interactionCreate'; +import ready from '../../events/ready'; export const client = new Client({ intents: [GatewayIntentBits.Guilds, GatewayIntentBits.GuildMembers], }) - // .on('ready', ready) + .on('ready', ready) .on('guildMemberAdd', guildMemberAdd) .on('interactionCreate', interactionCreate); diff --git a/src/events/ready.ts b/src/events/ready.ts index 3c24d0ab2..d589d2941 100644 --- a/src/events/ready.ts +++ b/src/events/ready.ts @@ -1,5 +1,23 @@ -import { Client } from 'discord.js'; +import { ActivityType, Client } from 'discord.js'; export default function ready(client: Client) { - console.log(`🟢 Launched bot ${client.shard?.ids[0]}`); + console.log(`🟢 Launched bot ${client.shard?.ids[0] ?? 'default'}`); + + const activities: (() => string)[] = [ + () => `Living in ${client.guilds.cache.size.toLocaleString()} servers`, + () => + `Serving ${client.guilds.cache + .reduce((accumulator, guild) => accumulator + guild.memberCount, 0) + .toLocaleString()} users`, + () => `Observing ${client.channels.cache.size.toLocaleString()} channels`, + ]; + + client.user.setPresence({ + activities: [ + { + type: ActivityType.Custom, + name: activities[Math.floor(Math.random() * activities.length)](), + }, + ], + }); }