Saltar al contenido principal

Resumen

Los embeds de Petto son plantillas guardadas: crea una (en Discord o en el dashboard), ponle un nombre y luego úsala por su nombre en comandos personalizados, autorrespuestas, mensajes de bienvenida/despedida/boost, mensajes de sorteos o paneles de tickets. Cambia la plantilla una vez y se actualiza en todos los lugares que la usan.
La página Embeds del dashboard tiene un creador visual completo: una vista previa en vivo igual a Discord, hasta 10 embeds y 5 filas de botones de enlace por plantilla, atajos de formato markdown y una referencia de variables con buscador. Todo lo de abajo también funciona directamente desde Discord.
La página Embeds con welcome_embed abierto: su vista previa con un embed y tres botones, las reacciones, el contenido del mensaje y los campos del embed

Dashboard → Diseño → Embeds: el editor visual, con la vista previa en vivo sobre los campos del mensaje.

Crear y administrar

liam usa !embed create announcement_embed y Petto responde con el panel: botones para el título, la descripción, el color, el autor, el pie, las imágenes, la hora, los campos, y Guardar, Restablecer y Cancelar

En Discord: !embed create abre el panel de edición del embed nuevo.

liam usa !embed preview welcome_embed y Petto muestra el embed con liam mencionado y 1840 miembros

En Discord: !embed preview arma el embed guardado contigo como miembro.

kira pide la vista previa de welcome y Petto dice que no hay ningún embed con ese nombre y cómo crearlo

En Discord: un nombre que no está guardado recibe una pista para crearlo.

liam envía welcome_embed al canal de anuncios y Petto lo confirma

En Discord: !embed send confirma adónde fue el embed.

El embed de bienvenida publicado por Petto en el canal de anuncios

En Discord: el embed como lo ven los miembros en el canal.

liam borra old_rules y Petto lo confirma

En Discord: !embed delete borra un embed guardado.

Petto lista en orden los cinco embeds guardados del servidor

En Discord: !embed list muestra los embeds guardados del servidor.

chu usa !embed vars y Petto muestra las variables del usuario con lo que da cada una, página 1 de 10

En Discord: !embed vars, la primera página de variables, con botones para pasar las páginas.

!embed create abre un panel de edición interactivo con botones para cada campo (título, descripción, color, campos, etc.), no una respuesta de texto simple.
vars muestra la referencia de variables directamente en Discord, por páginas.

Crear desde un código

liam crea welcome con un código y Petto lo confirma y muestra el embed con el título Bienvenido liam

En Discord: un embed hecho con un código se guarda y se muestra al instante.

Todo el embed se puede escribir como un solo código y se guarda y se muestra al instante, sin el panel de edición. Los bloques se unen con &v (también se lee $v), && va entre los valores de un bloque, y el texto antes de {embed} o {message: ...} es el texto del mensaje. Un código puede tener hasta 10 embeds: {embed}&v{...}&v{embed}&v{...}. Un diseño de Components V2 también se puede crear desde un código: pega el código que empieza con p2. (el que te dan el dashboard y el Embed Builder) en el mismo lugar, y el diseño se guarda y se muestra al instante.
liam pega un código p2. y Petto guarda el diseño rules_v2 y lo muestra: las reglas, una imagen y los botones Acepto y petto.sbs

En Discord: un código p2. guarda un diseño Components V2 y lo muestra.

El Generador de códigos de embed de la web arma un mensaje con vista previa y lo copia como un código de una línea. Todo lo que no se admite se avisa y se deja fuera, no se guarda nada si Discord rechazaría el embed, y variables como {user} funcionan dentro de los valores. Discord no permite saltos de línea reales en una opción de comando, así que escribe {newline}. !embed create sin código abre el panel de edición como antes. Con el comando slash, el código va en su opción code (/embed create name code:). Un código con texto de mensaje o botones se guarda en el formato del dashboard y se edita ahí. Mira !embed vars para la página de códigos.
El generador de códigos de embed con un título, una descripción, un color y un botón verde Aceptar, su vista previa y el código de una línea

Generador de códigos de embed (petto.sbs/embed-code): el formulario, la vista previa y el código para copiar.

chu usa !embed vars 10 y Petto lista cada bloque de un código de embed con un ejemplo y el enlace al generador

En Discord: la página del código de !embed vars (página 10).

Enviar y cambiar un código

Un código de embed funciona en más lugares que !embed create:
  • Autorrespuestas: escribe el código como respuesta, !autoresponder add test, {embed}$v{description: Hola {user.mention}} --reply. Mira Autorrespuestas para los flags.
  • Cambiar un mensaje que Petto ya envió: !editembed lo reemplaza con un código nuevo.
liam usa !editembed con el enlace de un mensaje y un código con dos embeds, y Petto confirma que cambió el mensaje en anuncios

En Discord: !editembed confirma el cambio con un enlace al mensaje.

El mensaje de Petto en anuncios ahora tiene dos embeds, Texto nuevo y Un segundo embed

En Discord: el mensaje después de !editembed: exactamente lo que dice el código nuevo.

Necesita Gestionar mensajes en ese canal y solo funciona con mensajes que envió Petto. Lo que el código nuevo no define se borra, así que el mensaje queda exactamente como dice el código. Un mensaje hecho con Components V2 no se puede convertir en un mensaje con embed normal; envía uno nuevo con !embed send.
liam apunta !editembed a un mensaje de kira y Petto responde en rojo que solo puede cambiar sus propios mensajes

En Discord: !editembed rechaza un mensaje que no envió Petto.

Si a un bloque le falta su llave de cierre, por ejemplo {message: {user.mention}$v{description: ...}, el bloque termina donde empieza el siguiente y Petto te avisa, en vez de leer el resto del código como texto.
liam usa un código cuyo bloque message perdió su llave; Petto cambia el mensaje y agrega una línea que dice que un bloque se cerró antes del siguiente

En Discord: un bloque sin su llave de cierre: el mensaje se cambia y Petto dice dónde se cerró el bloque.

Botones con acción

Además de los botones de enlace, un código puede tener botones que hacen algo al pulsarlos:
Un embed Reglas de Petto con un botón verde Aceptar, uno azul Ver las reglas y uno gris Por privado

En Discord: el código de ejemplo enviado en el canal de reglas: tres botones con acciones.

Debajo del mensaje de reglas Petto le responde a Mia, solo a ella, que se agregó el rol Miembros

En Discord: un clic en Aceptar da el rol, y solo quien hizo clic ve la respuesta.

Petto le muestra a Mia el embed guardado de reglas con las cuatro reglas, como un mensaje que solo ella ve

En Discord: Ver las reglas responde con el embed guardado, solo a quien hizo clic.

Petto le dice a Mia, solo a ella, que le envió el embed por mensaje directo

En Discord: Por privado envía el embed por mensaje directo y lo avisa.

El embed de reglas en un mensaje directo de Petto

En Discord: el embed guardado en los mensajes directos de quien hizo clic.

<rol> es una mención, un ID o el nombre del rol. Un botón puede tener hasta 4 acciones (por ejemplo dar un rol y mostrar un embed a la vez) y un código hasta 5 botones, en una fila. Petto solo cambia roles que estén por debajo de su rol más alto, que no sean de una integración, y necesita el permiso Gestionar roles. Lo que hace cada botón queda dentro del propio botón, así que sigue funcionando después de reiniciar Petto.
Los botones con acción también se hacen sin escribir código: en el generador de códigos y en el creador de embeds del dashboard, cada botón puede ser Enlace o Acción (con color, rol o embed guardado).
La sección Botones del editor: Aceptar las reglas da un rol, Ver las reglas muestra un embed guardado y petto.sbs es un enlace

Dashboard → Diseño → Embeds: cada botón es un Enlace o una Acción, con su color, emoji y acciones.

Enviar mensajes con !send

Solo los miembros con Gestionar mensajes en el servidor pueden usar !send (y petto send, !message send y /message send). El permiso se comprueba primero, en todas las formas de enviar, y sin él Petto rechaza en privado. Petto también necesita ver y escribir en el canal.
liam envía un texto que menciona el rol Miembros a anuncios y Petto lo confirma

En Discord: !send confirma con un enlace al mensaje.

El mensaje de Petto en anuncios con la mención de Miembros y el enlace

En Discord: el mensaje tal como lo envió Petto.

liam envía un embed Reglas con un botón Aceptar a reglas y Petto lo confirma

En Discord: un código de embed con un botón enviado al canal de reglas.

El embed Reglas con el botón verde Aceptar

En Discord: el embed y su botón en el canal.

Envía un mensaje como Petto. Puede ser texto con saltos de línea, enlaces, menciones de roles, un código de embed, y las imágenes, videos o archivos que adjuntes al comando (hasta 10). Si no pones canal, se envía en el actual; si respondes a un mensaje de ese canal, el mensaje enviado también le responde.
  • Necesitas Gestionar mensajes en ese canal, y Petto necesita poder escribir ahí (y Adjuntar archivos o Insertar enlaces si hace falta).
  • Los pings siguen tus permisos: las personas siempre, un rol solo si se puede mencionar, y @everyone o roles bloqueados solo si tienes Mencionar a todos.
  • Las variables como {user.mention} y {server_name} se rellenan contigo como miembro.
  • Un código con botones que dan o quitan roles necesita que tengas Gestionar roles y que esos roles estén por debajo de tu rol más alto; un botón que muestra un embed necesita que ese embed exista.
kira intenta enviar un botón que da el rol Admin y Petto dice que ese rol no está por debajo de su rol más alto

En Discord: un botón con un rol por encima de tu rol más alto se rechaza.

Editar campos

liam usa !embed edit title en welcome_embed, Petto dice que se actualizó y la vista previa muestra el cambio

En Discord: !embed edit title, y luego !embed preview muestra el título nuevo, con su enlace, en la vista previa.

liam usa !embed edit description en welcome_embed, Petto dice que se actualizó y la vista previa muestra el cambio

En Discord: !embed edit description, y luego !embed preview muestra la descripción nueva, con su salto de línea.

liam usa !embed edit color en welcome_embed, Petto dice que se actualizó y la vista previa muestra el cambio

En Discord: !embed edit color, y luego !embed preview muestra el color nuevo de la barra lateral.

liam usa !embed edit author en welcome_embed, Petto dice que se actualizó y la vista previa muestra el cambio

En Discord: !embed edit author, y luego !embed preview muestra la línea del autor con su icono.

liam usa !embed edit thumbnail en welcome_embed, Petto dice que se actualizó y la vista previa muestra el cambio

En Discord: !embed edit thumbnail, y luego !embed preview muestra la imagen pequeña arriba a la derecha, de {user_avatar}.

liam usa !embed edit image en welcome_embed, Petto dice que se actualizó y la vista previa muestra el cambio

En Discord: !embed edit image, y luego !embed preview muestra la imagen grande debajo del embed.

liam usa !embed edit timestamp en welcome_embed, Petto dice que se actualizó y la vista previa muestra el cambio

En Discord: !embed edit timestamp, y luego !embed preview muestra la hora del mensaje en el pie.

Campos (los pares nombre/valor)

liam agrega el campo Reglas a welcome_embed, Petto cuenta 2 de 25 y la vista previa muestra los dos campos

En Discord: !embed field add: el segundo campo, Reglas, en la vista previa.

liam quita el campo 1 de welcome_embed y la vista previa ya no tiene el campo Miembros

En Discord: !embed field remove 1: el primer campo ya no está.

Hasta 25 campos por embed. position empieza en 1, según el orden que muestra !embed preview.

Usar un embed guardado

Usa un embed guardado en !customcommand en vez de un texto de respuesta simple; embed_template tiene prioridad sobre response.
Una autorrespuesta puede enviar un embed guardado (--embed_template), un código de embed escrito como respuesta, o el modo de embed en línea más ligero (color, título, pie).
Cada subcomando setup (!welcome setup, !leave setup, !boost setup, !dmonjoin setup) tiene una opción embed que tiene prioridad sobre el message simple. El message también puede ser un código de embed escrito allí mismo, así configuras el canal y el embed (con sus botones) en un solo comando.
Tanto !ticket panel create como !ticket category add aceptan un embed guardado para el mensaje del panel o el mensaje de bienvenida del ticket.
Varios embeds guardados (o códigos de embed) pueden ser las páginas de un mismo mensaje, con botones para pasarlas: !pagination create #reglas reglas_generales y luego !pagination add. Mira Paginación.

Reacciones

Un embed guardado puede llevar hasta 5 reacciones: emojis que Petto agrega al mensaje cuando lo envía. En el editor del dashboard van en el campo Reacciones, separadas por espacios (un emoji personalizado se escribe <:name:id>). Es lo mismo que escribir {reactreply:emoji} en el texto por cada uno, y se pueden usar ambos juntos. Se ponen en el mensaje cuando se envía con !embed send, desde autorrespuestas y comandos personalizados, en mensajes fijos, paneles, respuestas de partners, la bienvenida de subidas y un mensaje honeypot.
El embed de la noche de juegos de Petto en anuncios con las reacciones ✅, 🤔 y ❌ ya puestas

En Discord: un embed guardado con tres reacciones, enviado con !embed send.

El dashboard y el Embed Builder

Un mensaje hecho en el dashboard se puede enviar al Embed Builder con un código para compartir, y un mensaje enviado desde el Embed Builder se puede abrir en el dashboard para seguir editándolo. El dashboard también puede enviar un mensaje de prueba a un canal antes de que lo guardes.
El cuadro Probar y compartir con el selector de canal, Enviar prueba, Copiar código para compartir, Copiar JSON y Abrir en Embed Generator

Dashboard → Diseño → Embeds: Probar y compartir: envía una prueba a un canal o a tus mensajes directos, copia el código para compartir o el JSON, o ábrelo en el Embed Generator.

Embeds V2

La página Embeds del dashboard también tiene un editor V2 para los mensajes de Components V2 de Discord: contenedores, texto, imágenes, secciones, divisores y filas de botones. Un diseño V2 se guarda como cualquier otro embed y se puede usar en las alertas de Misiones, sanciones, el starboard, los mensajes de verificación y de bump, y con !embed send y !embed preview. Sus textos y enlaces usan las variables de siempre. Todo lo que Discord rechazaría se limpia antes de enviarse.
El diseño rules_v2 abierto en el editor V2, con su vista previa y los primeros componentes del contenedor

Dashboard → Diseño → Embeds: el editor V2: la vista previa, luego el contenedor con su texto, divisor, imagen y fila de botones.

Un diseño V2 se comparte con el Embed Builder con un código que empieza con p2.. Un botón de un diseño V2 (en una fila de botones, o junto a una sección) es un enlace o una acción. Un botón de acción tiene un color (azul, verde, gris o rojo), un emoji opcional y hasta cuatro acciones: dar, quitar o alternar un rol, o mostrar un embed guardado (solo a quien lo pulsó, en el canal o por mensaje directo), igual que los botones con acción de los códigos de embed. Un botón cuyos roles ya no existen se deja fuera.
liam usa !embed preview rules_v2 y Petto muestra el contenedor con las reglas de Petto Land, la imagen y dos botones

En Discord: un diseño V2 mostrado con !embed preview.

Los bloques de texto de un diseño V2 también aceptan menciones silenciosas: !@Rol muestra la mención sin avisar a nadie.

Variables dentro de los embeds

Cada texto de un embed (texto del mensaje, título, descripción, campos, autor, pie, textos de los botones) y cada enlace (URL, miniatura, imagen, iconos) acepta las variables. Cuáles tienen datos depende de qué envía el embed: una bienvenida rellena al miembro nuevo, un sorteo las {gw.*}, una sanción las {case.*}.
Ejemplo
Resultado (para !embed preview profile)
chu crea profile con el código y pide la vista previa: el nombre y la foto de chu, Miembro de Petto Land desde una fecha, el rol más alto Moderadores y el ID de chu

En Discord: el código de profile, y luego !embed preview profile con chu como miembro.

Algunas cosas a tener en cuenta:
  • !embed preview rellena las variables contigo como miembro y con el canal actual, así ves un resultado real. Las variables de un evento (un nivel, un caso, un sorteo) quedan vacías ahí.
  • La vista previa en vivo del dashboard las rellena con datos de ejemplo (un miembro llamado Liam), y un mensaje de prueba enviado desde el dashboard usa tu cuenta real.
  • Los timestamps de Discord ({timestamp}, {gw.ends}, {case.expires}, <t:…>) se muestran en el texto del mensaje, las descripciones y los valores de los campos. En títulos, pies y nombres de autor Discord muestra el código tal cual, así que usa {date} o palabras simples ahí.
  • Un campo cuyo nombre o valor queda vacío se omite, así que un campo hecho solo de una variable desaparece cuando esa variable no tiene datos.
  • Un enlace de imagen que queda vacío o no es un enlace válido simplemente se omite.
En el texto del mensaje de un código de embed y en el texto de un diseño V2, un ! antes de una mención (!@everyone, !@Rol, !<@&id>, !{user.mention}) la muestra sin avisar a nadie, y \!@everyone muestra el texto. En el título, la descripción, los campos y el pie de un embed una mención nunca avisa, así que el ! solo se quita. Mira Menciones silenciosas.