Skip to main content

Menus contextuels

Les commandes utilisateur et les commandes de message sont maintenant disponibles ! Ces commandes apparaissent dans les menus contextuels des utilisateurs et des messages, et d'autres viendront à l'avenir.

Commandes utilisateur

Les commandes utilisateur sont des commandes d'application qui apparaissent dans le menu contextuel (clic droit ou appui) des utilisateurs. Elles constituent un excellent moyen de mettre en avant des actions rapides de votre application ciblant les utilisateurs.

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: 'Get 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 }))
]
});
}
}

Si tout se passe bien, vous devriez voir quelque chose comme ceci :

Commande utilisateur

Commandes de message

Les commandes de message sont des commandes d'application qui apparaissent dans le menu contextuel (clic droit ou appui) des messages. Elles constituent un excellent moyen de mettre en avant des actions rapides de votre application ciblant les messages.

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 });
}
}

Si tout se passe bien, vous devriez voir quelque chose comme ceci :

Commande de message

Vous pouvez consulter un exemple fonctionnel ici.