API Reference

GlyriaUserCommand

Le constructeur de commandes de menu contextuel utilisateur.

Vue d'ensemble

GlyriaUserCommand est le constructeur utilisé pour définir des commandes de menu contextuel utilisateur Discord. Elles apparaissent lorsqu'un utilisateur effectue un clic droit sur un utilisateur, dans la section Applications.

export default new GlyriaUserCommand()
  .setName("Voir le profil")
  .execute(async (ctx) => {
    const user = ctx.targetUser

    await ctx.reply({
      content: `Profil de ${user.username}`,
      flags: djs.MessageFlags.Ephemeral,
    })
  })
GlyriaUserCommand est disponible globalement — aucun import n'est nécessaire.

GlyriaUserCommand

Méthodes

MéthodeRetourneDescription
.setName(name)thisDéfinit le nom de la commande
.setPermissions(perms)thisRestreint la commande à des permissions spécifiques
.setMetaData(meta)thisAttache des métadonnées personnalisées à la commande
.execute(handler)thisDéfinit le gestionnaire de la commande
Les commandes de menu contextuel utilisateur ne prennent pas en charge les descriptions, les options ou les sous-commandes — il s'agit d'une limitation de l'API Discord.

.setPermissions()

Restreint la commande aux membres possédant des permissions Discord spécifiques. Accepte un bigint, un number ou une string.

export default new GlyriaUserCommand()
  .setName("Avertir l'utilisateur")
  .setPermissions(djs.PermissionsBitField.Flags.ModerateMembers)
  .execute(async (ctx) => {
    // seuls les membres possédant la permission ModerateMembers peuvent utiliser ceci
  })

.setMetaData()

Attache des métadonnées personnalisées à la commande. Accepte n'importe quel objet clé-valeur — Glyria les stocke telles quelles et ne les interprète jamais.

export default new GlyriaUserCommand()
  .setName("Voir le profil")
  .setMetaData({
    category: "utility",
    cooldown: 3000,
  })
  .execute(async (ctx) => {
    // votre logique ici
  })

Les métadonnées sont accessibles à l'exécution via useCommands() :

const commands = useCommands()

// [
//   {
//     name: "Voir le profil",
//     description: "",
//     meta: { category: "utility", cooldown: 3000 }
//   },
// ]
useCommands() est disponible globalement — aucun import n'est nécessaire. Le registre est automatiquement rempli au démarrage du bot.

.execute()

Définit le gestionnaire de la commande. Reçoit une UserContextMenuCommandInteraction — l'utilisateur ciblé est accessible via ctx.targetUser.

export default new GlyriaUserCommand()
  .setName("Voir le profil")
  .execute(async (ctx) => {
    const user = ctx.targetUser

    await ctx.reply({
      content: `Profil de ${user.username}`,
      flags: djs.MessageFlags.Ephemeral,
    })
  })
Copyright © 2026