Ir al contenido

Datos

El código lee los datos del momento en que se usa el comando, con un punto. Todo es de solo lectura: el código no puede cambiar quién es el usuario, solo pedir acciones (Acciones).

Nombre Qué es Campos
.User Quien usó el comando ID, Username, GlobalName, Mention, Avatar (un enlace), IsBot
.Member La misma persona como miembro de este servidor Nick, DisplayName, RoleIDs (una lista de ID), JoinedAt (segundos unix)
.Guild El servidor ID, Name, MemberCount, Icon (un enlace)
.Channel El canal donde se usó ID, Name, Mention
.Message El mensaje que usó el comando, o el mensaje en el que está un botón ID, Content, Link, Embeds (una lista de mapas con Title, Description, Footer, Author, AuthorIcon, FooterIcon, Thumbnail, Image y Color)
.Args Lo que se escribió después del comando, separado por espacios Una lista de textos
.RawArgs Lo mismo, como un solo texto
.Cmd El nombre del comando que se usó
.Prefix El prefijo que inició el comando: el del servidor, o el propio del comando. Vacío para los activadores startswith, exact y contains
.Trigger Por qué corre el código: "command", "button", "select", "modal" o "reaction"
.Button Cuando se usó un botón o un menú: un mapa con ID y Data. nil en un comando ID, Data
.Values Cuando se usó un menú, los valores elegidos. Una lista vacía en otro caso Una lista de textos
.Modal Cuando se envió un formulario (modal): un mapa con ID y Data. Mira Botones y menús ID, Data
.Fields Cuando se envió un formulario: lo que se escribió, por el id de cada campo, como .Fields.reason
.Reaction Cuando alguien reaccionó: un mapa con Emoji y Added. Mira Reacciones Emoji, Added

Ejemplo:

{{ .User.Username }} escribió {{ len .Args }} palabras en {{ .Channel.Mention }}.

Cada argumento es texto, aunque sea un número. Las funciones de matemáticas entienden un texto que contiene un número, así que {{ add (index .Args 0) 1 }} funciona. Para comprobar cuántos se dieron, usa len:

{{ if lt (len .Args) 1 }}Usa: {{ .Prefix }}{{ .Cmd }} <algo>{{ return }}{{ end }}

Leer un argumento que no existe, como {{ index .Args 3 }} con dos argumentos, es un error.

.Member.RoleIDs es una lista de ID de roles. Para saber si el miembro tiene un rol, usa hasRole:

{{ if hasRole "223456789012345678" }}Tienes el rol.{{ end }}