Dados
O código lê os dados do momento em que o comando é usado, com um ponto. Tudo é somente leitura: o código não pode mudar quem é o usuário, apenas pedir ações (Ações).
| Nome | O que é | Campos |
|---|---|---|
.User |
Quem usou o comando | ID, Username, GlobalName, Mention, Avatar (um link), IsBot |
.Member |
A mesma pessoa como membro deste servidor | Nick, DisplayName, RoleIDs (uma lista de IDs), JoinedAt (segundos unix) |
.Guild |
O servidor | ID, Name, MemberCount, Icon (um link) |
.Channel |
O canal onde foi usado | ID, Name, Mention |
.Message |
A mensagem que usou o comando, ou a mensagem em que um botão está | ID, Content, Link, Embeds (uma lista de mapas com Title, Description, Footer, Author, AuthorIcon, FooterIcon, Thumbnail, Image e Color) |
.Args |
O que foi escrito depois do comando, separado por espaços | Uma lista de textos |
.RawArgs |
O mesmo, como um único texto | |
.Cmd |
O nome do comando que foi usado | |
.Prefix |
O prefixo que iniciou o comando: o do servidor, ou o próprio do comando. Vazio para os gatilhos startswith, exact e contains |
|
.Trigger |
Por que o código está rodando: "command", "button", "select", "modal" ou "reaction" |
|
.Button |
Quando um botão ou um menu foi usado: um mapa com ID e Data. nil em um comando |
ID, Data |
.Values |
Quando um menu foi usado, os valores escolhidos. Uma lista vazia nos outros casos | Uma lista de textos |
.Modal |
Quando um formulário (modal) foi enviado: um mapa com ID e Data. Veja Botões e menus |
ID, Data |
.Fields |
Quando um formulário foi enviado: o que foi escrito, pelo id de cada campo, como .Fields.reason |
|
.Reaction |
Quando alguém reagiu: um mapa com Emoji e Added. Veja Reações |
Emoji, Added |
Exemplo:
{{ .User.Username }} escreveu {{ len .Args }} palavras em {{ .Channel.Mention }}.Argumentos
Seção intitulada “Argumentos”Cada argumento é texto, mesmo que seja um número. As funções de matemática entendem um texto que contém um número, então
{{ add (index .Args 0) 1 }} funciona. Para verificar quantos foram dados, use len:
{{ if lt (len .Args) 1 }}Use: {{ .Prefix }}{{ .Cmd }} <algo>{{ return }}{{ end }}Ler um argumento que não existe, como {{ index .Args 3 }} com dois argumentos, é um erro.
.Member.RoleIDs é uma lista de IDs de cargos. Para saber se o membro tem um cargo, use hasRole:
{{ if hasRole "223456789012345678" }}Você tem o cargo.{{ end }}