diff options
Diffstat (limited to 'src/context-menu-commands')
-rw-r--r-- | src/context-menu-commands/user/modlog.ts | 34 |
1 files changed, 34 insertions, 0 deletions
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 }); + } +} |