Pular para o conteúdo

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 }}.

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 }}