Emoji
Représente un émoji personnalisé (custom) appartenant à un serveur BloumeChat. Hérite de Base.
Ne confondez pas avec les émojis unicode standards ("👍", "❤️") utilisés par message.react() — cette classe ne modélise que les émojis importés par le serveur (fichiers image, statiques ou animés).
Notation des signatures
Les signatures sont écrites en notation TypeScript, mais s'appellent à l'identique en JavaScript — voir Utiliser le SDK en JavaScript.
Propriétés
| Propriété | Type | Description |
|---|---|---|
id | string | L'identifiant public (Snowflake) de l'émoji personnalisé. |
name | string | Le nom de l'émoji, sans les deux-points (:) qui l'entourent à l'affichage. |
url | string | L'URL directe de l'image de l'émoji. Chaîne vide ("") si ni url ni imageUrl n'étaient présents dans les données reçues — vérifiez avant d'afficher. |
serverId | string | L'identifiant public du serveur auquel appartient cet émoji. |
animated | boolean | true si l'émoji est un GIF animé plutôt qu'une image statique. |
Méthodes
toString(): string
Renvoie l'émoji sous une forme textuelle utilisable dans un message : `:${name}:`.
Retour : string, par exemple ":pouce_leve:".
console.log(emoji.toString()); // ":pouce_leve:"
console.log(`${emoji}`); // template literal → appelle toString() implicitementconsole.log(emoji.toString()); // ":pouce_leve:"
console.log(`${emoji}`); // template literal → appelle toString() implicitementPas un raccourci de rendu universel
toString() renvoie la syntaxe :nom: — c'est la représentation attendue si votre bot compose des messages destinés à être ré-affichés par le client BloumeChat, qui la résout côté rendu. Ce n'est pas l'URL de l'image : utilisez emoji.url si vous avez besoin du lien direct vers le fichier (par exemple pour l'inclure dans un EmbedBuilder.setThumbnail()).
delete(): Promise<void>
Supprime définitivement cet émoji personnalisé du serveur.
Retour : Promise<void>. Rejette si le bot n'a pas la permission de gérer les émojis ou si l'émoji a déjà été supprimé.
const emojis = await guild.fetchEmojis();
const outdated = emojis.find((e) => e.name === "ancien_logo");
if (outdated) await outdated.delete();const emojis = await guild.fetchEmojis();
const outdated = emojis.find((e) => e.name === "ancien_logo");
if (outdated) await outdated.delete();Exemples d'utilisation
Lister les émojis d'un serveur et afficher les animés
const emojis = await guild.fetchEmojis();
const animated = emojis.filter((e) => e.animated);
console.log(`${animated.length} émoji(s) animé(s) sur ${emojis.length} au total.`);const emojis = await guild.fetchEmojis();
const animated = emojis.filter((e) => e.animated);
console.log(`${animated.length} émoji(s) animé(s) sur ${emojis.length} au total.`);Utiliser l'URL d'un émoji dans un embed
import { EmbedBuilder } from "bloumechat";
const emojis = await guild.fetchEmojis();
const logo = emojis.find((e) => e.name === "logo");
const embed = new EmbedBuilder().setTitle("Notre logo").setThumbnail(logo?.url ?? "");
await channel.send({ embeds: [embed] });const { EmbedBuilder } = require("bloumechat");
const emojis = await guild.fetchEmojis();
const logo = emojis.find((e) => e.name === "logo");
const embed = new EmbedBuilder().setTitle("Notre logo").setThumbnail(logo ? logo.url : "");
await channel.send({ embeds: [embed] });Voir aussi
- Guild.fetchEmojis() / deleteEmoji() — méthodes de gestion des émojis au niveau serveur.
- Message.react() — réagir avec un émoji unicode (distinct des émojis personnalisés).
- EmbedBuilder — utiliser
emoji.urldans une image/vignette d'embed.
