Guide discord.js
Autres interactions

Menus contextuels

Les menus contextuels sont des commandes d'application qui apparaissent lors d'un clic droit ou d'une pression sur un utilisateur ou un message, dans le sous-menu Applications.

Cette page est un suivi de la section commandes slash. Veuillez lire attentivement ces pages d'abord afin que vous puissiez comprendre les méthodes utilisées dans cette section.

Inscription des commandes du menu contextuel

Pour créer une commande de menu contextuel, utilisez la classe ContextMenuCommandBuilder. Vous pouvez ensuite définir le type du menu contextuel (utilisateur ou message) en utilisant la méthode setType().

const { ContextMenuCommandBuilder, ApplicationCommandType } = require('discord.js');

const data = new ContextMenuCommandBuilder().setName('User Information').setType(ApplicationCommandType.User);

Réception des interactions de commande du menu contextuel

Les commandes de menus contextuels, tout comme les commandes slash, sont reçues via une interaction. Vous pouvez vérifier si une interaction donnée est un menu contextuel en invoquant la méthode isContextMenuCommand(), ou les méthodes isMessageContextMenuCommand() et isUserContextMenuCommand() pour vérifier le type spécifique d'interaction du menu contextuel :

client.on(Events.InteractionCreate, (interaction) => {
	if (!interaction.isUserContextMenuCommand()) return;
	console.log(interaction);
});

Extraction de données des menus contextuels

Pour les menus contextuels des utilisateurs, vous pouvez obtenir l'utilisateur ciblé en accédant à la propriété targetUser ou targetMember de la UserContextMenuCommandInteraction.

Pour les menus contextuels des messages, vous pouvez obtenir le message ciblé en accédant à la propriété targetMessage de la MessageContextMenuCommandInteraction.

client.on(Events.InteractionCreate, (interaction) => {
	if (!interaction.isUserContextMenuCommand()) return;
	// Get the User's username from context menu
	const { username } = interaction.targetUser;
	console.log(username);
});

Remarques

  • Les commandes du menu contextuel ne peuvent pas avoir de sous-commandes ou d'options.
  • Répondre aux commandes du menu contextuel fonctionne de la même manière que les commandes slash. Reportez-vous à notre guide réponses aux commandes slash pour plus d'informations.
  • Les permissions des commandes du menu contextuel fonctionnent également de la même manière que les commandes slash. Reportez-vous à notre guide permissions des commandes slash pour plus d'informations.