Ir para o conteúdo principal

Menus Contextuais

Comandos do usuário e comandos da mensagem agora estão no ar! Esses comandos aparecem em menus de contexto para usuários e mensagens, com mais por vir no futuro.

Comandos de Usuário

Comandos de usuário são comandos que aparecem no menu contextual de usuários (clique com o botão direito ou toque). Eles são uma ótima maneira de mostrar ações rápidas para os usuários alvo do aplicativo.

app.commands.ts
import { Injectable } from '@nestjs/common';
import { Context, UserCommand, UserCommandContext, TargetUser } from 'necord';
import { User } from 'discord.js';

@Injectable()
export class AppCommands {
@UserCommand({ name: 'Pegar avatar' })
public async getUserAvatar(
@Context() [interaction]: UserCommandContext,
@TargetUser() user: User
) {
return interaction.reply({
embeds: [
new MessageEmbed()
.setTitle(`Avatar ${user.username}`)
.setImage(user.displayAvatarURL({ size: 4096, dynamic: true }))
]
});
}
}

Se tudo der certo, você deve ver algo como isto:

Comando de Usuário

Comandos de Mensagem

Comandos de mensagem são comandos de aplicativo que aparecem no menu contextual (clique com o botão direito ou toque) de mensagens. Eles são uma ótima maneira de mostrar ações rápidas de mensagens para seu aplicativo.

app.commands.ts
import { Injectable } from '@nestjs/common';
import { Context, MessageCommand, MessageCommandContext, TargetMessage } from 'necord';
import { Message } from 'discord.js';

@Injectable()
export class AppCommands {
@MessageCommand({ name: 'Copy Message' })
public async copyMessage(
@Context() [interaction]: MessageCommandContext,
@TargetMessage() message: Message
) {
return interaction.reply({ content: message.content });
}
}

Se tudo der certo, você deve ver algo como isto:

Comandos de Mensagem

Você pode ver um exemplo funcional aqui.