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éthode | Retourne | Description |
|---|---|---|
.setName(name) | this | Définit le nom de la commande |
.setPermissions(perms) | this | Restreint la commande à des permissions spécifiques |
.setMetaData(meta) | this | Attache des métadonnées personnalisées à la commande |
.execute(handler) | this | Dé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,
})
})

