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é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 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,
})
})

