From c352a08295ccf49e42a41e4c2217ed512db3c13d Mon Sep 17 00:00:00 2001 From: Vermium Sifell Date: Mon, 24 Oct 2022 01:05:04 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=92=A1=20=F0=9F=94=8A=20=F0=9F=8E=A8=20?= =?UTF-8?q?=E2=99=BB=EF=B8=8F=20updatePresence=20Handler?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/handlers/updatePresence/index.ts | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/src/handlers/updatePresence/index.ts b/src/handlers/updatePresence/index.ts index 55a7d95..9fdb486 100644 --- a/src/handlers/updatePresence/index.ts +++ b/src/handlers/updatePresence/index.ts @@ -4,17 +4,26 @@ import logger from "../../middlewares/logger"; // Function export default (client: Client) => { - if (!client?.user) throw new Error("Client's user is undefined."); - const { guilds } = client; + // 1. Destructure the client. + const { guilds, user } = client; + if (!user) throw new Error("No user found"); + // 2. Get the total number of guilds and members. const memberCount = guilds.cache.reduce((a, g) => a + g.memberCount, 0); const guildCount = guilds.cache.size; - const status = `${memberCount} users in ${guildCount} guilds.`; - client.user.setPresence({ - activities: [{ type: ActivityType.Watching, name: status }], - status: "online", + // 3. Set the presence. + user.setPresence({ + activities: [ + { + name: `${guildCount} guilds | ${memberCount} members`, + type: ActivityType.Watching, + }, + ], }); - logger.info(`Client's presence is set to "${status}"`); + // 4. Log the presence. + return logger.info( + `👀 Presence set to "${guildCount} guilds | ${memberCount} members"` + ); };