From 796d900adb77030533de891dc6e85e3ed8eb5166 Mon Sep 17 00:00:00 2001 From: Almeida Date: Sun, 16 May 2021 11:01:21 +0100 Subject: [PATCH] feat: added membercount command --- backend/src/plugins/Utility/UtilityPlugin.ts | 4 ++++ .../src/plugins/Utility/commands/MemberCountCmd.ts | 13 +++++++++++++ backend/src/plugins/Utility/types.ts | 1 + 3 files changed, 18 insertions(+) create mode 100644 backend/src/plugins/Utility/commands/MemberCountCmd.ts diff --git a/backend/src/plugins/Utility/UtilityPlugin.ts b/backend/src/plugins/Utility/UtilityPlugin.ts index 6da212cd..70c2acb5 100644 --- a/backend/src/plugins/Utility/UtilityPlugin.ts +++ b/backend/src/plugins/Utility/UtilityPlugin.ts @@ -38,6 +38,7 @@ import { ModActionsPlugin } from "../ModActions/ModActionsPlugin"; import { refreshMembersIfNeeded } from "./refreshMembers"; import { RoleInfoCmd } from "./commands/RoleInfoCmd"; import { EmojiInfoCmd } from "./commands/EmojiInfoCmd"; +import { MemberCountCmd } from "./commands/MemberCountCmd"; const defaultOptions: PluginOptions = { config: { @@ -67,6 +68,7 @@ const defaultOptions: PluginOptions = { jumbo_size: 128, can_avatar: false, info_on_single_result: true, + can_membercount: false, }, overrides: [ { @@ -93,6 +95,7 @@ const defaultOptions: PluginOptions = { can_jumbo: true, can_avatar: true, can_source: true, + can_membercount: true, }, }, { @@ -145,6 +148,7 @@ export const UtilityPlugin = zeppelinGuildPlugin()("utility", SnowflakeInfoCmd, RoleInfoCmd, EmojiInfoCmd, + MemberCountCmd, ], onLoad(pluginData) { diff --git a/backend/src/plugins/Utility/commands/MemberCountCmd.ts b/backend/src/plugins/Utility/commands/MemberCountCmd.ts new file mode 100644 index 00000000..e8576079 --- /dev/null +++ b/backend/src/plugins/Utility/commands/MemberCountCmd.ts @@ -0,0 +1,13 @@ +import { utilityCmd } from "../types"; + +export const MemberCountCmd = utilityCmd({ + trigger: "membercount", + description: "Show the amount of members in the server", + usage: "!membercount", + permission: "can_membercount", + + async run({ message: msg, pluginData }) { + const memberCount = pluginData.guild.memberCount.toLocaleString(); + msg.channel.createMessage(`This server has **${memberCount} members**`); + }, +}); diff --git a/backend/src/plugins/Utility/types.ts b/backend/src/plugins/Utility/types.ts index 2da7a559..46778211 100644 --- a/backend/src/plugins/Utility/types.ts +++ b/backend/src/plugins/Utility/types.ts @@ -34,6 +34,7 @@ export const ConfigSchema = t.type({ jumbo_size: t.Integer, can_avatar: t.boolean, info_on_single_result: t.boolean, + can_membercount: t.boolean, }); export type TConfigSchema = t.TypeOf;