Pular para o conteúdo principal
Os cargos de Vanity e de Server Tag fazem parte do Petto. Uma regra dá (ou tira) um cargo quando o perfil do Discord de um membro corresponde: o texto do Status personalizado, o nome de usuário, o nome global, o apelido no servidor ou o nome exibido, ou o Server Tag que ele usa.
Os dois funcionam com o prefixo e como comandos slash (/vanity e /guildtag), que são mais fáceis quando uma regra tem várias opções. Você também pode gerenciar tudo pelo dashboard, em Cargos Vanity. Nomes curtos com o prefixo: !vy para !vanity, !tag, !gt ou !servertag para !guildtag, e !idlog para !identity.

O que dá para fazer

  • Verificar o texto do Status personalizado ou o nome do perfil de um membro e gerenciar um cargo.
  • Verificar o Server Tag que um membro usa (o servidor dele, o texto, ou se ele mostra um) e gerenciar um cargo.
  • Manter um cargo seguro quando várias regras o usam, e nunca tirar um cargo que alguém deu manualmente.
  • Agradecer o membro em um canal quando uma regra passa a corresponder, com um embed salvo de Embeds (clássico ou V2), se quiser.
  • Registrar cada cargo que as regras adicionam ou removem, com um cartão do Petto ou um embed salvo para cada tipo de entrada.
  • Verificar todo mundo de uma vez com uma barra de progresso ao vivo.

Primeira configuração

  1. Dê ao Petto Gerenciar cargos e coloque o cargo dele acima de todos os cargos que uma regra deve adicionar ou remover (Configurações do servidor → Cargos). Caso contrário, o Discord recusa a mudança de cargo.
  2. As regras de Status personalizado precisam da Presence Intent do Petto, que já está ativada.
  3. Crie uma regra, depois confira com !vanity test e aplique com !vanity sync.
liam cria a regra cinnamochi, testa chu, cujo status combina, e sincroniza: 1.840 membros verificados e 12 cargos adicionados

No Discord: passo 3: crie uma regra, teste em um membro e depois aplique a todos.

Você só pode criar regras para cargos abaixo do seu cargo mais alto (o dono pode usar qualquer cargo que o Petto consiga dar). Isso impede que um moderador dê a si mesmo cargos mais altos por meio de uma regra.
kira tenta uma regra que dá Admin e o Petto responde em vermelho que ela só pode usar cargos abaixo do cargo mais alto dela

No Discord: um moderador não pode criar uma regra para um cargo acima do seu cargo mais alto.

Regras de Vanity

Fontes

Crie uma regra

liam cria a regra cinnamochi para o cargo Rep e o Petto confirma, com uma dica para usar !vanity sync

No Discord: !vanity add com os valores padrão.

liam cria a regra com --source, --comparison e --action e o Petto confirma

No Discord: a mesma regra com cada opção escrita como flag.

  • name: um nome curto para a regra (letras, números, - e _);
  • word: o texto a procurar (até 200 caracteres);
  • role: o cargo que a regra gerencia;
  • source: onde procurar (padrão custom_status);
  • comparison: equals, contains (padrão), starts_with, ends_with ou regex;
  • action: add_role (padrão) ou remove_role.
Com o comando slash (/vanity add ou /guildtag add), o Discord pede cada opção uma por uma e mostra as escolhas, então você não precisa decorar as palavras. Os outros comandos abaixo funcionam do mesmo jeito: /vanity list, /vanity test, /vanity sync e assim por diante. Letras maiúsculas e espaços extras não importam. Um regex é limitado a 256 caracteres, e um padrão que não compila é recusado quando você salva a regra.
kira salva uma regra regex com um parêntese aberto e o Petto responde em vermelho que o padrão não é válido

No Discord: um regex que não compila é recusado ao salvar a regra.

Outros comandos

O Petto lista duas regras que dão Rep, invite-link marcada como desligada, e o canal de agradecimentos

No Discord: as regras, a que está desligada e para onde vão os agradecimentos.

liam usa !vanity edit invite-link --enabled true e o Petto confirma que a regra foi atualizada

No Discord: !vanity edit liga uma regra de novo.

liam remove invite-link e o Petto confirma

No Discord: !vanity remove apaga uma regra.

O Petto mostra o status personalizado de chu, a regra cinnamochi que combina e invite-link que não

No Discord: !vanity test: o que cada regra diz sobre um membro, sem mudar nada.

O cartão de progresso do Petto em 60%, 1.104 de 1.840 membros, 48 por segundo, cerca de 16 segundos

No Discord: !vanity sync enquanto roda: a barra de progresso, a contagem e o tempo restante.

O Petto diz que as regras de Vanity foram sincronizadas: 1.840 membros verificados em 38 segundos, 12 cargos adicionados e 3 removidos

No Discord: quando a sincronização termina: membros verificados e cargos adicionados e removidos.

liam sincroniza chu e o Petto diz que verificou chu, com 1 mudança de cargo

No Discord: !vanity sync para um membro.

O Petto explica que o cargo é tirado quando um membro fica offline e depois confirma que agora os membros o mantêm

No Discord: !vanity offline mostra a configuração; com keep ela muda.

Quando um membro fica offline

O Discord esconde o Status personalizado de um membro que está offline ou invisível. Cada servidor escolhe o que o Petto faz com o cargo nesse caso, com !vanity offline (ou /vanity offline) ou no dashboard, em Cargos Vanity:
  • remove (o padrão): quando o Discord avisa que o membro ficou offline, o Petto tira o cargo. Ele devolve quando o membro estiver online com um Status personalizado que corresponda, e agradece de novo.
  • keep: o membro mantém o cargo até ficar online de novo, e ele só sai quando o Petto vê que o status deixou de corresponder.
O Petto só tira cargos que ele mesmo deu, nunca um cargo que alguém deu manualmente. O !vanity sync segue a mesma configuração: com o padrão, ele pede ao Discord os membros com suas presenças e tira o cargo de quem está offline. Se o Discord estiver limitando as requisições e o Petto tiver que usar o que lembra, os membros offline ficam como estão e o resultado avisa que está incompleto. Um membro de quem o Petto não tem a presença nunca é alterado, então uma reinicialização ou uma varredura não consegue tirar os cargos de quem está online. As regras que leem o nome ou o apelido não são afetadas: esses estão sempre visíveis. Se o mesmo cargo também é gerenciado por outra regra que ainda corresponde (uma regra de nome, ou uma regra de Server Tag), o cargo fica.
Com remove, os cargos vêm e vão conforme as pessoas ficam online e offline. Se você tem um registro de mudanças de cargos, ele vai mostrar essas mudanças: desative no registro os eventos de Vanity de que você não precisa, ou escolha keep.
A página Regras de vanity com a opção de offline, o formulário Criar uma regra e duas regras que dão o cargo Rep

Dashboard → Cargos Vanity → Regras de vanity: o que acontece quando um membro fica offline, o formulário para criar uma regra e as regras do servidor.

Regras de Server Tag

liam cria as regras partner, para um ID de servidor, e shows-tag, e o Petto confirma cada uma

No Discord: as duas regras de exemplo de Server Tags.

O !guildtag tem os mesmos list, edit, remove, test, sync, notify e notify-off que o !vanity.
O Petto lista as regras de Server Tag shows-tag e partner com seus cargos

No Discord: !guildtag list.

O Petto mostra que shi usa o tag PETO, que shows-tag combina e partner não

No Discord: !guildtag test: o tag que o Petto lê e quais regras combinam.

O Discord nem sempre envia um evento quando alguém muda o Server Tag. Se uma mudança passou despercebida, !guildtag sync (ou !identity sync) coloca tudo em dia.
O Petto diz que as regras de Server Tag foram sincronizadas: 1.840 membros verificados, 4 cargos adicionados e 1 removido

No Discord: !guildtag sync coloca tudo em dia.

A página Regras de Server Tag com o formulário Criar uma regra e as regras partner e shows-tag

Dashboard → Cargos Vanity → Regras de Server Tag: o formulário para criar uma regra e as regras do servidor.

Como os cargos ficam seguros

  • Um cargo fica enquanto pelo menos uma regra de adicionar corresponde e nenhuma regra de remover corresponde (uma regra de remover sempre vence).
  • O Petto só tira um cargo se lembra de tê-lo adicionado ele mesmo. Um cargo que alguém deu manualmente nunca é removido, mesmo que uma regra depois passe a corresponder e deixe de corresponder.
  • Se o bot não consegue ler um valor agora (o Status personalizado de alguém que está offline ou invisível, porque o Discord o esconde, ou de alguém de quem ele não tem a presença), a regra deixa o cargo como está em vez de tratá-lo como vazio. O cargo só é tirado quando a pessoa está online e o status não corresponde mais.
  • Bots nunca são alterados.
  • Várias regras podem gerenciar o mesmo cargo: é um cargo só. Ele fica enquanto pelo menos uma regra de adicionar corresponde, sai quando nenhuma corresponde (e nenhuma regra de remover corresponde), e o membro recebe um agradecimento por fonte (Vanity e Server Tag), não um por regra. Um cargo que uma regra de Vanity e uma regra de Server Tag gerenciam continua sendo um cargo só.

Mensagens de agradecimento

liam define o agradecimento de Vanity em obrigado e o Petto confirma

No Discord: o agradecimento padrão em um canal.

liam define o agradecimento com o embed my-embed e o Petto confirma

No Discord: com um embed salvo e sem menção.

liam define o agradecimento de Server Tag em tags e o Petto confirma

No Discord: o agradecimento de Server Tag.

liam desliga o agradecimento e o Petto confirma

No Discord: !vanity notify-off.

embed é o nome de um embed salvo de Embeds (deixe vazio para a mensagem simples). Com o comando slash (/vanity notify, /guildtag notify), o Discord lista seus embeds salvos embaixo da opção enquanto você digita, então você só precisa escolher um, e ping é user (padrão) ou none. A mensagem é enviada quando um membro passa a corresponder a uma regra, não a cada atualização. Sem um embed salvo, é um cartão com a foto do membro, o cargo que ele agora tem e a palavra da regra.
O Petto agradece a chu, que agora tem o cargo Rep, com a foto de chu, a palavra cinnamochi e o nome da regra

No Discord: o agradecimento padrão quando um membro começa a atender a uma regra de Vanity.

O embed do Petto Cargo de vanity adicionado agradece a chu, que agora tem Rep

No Discord: o agradecimento feito com o embed salvo my-embed.

O agradecimento de Vanity em obrigado com a mensagem padrão, e o de Server Tag em tags com my-embed e sem menção

Dashboard → Cargos Vanity → Mensagens de agradecimento: o canal, a mensagem e a menção de cada agradecimento.

Registro de mudanças de cargos

liam define o log em registro-staff e o Petto confirma, com como escolher as entradas

No Discord: !identity logs define o canal do log.

liam desliga vanity_add e o Petto diz que essas entradas estão desligadas

No Discord: um tipo de entrada desligado.

liam define my-embed para tag_add e o Petto confirma

No Discord: um embed salvo para um tipo de entrada.

liam desliga o log e o Petto confirma

No Discord: o log desligado.

Os tipos de entrada são vanity_add, vanity_remove, tag_add, tag_remove e error. Sem um embed salvo, cada um é o mesmo embed verde ou vermelho que o bot Vanity usava, com o emoji do Petto, o cargo e o membro, e a palavra (Vanity) ou o motivo (Server Tag). Escolha um embed salvo para uma entrada só se quiser um visual diferente. !identity status mostra toda a configuração, e !identity sync aplica todas as regras de uma vez.
O cartão do Petto com 2 regras de Vanity e 1 de Server Tag, os canais de agradecimento e o canal do log com suas entradas

No Discord: !identity status: regras, agradecimentos e log.

O Petto diz que as regras foram sincronizadas: 1.840 membros verificados, 15 cargos adicionados e 4 removidos

No Discord: !identity sync aplica todas as regras.

Um registro verde de Vanity para chu, um verde de Server Tag para shi com a condição, e um vermelho pelo cargo Rep tirado de kira

No Discord: três registros do log, sem um embed salvo.

O cartão do log de ações da equipe com registro-staff, os cinco tipos de entrada ligados e my-embed para Cargo de Server Tag adicionado

Dashboard → Cargos Vanity → Logs de vanity: o canal, os tipos de entrada e o embed salvo de cada um.

Variáveis para as mensagens

Use estas nos embeds salvos das mensagens de agradecimento e do registro (a lista completa com exemplos está em Variáveis, e em Variáveis no dashboard):
Para uma regra custom_status, {vanity.value} é o Status personalizado atual do membro. Em uma mensagem de Server Tag, {tag} é o texto da tag. Todas as variáveis de sempre ({user.mention}, {guild.name}…) também funcionam.

Cargos que voltam

Os cargos persistentes (!stickyroles enable) devolvem os cargos de um membro quando ele sai e volta. Os cargos das regras de Vanity e de Server Tag são a exceção: as regras os dão de novo se o membro ainda corresponder.

Vindo do bot Vanity

O antigo bot Vanity não é mais necessário. Os dados dele (regras, quem recebeu qual cargo, mensagens de agradecimento, configurações de registro e embeds salvos) são importados para o Petto uma vez pela equipe, então nada se perde e nenhum cargo é tirado. As mensagens que usavam os nomes antigos de variáveis ({role}, {action.text}, {event.title}…) são atualizadas para os novos ({rule.role}, {rule.action_text}, {rule.event_title}…).

Solução de problemas

O cargo não é adicionado

  1. O Petto tem Gerenciar cargos e o cargo dele está acima do cargo de destino.
  2. A fonte certa foi escolhida (custom_status não é o nome de usuário).
  3. O texto corresponde à comparação. Teste com !vanity test @member.
  4. Rode !vanity sync depois de mudar uma regra.

O cargo não é tirado

  1. O servidor pode estar em keep (!vanity offline): nesse caso, um membro offline ou invisível mantém o cargo, porque o Discord esconde o Status personalizado dele. Use !vanity offline remove (o padrão) se quiser que o cargo saia quando ele ficar offline.
  2. O Petto só tira cargos que ele mesmo deu. Um cargo que alguém deu manualmente fica.
  3. Se outra regra que gerencia o mesmo cargo ainda corresponde, o cargo fica. Confira com !vanity test @member.

A mensagem de agradecimento não chega

Confira o !identity status, se o canal é um canal de texto em que o Petto pode escrever, e se o embed salvo existe. A mensagem é enviada quando uma regra passa a corresponder; a mesma correspondência sem mudanças não a repete.

O Server Tag aparece vazio ou atrasado

O Discord pode omitir ou atrasar os dados do Server Tag. Use !guildtag test @member para ver o que o Petto lê e !guildtag sync para colocar em dia.