From b6978b20725efbdb83d4341f15ac250ede28c012 Mon Sep 17 00:00:00 2001 From: IRONM00N <64110067+IRONM00N@users.noreply.github.com> Date: Tue, 24 May 2022 22:02:06 -0400 Subject: feat: ModlogContextMenuCommand --- src/context-menu-commands/user/modlog.ts | 34 ++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 src/context-menu-commands/user/modlog.ts diff --git a/src/context-menu-commands/user/modlog.ts b/src/context-menu-commands/user/modlog.ts new file mode 100644 index 0000000..09d9a61 --- /dev/null +++ b/src/context-menu-commands/user/modlog.ts @@ -0,0 +1,34 @@ +import { ModlogCommand } from '#commands'; +import { BushCommandUtil, BushSlashMessage } from '#lib'; +import { ContextMenuCommand } from 'discord-akairo'; +import { ApplicationCommandType, type ContextMenuCommandInteraction } from 'discord.js'; + +export default class ModlogContextMenuCommand extends ContextMenuCommand { + public constructor() { + super('modlog', { + name: "Users's Modlogs", + type: ApplicationCommandType.User, + category: 'user', + guilds: ['516977525906341928'] + }); + } + + public override async exec(interaction: ContextMenuCommandInteraction) { + if (!interaction.inCachedGuild()) + return interaction.reply({ + content: `${util.emojis.error} You can't use this command outside of a server.`, + ephemeral: true + }); + if (!interaction.member?.permissions.has('ManageMessages')) + return interaction.reply({ + content: `${util.emojis.error} You can't use this command because you have the **Manage Messages** permission.`, + ephemeral: true + }); + + await interaction.deferReply({ ephemeral: true }); + const pseudoMessage = new BushSlashMessage(client, interaction as any); + pseudoMessage.util = new BushCommandUtil(client.commandHandler, pseudoMessage); + + void new ModlogCommand().exec(pseudoMessage, { search: interaction.targetId, hidden: false }); + } +} -- cgit