Le contexte ctx

Mode code

Chaque gestionnaire reçoit ctx : les informations sur ce qui vient de se passer, et toutes les actions possibles.

Informations

PropriétéContenuPrésente
ctx.memberLe membre concerné : id, mention, name, username, avatar, bot, accountAgeDays, joinedDays, rolesPresque toujours (pas dans every)
ctx.serverid, name, memberCount, icon, roles (100 max), channels (200 max)Toujours
ctx.configLes réglages choisis par l’admin, par cléToujours
ctx.argsLes options de la commande : { ville: 'Paris' }. Membre, salon, rôle : leur identifiant.Commande, autocomplétion
ctx.subcommand, ctx.subcommandGroupLa sous-commande utiliséeCommande
ctx.messageid, content, channelId, urlmessageCreate, messageDelete, reactionAdd
ctx.reactionemoji, name, channelIdreactionAdd
ctx.voice.channelId, ctx.voice.channelNameLe salon vocalvoiceJoin, voiceLeave
ctx.roleid, nameroleAdded
ctx.buttonid, arg (la valeur passée au bouton)module.button, module.form
ctx.selectid, value, valuesmodule.select
ctx.formid, values (réponses par clé)module.form
ctx.itemL’élément de la lignemodule.row
ctx.taskLes données passées à ctx.latermodule.task
ctx.eventLes données brutes de l’événement DiscordÉvénements avancés, audioEnd
ctx.focusedname, value : l’option en cours de saisiemodule.autocomplete
ctx.targetLe membre ou le message viséuserMenu, messageMenu
ctx.interactionid, channelId, locale, guildLocaleCommandes, boutons, menus, formulaires

Le membre

JavaScript
module.command('profil', async (ctx) => {
  const m = ctx.member;
  await ctx.reply({
    title: m.name,
    thumbnail: m.avatar,
    infos: [
      { label: 'Compte créé', value: 'il y a ' + m.accountAgeDays + ' jours' },
      { label: 'Sur le serveur', value: 'depuis ' + m.joinedDays + ' jours' },
      { label: 'Rôles', value: m.roles.map((r) => '<@&' + r + '>').join(' ') || 'aucun' },
    ],
  });
});

Actions

ctx regroupe aussi toutes les actions. Les plus courantes sont directement dessus (ctx.reply, ctx.send, ctx.addRole…), les autres sont rangées par thème :

GroupePourGuide
ctx.reply, ctx.send, ctx.dm, ctx.edit…Répondre et envoyerRépondre
ctx.storage, ctx.collection, ctx.memory, ctx.points, ctx.coinsGarder des donnéesDonnées
ctx.later, ctx.sleepLe tempsTemps
ctx.messages, ctx.channels, ctx.roles, ctx.members, ctx.guild…Tout DiscordAPI Discord
ctx.discordLes appels bruts à l’API DiscordAPI Discord
ctx.fetchInternetInternet
ctx.voiceLe vocalVocal
Le contexte ctx · Documentation Opale