Pular para o conteúdo principal

Variáveis de Mensagem

Variáveis de Mensagem permitem que você ajuste dinamicamente o conteúdo de sua mensagem com base no contexto. Isso é especialmente útil em respostas a comandos personalizados e componentes interativos.

Para usar uma variável em sua mensagem basta colocar {{ .VariableName }} onde você deseja que o valor apareça. Por exemplo, coloque {{ .Interaction.User.Mention }} no conteúdo da sua mensagem para pingar o usuário que usou o comando. Por favor, note o ponto (.) na frente de cada nome de variável!

Variáveis em Botão Variáveis em Resposta

Lista de Variáveis

VariávelTipoDescrição
.Interaction.UsertextMencione o usuário que usou o comando ou componente interativo.
.Interaction.User.IDtextO ID do usuário que usou o comando ou componente interativo.
.Interaction.User.NametextO nome de exibição ou nome de usuário do usuário que usou o comando ou componente interativo.
.Interaction.User.UsernametextO nome de usuário do usuário que usou o comando ou componente interativo.
.Interaction.User.DiscriminatortextO discriminador do usuário que usou o comando ou componente interativo.
.Interaction.User.AvatartextO hash do avatar do usuário que usou o comando ou componente interativo.
.Interaction.User.AvatarURLtextA URL do avatar do usuário que usou o comando ou componente interativo.
.Interaction.User.GlobalNametextO nome de exibição do usuário que usou o comando ou componente interativo.
.Interaction.User.MentiontextMencione o usuário que usou o comando ou componente interativo.
.ServertextO nome do servidor onde o comando ou componente interativo foi usado.
.Server.IDtextO ID do servidor onde o comando ou componente interativo foi usado.
.Server.NametextO nome do servidor onde o comando ou componente interativo foi usado.
.Server.DescriptiontextA descrição do servidor onde o comando ou componente interativo foi usado.
.Server.IcontextO hash do ícone do servidor onde o comando ou componente interativo foi usado.
.Server.IconURLtextA URL do ícone do servidor onde o comando ou componente interativo foi usado.
.Server.BannertextO hash do banner do servidor onde o comando ou componente interativo foi usado.
.Server.BannerURLtextA URL do banner do servidor onde o comando ou componente interativo foi usado.
.Server.MemberCounttextO número aproximado de membros do servidor onde o comando ou componente interativo foi usado. (pode ser impreciso)
.Server.BoostCounttextO número de boosts do servidor onde o comando ou componente interativo foi usado.
.Server.BoostLeveltextO nível de boosts do servidor onde o comando ou componente interativo foi usado.
.ChanneltextMencione o canal onde o comando ou componente interativo foi usado.
.Channel.IDtextO ID do canal onde o comando ou componente interativo foi usado.
.Channel.NametextO nome do canal onde o comando ou componente interativo foi usado.
.Channel.MentiontextMencione o canal onde o comando ou componente interativo foi usado.
.Channel.TopictextO tópico do canal onde o comando ou componente interativo foi usado.
.Interaction.CommandtextMencione o comando que foi usado.
.Interaction.Command.IDtextO ID do comando que foi usado.
.Interaction.Command.NametextO nome do comando que foi usado.
.Interaction.Command.Args.my_argtext / user / channel / role / attachmentO valor de um dos argumentos do comando. Substitua my_arg pelo nome do argumento. Dependendo do tipo do argumento do comando, isso pode ter variáveis sub como .Interaction.Command.Args.my_arg.ID para o ID de um usuário.

Uso Avançado

Subséculo as variáveis de mensagem são alimentadas por Go Templates que suportam mais do que apenas variáveis básicas. Você pode fazer if statements, loops, e muito mais!

Abaixo estão alguns exemplos de o que você pode fazer, mas para mais informações leia a documentação do Go Template.

Exemplo de Loop

List the roles of the user that has used the custom command or interactive component:

{{ range .Interaction.User.Roles -}}
{{- .Mention -}}
{{- end }}

Observe o ponto (., também conhecido como cursor) que abrange todos os dados ativos disponíveis para uso no sistema de template, ou seja, sempre se refere ao contexto atual. No loop ele se refere ao item atual, neste caso um dos cargos.

Observe também o traço (-) dentro de cada ação que é usado para eliminar todos os espaços em branco de ambos os lados.

Exemplo de If-Else

Verifique se o servidor tem mais de 5 boosts e responda com base nisso.

{{ if gt .Server.BoostCount 5 -}}
Seu servidor tem muitos boosts!
{{- else -}}
Seu servidor não tem muitos boosts ainda :(
{{- end }}

Observe o traço (-) dentro de cada ação que é usado para eliminar todos os espaços em branco de ambos os lados.