Passer au contenu principal
Un Message est un message envoyé dans un salon. Vous en obtenez un depuis les événements sur les messages, depuis ce que renvoient send() et reply(), et depuis fetchMessage() et fetchMessages() sur un salon.
Comment envoyer, modifier et lire des messages est dans Envoyer des messages ; tout ce qu’acceptent reply() et edit() est dans Options des messages.
content, embeds et attachments sont vides pour les messages des autres sauf si le Message Content Intent est activé pour votre bot. Les messages qui mentionnent le bot, et les messages privés, ont toujours leur contenu.

Propriétés

Snowflake
L’identifiant unique que Discord lui a donné.
Date
Quand il a été créé : un identifiant Discord contient sa date de création.
User
Qui a écrit le message.
readonly User[]
Les utilisateurs mentionnés dans le message.
Snowflake
L’identifiant du salon du message.
Snowflake | null
L’identifiant du serveur ; null pour un message privé.
TextBasedChannel | null
Le salon du message, quand il est connu.
Guild | null
Le serveur du message ; null pour un message privé.
GuildMember | null
L’auteur en tant que membre du serveur, quand il est connu.
string
Le texte du message. Vide quand le bot n’a pas le droit de le lire : lire les messages des autres demande le Message Content Intent.
MessageType
La sorte de message, sous forme de valeur de MessageType (un message normal, une réponse, un avis d’arrivée…).
Date | null
Quand le message a été modifié pour la dernière fois ; null quand il ne l’a jamais été.
boolean
Si le message est épinglé.
boolean
Si le message a été lu à voix haute.
Embed[]
Les embeds du message. Chaque entrée est un Embed.
Attachment[]
Les fichiers joints au message. Chaque entrée est un Attachment.
Reaction[]
Les réactions sur le message, une entrée par emoji. Chaque entrée est une Reaction.
boolean
Si le message mentionne @everyone ou @here.
readonly Snowflake[]
Les identifiants des rôles mentionnés dans le message.
MessageFlagName[]
Les drapeaux du message, par nom (Ephemeral, SuppressEmbeds…).
Snowflake | null
L’identifiant du webhook qui a envoyé le message, quand c’en est un.
Snowflake | null
L’identifiant du message auquel celui-ci répond, quand c’est une réponse.
boolean
Si une personne l’a écrit : pas un bot, un webhook ou Discord lui-même.
string
Le lien qui ouvre le message dans Discord.

Helpers

Ils lisent ce que le bot sait déjà : ils n’envoient jamais de requête.

toJSON()

Les données de Discord sous forme d’objet simple, avec des noms en camelCase.

Lire depuis Discord

fetch()

Demande à Discord la dernière version du message. Documentation de Discord

fetchReactionUsers()

Les utilisateurs qui ont réagi avec un emoji (100 au plus par appel). Documentation de Discord

Actions

reply()

Répond au message, dans le même salon. Ce qu’elle accepte est un MessageInput. Documentation de Discord

edit()

Modifie le message. Seuls le contenu, les embeds, les composants et les fichiers d’un message écrit par le bot peuvent changer. Les options sont un MessageEditOptions. Documentation de Discord

delete()

Supprime le message. Documentation de Discord

react()

Ajoute une réaction du bot au message. Documentation de Discord

removeReaction()

Retire une réaction : celle du bot, ou celle de l’utilisateur donné. Documentation de Discord

clearReactions()

Retire toutes les réactions du message, ou toutes celles d’un emoji. Documentation de Discord

pin()

Épingle le message dans son salon. Documentation de Discord

unpin()

Désépingle le message. Documentation de Discord

crosspost()

Publie un message d’un salon d’annonces vers les serveurs qui le suivent. Documentation de Discord

startThread()

Démarre un fil depuis le message.
string
requis
Le nom du fil, de 1 à 100 caractères.
number
Au bout de combien de minutes sans activité le fil quitte la liste des salons : 60, 1440, 4320 ou 10080.
number | null
Combien de secondes un membre attend entre deux messages (0 à 21600).
Documentation de Discord

Attendre

Elles attendent ce qui suit sur le message, tant que votre bot tourne : un redémarrage termine l’attente. Comment les utiliser est dans le guide.

waitForClick()

Attend un clic sur un bouton ou un menu de ce message : d’une personne (from), n’importe qui par défaut. Donne le clic, auquel répondre avec click.interaction, ou null quand within (une minute par défaut) est passé avant. Un clic pris ici n’exécute pas le run du bouton ; un bouton qui n’est qu’attendu n’en a pas besoin. Un redémarrage du bot termine l’attente.

waitForReaction()

Attend une réaction ajoutée à ce message : d’une personne (from), celle de n’importe qui sauf un bot par défaut, avec un emoji (emoji), n’importe lequel par défaut. La donne, ou null quand within (une minute par défaut) est passé avant. Un redémarrage du bot termine l’attente.

Types

GuildMessage

Un message d’un serveur : son serveur est connu. C’est ce que donnent les événements sur les messages pour ce qui se passe sur un serveur.
Snowflake
L’identifiant du serveur.
Guild
Le serveur du message.
GuildTextBasedChannel
Le salon du message.

MemberMessage

Un message écrit sur un serveur par un de ses membres : ni un message privé ni le message d’un webhook. C’est ce que donnent les événements sur les messages par défaut. Il a tout ce qu’a GuildMessage, et :
GuildMember
L’auteur en tant que membre du serveur.

PrivateMessage

Un message privé, pour un fichier qui reçoit les deux sortes ({ where: 'both' }) : il n’y a pas de serveur, ce qui permet de le distinguer d’un GuildMessage.
null
Pas de serveur : c’est un message privé.
null
Pas de serveur : c’est un message privé.
null
Pas de membre : l’auteur est author.
DMChannel | null
La conversation privée, quand le bot la connaît.

DmMessage

Un message privé, pour un fichier qui ne reçoit que ceux-là ({ where: 'dm' }) : rien qui concerne un serveur n’existe dessus. guildId, guild et member ne sont même pas proposés par votre éditeur.
DMChannel | null
La conversation privée, quand le bot la connaît.
Vous n’avez besoin de ces noms que pour typer une fonction à vous :

EmojiInput

Un emoji avec lequel réagir : un emoji standard ("👍"), ou un emoji personnalisé. Les méthodes qui en prennent un acceptent :
  • un emoji standard : '👍'
  • un emoji personnalisé tel que l’écrit Discord : '<:name:123456789012345678>' (ou '<a:name:…>' quand il est animé)
  • un emoji personnalisé sous forme d’objet : { id: '123456789012345678', name: 'name' }, ou un GuildEmoji
Un texte vide est refusé avant tout envoi :

MessageFlagName

Le nom d’un drapeau d’un message : une clé de MessageFlags. C’est ce que liste flags.

WaitForClickOptions

Ce que prend waitForClick().
PersonInput
Seulement un clic de cette personne. N’importe qui par défaut. Un PersonInput.
Duration
Combien de temps attendre : '30s', '2m'. Une minute par défaut.

Click

Un clic sur un bouton ou un menu d’un message, tel que le donne waitForClick().
ComponentInteraction
Le clic lui-même : répondez-y comme dans le run d’un bouton, avec update(), reply() ou deferUpdate(). Sans réponse dans les 2 secondes, le bot ne change rien à l’écran pour vous (deferUpdate()).
User
Qui a cliqué.
GuildMember | null
Qui a cliqué, en tant que membre du serveur ; null en message privé.
string
Le nom du bouton ou du menu : le nom de son export.
Readonly<Record<string, string | number | boolean>>
Les données que porte le bouton ou le menu.
readonly string[]
Ce qui a été choisi dans un menu : les valeurs d’un menu de textes, les identifiants des personnes, rôles ou salons des autres. Vide pour un bouton.
(component: ButtonDeclaration<never> | SelectDeclaration<never>) => boolean
Si c’est ce bouton ou ce menu.

WaitForReactionOptions

Ce que prend waitForReaction().
PersonInput
Seulement une réaction de cette personne. N’importe qui sauf un bot par défaut.
string
Seulement cet emoji : un emoji standard ('👍'), ou un emoji personnalisé par son nom, son identifiant ou tel que Discord l’écrit ('<:party:123>').
Duration
Combien de temps attendre : '30s', '2m'. Une minute par défaut.

WaitedReaction

Une réaction ajoutée à un message, telle que la donne waitForReaction().
ReactionEmoji
L’emoji.
User
Qui a réagi.
GuildMember | null
Qui a réagi, en tant que membre du serveur ; null en message privé.

Ailleurs