There are 2 types of context menu actions, depending on what the end user is opening the context menu on.
import { Interaction } from 'detritus-client'
import { MessageFlags } from 'detritus-client/lib/constants'
import { BaseContextMenuUserCommand, ContextMenuUserArgs } from '../../base'
export default class InformationCommand extends BaseContextMenuUserCommand {
name = 'Avatar'
async run (context: Interaction.InteractionContext, args: ContextMenuUserArgs): Promise<void> {
await context.editOrRespond({
embed: {
description: `${args.user.mention}'s avatar`,
image: {
url: `${args.user.avatarUrl}?size=512`
}
},
flags: MessageFlags.EPHEMERAL
})
}
}
import { Interaction } from 'detritus-client'
import { MessageFlags } from 'detritus-client/lib/constants'
import { BaseContextMenuMessageCommand, ContextMenuMessageArgs } from '../../base'
export default class InformationCommand extends BaseContextMenuMessageCommand {
name = 'Message ID'
async run (context: Interaction.InteractionContext, args: ContextMenuMessageArgs): Promise<void> {
await context.editOrRespond({
embed: {
description: `Message ID: ${args.message.id}`
},
flags: MessageFlags.EPHEMERAL
})
}
}