From 772d13fd94d113d36ce71c8da7a86e43d8a63e20 Mon Sep 17 00:00:00 2001 From: Dragory <2606411+Dragory@users.noreply.github.com> Date: Sat, 22 May 2021 13:32:27 +0300 Subject: [PATCH] Add total time taken to !massban result message --- .../plugins/ModActions/commands/MassBanCmd.ts | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/backend/src/plugins/ModActions/commands/MassBanCmd.ts b/backend/src/plugins/ModActions/commands/MassBanCmd.ts index 17209038..49110e79 100644 --- a/backend/src/plugins/ModActions/commands/MassBanCmd.ts +++ b/backend/src/plugins/ModActions/commands/MassBanCmd.ts @@ -12,6 +12,8 @@ import { waitForReply } from "knub/dist/helpers"; import { ignoreEvent } from "../functions/ignoreEvent"; import { CasesPlugin } from "../../../plugins/Cases/CasesPlugin"; import { LogType } from "../../../data/LogType"; +import { performance } from "perf_hooks"; +import { humanizeDurationShort } from "../../../humanizeDurationShort"; export const MassbanCmd = modActionsCmd({ trigger: "massban", @@ -54,6 +56,7 @@ export const MassbanCmd = modActionsCmd({ const loadingMsg = await msg.channel.createMessage("Banning..."); // Ban each user and count failed bans (if any) + const startTime = performance.now(); const failedBans: string[] = []; const casesPlugin = pluginData.getPlugin(CasesPlugin); for (const [i, userId] of args.userIds.entries()) { @@ -84,6 +87,9 @@ export const MassbanCmd = modActionsCmd({ } } + const totalTime = performance.now() - startTime; + const formattedTimeTaken = humanizeDurationShort(totalTime); + // Clear loading indicator loadingMsg.delete().catch(noop); @@ -103,10 +109,16 @@ export const MassbanCmd = modActionsCmd({ sendSuccessMessage( pluginData, msg.channel, - `Banned ${successfulBanCount} users, ${failedBans.length} failed: ${failedBans.join(" ")}`, + `Banned ${successfulBanCount} users in ${formattedTimeTaken}, ${failedBans.length} failed: ${failedBans.join( + " ", + )}`, ); } else { - sendSuccessMessage(pluginData, msg.channel, `Banned ${successfulBanCount} users successfully`); + sendSuccessMessage( + pluginData, + msg.channel, + `Banned ${successfulBanCount} users successfully in ${formattedTimeTaken}`, + ); } } },