Skip to content

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éTypeDescription
idstringL'identifiant public (Snowflake) de l'émoji personnalisé.
namestringLe nom de l'émoji, sans les deux-points (:) qui l'entourent à l'affichage.
urlstringL'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.
serverIdstringL'identifiant public du serveur auquel appartient cet émoji.
animatedbooleantrue 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:".

ts
console.log(emoji.toString()); // ":pouce_leve:"
console.log(`${emoji}`);       // template literal → appelle toString() implicitement
js
console.log(emoji.toString()); // ":pouce_leve:"
console.log(`${emoji}`);       // template literal → appelle toString() implicitement

Pas 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é.

ts
const emojis = await guild.fetchEmojis();
const outdated = emojis.find((e) => e.name === "ancien_logo");
if (outdated) await outdated.delete();
js
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 ​

ts
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.`);
js
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 ​

ts
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] });
js
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 ​

SDK publié sous licence ISC.