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:
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:
Você pode ver um exemplo funcional aqui.