Exemples

Embeds V2

Créez des messages Discord riches avec le builder Embed V2 de glyria.js.

glyria.js inclut un builder de première classe pour les Components V2 de Discord — le nouveau système de mise en page des messages qui remplace les embeds classiques.

Embed basique

const embed = new EmbedV2Builder()
  .container({ accentColor: 0x5865F2 })
    .textDisplay("# Bonjour !")
    .textDisplay("Bienvenue sur le serveur.")
  .end()
  .build()

await ctx.reply({ ...embed })
Faites toujours un spread du résultat de .build() directement dans votre réponse — pas dans embeds: [].

Séparateur

Ajoutez un espacement visuel entre les sections :

new EmbedV2Builder()
  .container()
    .textDisplay("Section une")
    .separator({ spacing: "large" })
    .textDisplay("Section deux")
  .end()
  .build()

Section avec accessoire

Une section associe du texte avec un bouton ou une miniature à droite :

new EmbedV2Builder()
  .container()
    .section()
      .textDisplay("Choisissez votre rôle")
      .buttonAccessory({ label: "Choisir", customId: "role_picker", style: "primary" })
    .end()
  .end()
  .build()

Ligne d'actions avec boutons

new EmbedV2Builder()
  .container()
    .textDisplay("Êtes-vous sûr ?")
    .actionRow()
      .button({ label: "Confirmer", customId: "confirm", style: "success" })
      .button({ label: "Annuler", customId: "cancel", style: "danger" })
    .end()
  .end()
  .build()

Galerie média

Affichez jusqu'à 10 images dans une grille :

new EmbedV2Builder()
  .container()
    .textDisplay("Galerie")
    .mediaGallery([
      { url: "https://example.com/image1.png" },
      { url: "https://example.com/image2.png", description: "Une légende" },
    ])
  .end()
  .build()

Plusieurs containers

Vous pouvez chaîner plusieurs containers dans un seul message :

new EmbedV2Builder()
  .container({ accentColor: 0x57F287 })
    .textDisplay("✅ Action terminée")
  .end()
  .separator()
  .container()
    .textDisplay("Voici les détails...")
  .end()
  .build()

Styles de boutons

StyleCas d'utilisation
primaryAction principale — nécessite customId
secondaryAction secondaire — nécessite customId
successAction positive — nécessite customId
dangerAction destructive — nécessite customId
linkURL externe — nécessite url
Copyright © 2026