🔍 /
🧭 Guia

🧩 Componentes V2

Monte mensagens com Container, TextDisplay, Section, Separator, Thumbnail e MediaGallery em vez de content/embeds.

Components V2 é um jeito diferente de montar mensagens: em vez de content (texto simples) e embeds, você monta a mensagem inteira com blocos visuais — Container, TextDisplay, Section, Separator, Thumbnail e MediaGallery. Ative passando { componentsV2: true } como opção nas funções de envio/resposta.

on command("perfil", message, args)
  let card = Container()
    :setAccentColor("#7C8FFF")
    :addComponents(
      TextDisplay("**" .. message.author.username .. "**"),
      Separator():setSpacing("small"),
      Section("Nível 12 · 3.450 XP")
        :setAccessory(Thumbnail(message.author.avatarURL))
    )

  message.reply({ componentsV2: true, components: [card] })
end

Os blocos disponíveis:

  • Container() — a caixa que agrupa tudo. .addComponents(...componentes) adiciona TextDisplay/Section/Separator/MediaGallery (ou um Button/SelectMenu, que vira uma linha) dentro dela; .setAccentColor(v) define a cor da barra lateral; .setSpoiler(v) marca o conteúdo como spoiler.
  • TextDisplay(texto?) — um bloco de texto (aceita Markdown). .setContent(v) define/troca o texto.
  • Section(texto?) — texto com um acessório ao lado. .setText(v) define o texto principal; .setAccessory(v) recebe um Thumbnail() ou um Button() com style link.
  • Separator() — linha divisória entre blocos. .setDivider(v) mostra/esconde a linha; .setSpacing(v) aceita "small" ou "large".
  • Thumbnail(url?) — miniatura de imagem. .setURL(v) define a imagem; .setDescription(v) é o texto alternativo (acessibilidade); .setSpoiler(v) marca como spoiler.
  • MediaGallery() — galeria de mídia. .addItem(url, descricao?, spoiler?) adiciona uma imagem ou vídeo.
⚠️ Atenção: Regra do Discord: com componentsV2: true a mensagem não pode ter content nem embeds — todo o texto vira TextDisplay() dentro dos componentes.

Funciona em sendMessage, sendDM, message.reply/edit, user.send, channel.send, topic.send e interaction.reply/update/edit/followUp.

💡 Dica: A tabela completa de métodos de cada componente está na Referência do Logic Script.

Páginas relacionadas