API Reference

GlyriaMessageCommand

Le constructeur de commandes de menu contextuel de message.

Vue d'ensemble

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

export default new GlyriaMessageCommand()
  .setName("Traduire")
  .execute(async (ctx) => {
    const message = ctx.targetMessage

    await ctx.reply({
      content: `Traduction de : "${message.content}"`,
      flags: djs.MessageFlags.Ephemeral,
    })
  })
GlyriaMessageCommand est disponible globalement — aucun import n'est nécessaire.

GlyriaMessageCommand

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 de message 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 GlyriaMessageCommand()
  .setName("Supprimer le message")
  .setPermissions(djs.PermissionsBitField.Flags.ManageMessages)
  .execute(async (ctx) => {
    // seuls les membres possédant la permission ManageMessages 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 GlyriaMessageCommand()
  .setName("Traduire")
  .setMetaData({
    category: "utility",
    cooldown: 5000,
  })
  .execute(async (ctx) => {
    // votre logique ici
  })

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

const commands = useCommands()

// [
//   {
//     name: "Traduire",
//     description: "",
//     meta: { category: "utility", cooldown: 5000 }
//   },
// ]
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 MessageContextMenuCommandInteraction — le message ciblé est accessible via ctx.targetMessage.

export default new GlyriaMessageCommand()
  .setName("Traduire")
  .execute(async (ctx) => {
    const message = ctx.targetMessage

    await ctx.reply({
      content: `Traduction de : "${message.content}"`,
      flags: djs.MessageFlags.Ephemeral,
    })
  })
Copyright © 2026