Passer au contenu principal
De petites fonctions et des types exportés par chapterjs pour écrire des messages et travailler avec des identifiants et des images.
Comment envoyer ce qu’ils produisent est dans le guide Messages ; tout ce qu’un message peut contenir est dans Options des messages.

Mentions

Une structure mise dans un texte devient sa mention : ${user} est <@id>, ${channel} est <#id>, ${role} est <@&id>. Quand vous n’avez qu’un identifiant, utilisez ces fonctions. Elles fabriquent du texte ; Discord le transforme en mention à l’affichage du message.

userMention()

<@USER_ID> : mentionne un utilisateur.

channelMention()

<#CHANNEL_ID> : fait un lien vers un salon.

roleMention()

<@&ROLE_ID> : mentionne un rôle.

commandMention()

</NAME:COMMAND_ID> : une commande slash cliquable. Le nom comprend le groupe et la sous-commande quand il y en a ("foo group bar").

emojiMention()

<:NAME:ID> ou <a:NAME:ID> : un emoji personnalisé.

GuildNavigation

Types de navigation du serveur : des liens vers un onglet du serveur courant. Mettez la valeur telle quelle dans un message. Documentation de Discord

Dates

timestamp()

<t:TIMESTAMP> ou <t:TIMESTAMP:STYLE> : une date montrée à chaque lecteur dans son fuseau horaire et sa langue. Les horodatages sont exprimés en secondes. Un number est un nombre de millisecondes depuis l’époque Unix, comme Date.now(). Quelque chose qui n’est pas une date lève une TypeError :

TimestampStyle

Comment timestamp() est affiché. Sans style, Discord utilise LongDateShortTime. Documentation de Discord

Identifiants

Snowflake

Un identifiant Discord : un nombre de 64 bits écrit sous forme de chaîne.
Chaque id en est un, et chaque option qui prend un identifiant prend un Snowflake. C’est du texte parce que le nombre est trop grand pour un number JavaScript : ne le transformez jamais en nombre.

isSnowflake()

Si une valeur ressemble à un identifiant Discord : sert à refuser une mauvaise valeur (un nom, une mention, un nombre) avant qu’elle ne soit envoyée à Discord.

snowflakeTimestamp()

Quand a été créé ce qu’identifie un snowflake, en millisecondes depuis l’époque Unix : (snowflake >> 22) + 1420070400000. Les structures ont déjà createdAt ; ceci est pour un identifiant seul.

snowflakeFromTimestamp()

Le plus petit snowflake créé à un moment donné : permet à une pagination before / after de partir d’une date.
Une date d’avant l’existence de Discord lève une RangeError :
Documentation de Discord

Images

ImageOptions

Ce que prend chaque méthode qui se termine par URL : user.avatarURL(), member.avatarURL(), guild.iconURL(), guild.bannerURL(), guild.splashURL(), role.iconURL(), emoji.url()…
ImageFormat
Le format du fichier. Par défaut : WebP, que recommande Discord puisqu’il fonctionne pour les images fixes et animées, quoi qui ait été téléversé.
ImageSize
La taille en pixels : une puissance de deux entre 16 et 4096.
boolean
false pour obtenir la première image d’une image animée. Par défaut, une image animée reste animée.
Ce que vous obtenez suit quelques règles :
  • Demander 'gif' pour une image qui n’est pas animée donne un PNG à la place.
  • Une image animée ne reste animée qu’en WebP (par défaut) ou en GIF ; animated: false donne sa première image.
  • Une mauvaise valeur lève une RangeError avant qu’aucune URL ne soit fabriquée :

ImageFormat

ImageSize

La taille d’une image peut être n’importe quelle puissance de deux entre 16 et 4096.
Documentation de Discord