> ## Documentation Index
> Fetch the complete documentation index at: https://wiki.petto.sbs/llms.txt
> Use this file to discover all available pages before exploring further.

# Alertas de rollouts

> O Petto publica em um canal quando o Discord adiciona um experimento ou muda o rollout, com a parte das pessoas que o tem, as variantes e os filtros.

## Visão geral

O Petto pode publicar uma mensagem em um canal quando o Discord **adiciona um experimento** ou **muda a liberação dele** (o rollout): a parcela de pessoas que o têm cresce ou diminui, ou o status dele muda. O cartão mostra o nome, o tipo de experimento, o status, as plataformas, o id, as liberações de cada variante e as faixas delas.

![Um alerta de rollout que menciona Caçadores de experimentos, com o nome, o tipo, o status, as plataformas, o id, os rollouts de cada variante e os intervalos](https://mintcdn.com/wikipetto/LoL7QuPJ71yd9F_N/images/discord/automation/pt-br/rollouts.webp?fit=max\&auto=format\&n=LoL7QuPJ71yd9F_N\&q=85\&s=803ead17fe2e806f930dbb2a11aa98f3)

No Discord: o alerta de um experimento da lista pública, no cartão do Petto.

> [!NOTE]
>
> `!rollouts list` e `!rollouts help` podem ser usados por todos. As configurações precisam da permissão **Gerenciar servidor**. Os dados vêm de uma lista pública dos experimentos do Discord, a [lista de rollouts de agnonotdev](https://gist.github.com/agnonotdev/fb2b6a7ba1301733aa5c2050b3e59a18). O Petto confere essa lista a cada poucos minutos.

## Comandos

```javascript Syntax theme={null}
!rollouts enable <channel> [role]
!rollouts disable
!rollouts role [role]
!rollouts kinds [kinds]
!rollouts events [events]
!rollouts min <points>
!rollouts unrolled <on|off>
!rollouts style <card|template> [saved embed]
!rollouts card <hide|show|reset> [section]
!rollouts color [hex]
!rollouts list
!rollouts queue [clear]
!rollouts test
!rollouts status
!rollouts help
```

```javascript Example theme={null}
!rollouts enable #rollouts @Caçadores de experimentos
!rollouts kinds user guild
!rollouts events new increase
!rollouts min 5
!rollouts color #ff91c2
```

> [accordion] !rollouts enable
>
> ![liam ativa os alertas com Caçadores de experimentos e Petto explica que só a próxima mudança é anunciada](https://mintcdn.com/wikipetto/OcAUaBAyli2de5qV/images/discord/automation/pt-br/rollouts-enable.webp?fit=max\&auto=format\&n=OcAUaBAyli2de5qV\&q=85\&s=1feb813eb77c247e716f2de1b41c2a84)
>
> No Discord: os alertas ligados em #rollouts com um cargo.

> [accordion] !rollouts disable
>
> ![liam desativa os alertas e Petto confirma](https://mintcdn.com/wikipetto/OcAUaBAyli2de5qV/images/discord/automation/pt-br/rollouts-disable.webp?fit=max\&auto=format\&n=OcAUaBAyli2de5qV\&q=85\&s=9df9c99aa5529cf83044568b97f5f7d3)
>
> No Discord: os alertas desligados.

> [accordion] !rollouts role
>
> ![liam coloca Caçadores de experimentos, depois tira o cargo, e Petto confirma cada mudança](https://mintcdn.com/wikipetto/OcAUaBAyli2de5qV/images/discord/automation/pt-br/rollouts-role.webp?fit=max\&auto=format\&n=OcAUaBAyli2de5qV\&q=85\&s=3fc090958a75200a58d1a919564b47c9)
>
> No Discord: o cargo das menções, e nenhum cargo.

> [accordion] !rollouts kinds
>
> ![liam deixa user e guild, depois coloca all, e Petto confirma cada um](https://mintcdn.com/wikipetto/OcAUaBAyli2de5qV/images/discord/automation/pt-br/rollouts-kinds.webp?fit=max\&auto=format\&n=OcAUaBAyli2de5qV\&q=85\&s=760ea41e1d68638a62a8d2a11010acdf)
>
> No Discord: alguns tipos de experimento, e depois todos.

> [accordion] !rollouts events
>
> ![liam deixa new e increase e Petto confirma, depois grow recebe a lista de eventos para escolher](https://mintcdn.com/wikipetto/OcAUaBAyli2de5qV/images/discord/automation/pt-br/rollouts-events.webp?fit=max\&auto=format\&n=OcAUaBAyli2de5qV\&q=85\&s=e4cf3114e6ea3aa1d932e636453c0e44)
>
> No Discord: alguns eventos, e uma palavra que não é.

> [accordion] !rollouts min
>
> ![liam coloca 5, depois 0, e Petto confirma cada um](https://mintcdn.com/wikipetto/OcAUaBAyli2de5qV/images/discord/automation/pt-br/rollouts-min.webp?fit=max\&auto=format\&n=OcAUaBAyli2de5qV\&q=85\&s=b085325a5d1a5a8232a53eaf0985eb7a)
>
> No Discord: mudanças de menos de 5 pontos ignoradas, e depois todas.

> [accordion] !rollouts unrolled
>
> ![liam liga o unrolled e Petto confirma](https://mintcdn.com/wikipetto/OcAUaBAyli2de5qV/images/discord/automation/pt-br/rollouts-unrolled.webp?fit=max\&auto=format\&n=OcAUaBAyli2de5qV\&q=85\&s=2b374b9dc03b07a55ae136d3cb018ce6)
>
> No Discord: também são anunciados os experimentos sem rollout.

> [accordion] !rollouts style
>
> ![liam escolhe rollout-card, depois o cartão de novo, e Petto confirma cada um](https://mintcdn.com/wikipetto/OcAUaBAyli2de5qV/images/discord/automation/pt-br/rollouts-style.webp?fit=max\&auto=format\&n=OcAUaBAyli2de5qV\&q=85\&s=9c9c4b2b3bc75fe2f014e16e64d18266)
>
> No Discord: um embed salvo para os alertas, e de volta ao cartão.

> [accordion] !rollouts card
>
> ![liam esconde e mostra os intervalos e Petto confirma cada coisa](https://mintcdn.com/wikipetto/OcAUaBAyli2de5qV/images/discord/automation/pt-br/rollouts-card.webp?fit=max\&auto=format\&n=OcAUaBAyli2de5qV\&q=85\&s=9df909646108b071ec0b9d57a48b562a)
>
> No Discord: os intervalos escondidos, e depois visíveis de novo.

> [accordion] !rollouts color
>
> ![liam coloca #ff91c2, depois tira, e Petto diz que o cartão não tem cor](https://mintcdn.com/wikipetto/OcAUaBAyli2de5qV/images/discord/automation/pt-br/rollouts-color.webp?fit=max\&auto=format\&n=OcAUaBAyli2de5qV\&q=85\&s=fc4473762b8835575dd8aa970158023f)
>
> No Discord: uma cor para o cartão, e depois sem cor.

> [accordion] !rollouts list
>
> ![nova pede a lista e Petto mostra dez experimentos com a porcentagem, o status e o id, e os botões para passar dez páginas](https://mintcdn.com/wikipetto/OcAUaBAyli2de5qV/images/discord/automation/pt-br/rollouts-list.webp?fit=max\&auto=format\&n=OcAUaBAyli2de5qV\&q=85\&s=12c8b71f4b37f5694f88eaa4999e43e2)
>
> No Discord: os experimentos do mais novo, para todos, com botões de página.

> [accordion] !rollouts queue
>
> ![liam vê 7 alertas esperando, depois esvazia a fila e Petto confirma](https://mintcdn.com/wikipetto/OcAUaBAyli2de5qV/images/discord/automation/pt-br/rollouts-queue.webp?fit=max\&auto=format\&n=OcAUaBAyli2de5qV\&q=85\&s=2feec6c54f6a99b3da12bbadce0c0838)
>
> No Discord: o que está esperando, e a fila esvaziada.

> [accordion] !rollouts test
>
> ![Petto publica o cartão de um experimento real com a etiqueta +12.5%, o tipo, o status, as plataformas, os rollouts e os intervalos, e confirma o teste](https://mintcdn.com/wikipetto/OcAUaBAyli2de5qV/images/discord/automation/pt-br/rollouts-test.webp?fit=max\&auto=format\&n=OcAUaBAyli2de5qV\&q=85\&s=54690516ba038bed4f678f4574101140)
>
> No Discord: um cartão de exemplo com uma mudança inventada de +12.5%.

> [accordion] !rollouts status
>
> ![Petto lista o canal, o cargo, o estilo, os tipos e eventos, o mínimo, o que está escondido, 7 esperando e a lista de experimentos](https://mintcdn.com/wikipetto/OcAUaBAyli2de5qV/images/discord/automation/pt-br/rollouts-status.webp?fit=max\&auto=format\&n=OcAUaBAyli2de5qV\&q=85\&s=a69e9c3167acb14405130c13de8d8b00)
>
> No Discord: as configurações, a fila e o estado da lista.

> [accordion] !rollouts help
>
> ![nova pede ajuda e Petto responde com os comandos para configurar, escolher e conferir os alertas](https://mintcdn.com/wikipetto/OcAUaBAyli2de5qV/images/discord/automation/pt-br/rollouts-help.webp?fit=max\&auto=format\&n=OcAUaBAyli2de5qV\&q=85\&s=1b37171df7e079471d8de549afb4b9bf)
>
> No Discord: como funcionam os alertas, para todos.

> [accordion] Sem Gerenciar servidor
>
> ![nova pede a fila e Petto diz que ela precisa de Gerenciar servidor, e que qualquer um pode usar rollouts list e rollouts help](https://mintcdn.com/wikipetto/OcAUaBAyli2de5qV/images/discord/automation/pt-br/rollouts-refused.webp?fit=max\&auto=format\&n=OcAUaBAyli2de5qV\&q=85\&s=a0f67f78308169141091e32deb5bfbb3)
>
> No Discord: queue precisa de Gerenciar servidor; list e help não.

Nomes curtos: `!rollout` e `!experiments`.

## O que cada um faz

| Comando | O que faz |
| - | - |
| `enable` | Ativa os alertas em um canal, com um cargo opcional para mencionar |
| `kinds` | Só avisa sobre alguns tipos de experimento: `user`, `guild`, `apex_user`, `installation`. Vazio ou `all` para todos |
| `events` | Só avisa sobre alguns eventos: `new`, `increase`, `decrease`, `status`. Vazio ou `all` para todos |
| `min` | Ignora mudanças menores que esta quantidade de pontos, de 0 a 100 |
| `unrolled` | Também anuncia experimentos que ainda não têm liberação |
| `style` | O cartão, ou um dos seus [embeds salvos](https://wiki.petto.sbs/pt-br/resources/scripting/embeds.md) (incluindo designs V2) |
| `card` | Escolhe quais partes o cartão mostra: `variants`, `ranges`, `status`, `platforms`, `filters` |
| `color` | Uma cor para o cartão. Vazio envia o cartão sem cor |
| `list` | Os experimentos do mais novo ao mais antigo, dez por página e até dez páginas, com botões para navegar |
| `queue` | O que está esperando para ser enviado. `queue clear` esvazia a fila |
| `test` | Envia um exemplo aqui, com uma mudança inventada de +12.5% em um experimento real |
| `status` | Suas configurações e o estado da lista |

## O que o cartão mostra

| Parte | Significado |
| - | - |
| Botão | A mudança, como `+12.5% (50%)`: quanto ela mudou e a parcela que tem agora. A cor indica o evento: verde quando cresce, vermelho quando diminui, azul para um experimento novo e cinza para uma mudança de status |
| Parcela | A parte do Discord que o experimento alcança. A lista dá o próprio total; sem ele, os **tratamentos são somados** e o **controle (variante 0) nunca é somado**, nem as variantes que são `not_eligible` |
| Tipo | `user`, `guild`, `apex_user` (um experimento A/B de usuários) ou `installation` |
| Status | `full`, `full_filtered`, `rolling_out`, `rolling_back`, `ab_test`, `segmented`, `overrides_only`, `not_rolled_out`, `unlisted`, `unknown`, ou nenhum ainda |
| Liberações | Uma linha por variante, com a mudança dela. Uma variante é `control` ou `treatment`; as que são `not_eligible` não aparecem. `-1` e `none` aparecem como "Sem variante" |
| Faixas | A parte dos 10000 buckets que cada variante cobre |
| Filtros | Quem pode ter: servidores com um recurso, uma quantidade de membros, uma data de criação, ids de servidores escolhidos, uma parcela por hash, uma URL personalizada, ou usuários em alguns países |

## Quando chegam muitas mudanças

O Discord pode mudar centenas de experimentos em um só dia. Por isso o Petto não envia tudo de uma vez:

* As mudanças esperam em uma **fila** e saem em ordem, uma mensagem a cada poucos segundos.
* A partir de 4 mudanças de uma vez, elas são agrupadas em cartões de até **10 mudanças**.
* Até **1500** mudanças esperam por servidor, e uma com mais de **24 horas** é descartada.
* Se uma mensagem falhar (por exemplo, o Petto perdeu o acesso ao canal), ela é tentada de novo algumas vezes e depois descartada.

`!rollouts queue` mostra quantas estão esperando.

## Seu próprio design

Com `!rollouts style template <saved embed>`, ou pelo dashboard, você pode usar um embed salvo (incluindo um design V2). O dashboard tem uma prévia e deixa você escolher um embed salvo diferente para cada tipo de experimento. O design inicial na página Embeds é igual ao cartão que o Petto envia.

![A caixa Um design diferente para cada tipo com os quatro tipos de experimento, cada um com o design geral](https://mintcdn.com/wikipetto/X8GdsHqKNBomKSYc/images/dashboard/automation/pt-br/rollouts-dashboard-designs.webp?fit=max\&auto=format\&n=X8GdsHqKNBomKSYc\&q=85\&s=7ba67cb1221c58ad99d4ddf597a3c647)

Dashboard → Rollouts → Alertas de rollouts: um embed salvo para cada tipo de experimento.

Um botão que não é um link, como o que mostra a mudança, **parece ativo e não faz nada** quando alguém clica nele.

| Variável | O que mostra |
| - | - |
| `{rollout.name}` | Nome do experimento |
| `{rollout.id}` | ID do experimento |
| `{rollout.kind}` | Experimento de usuários, Experimento de servidores... |
| `{rollout.type}` | Novo experimento, Liberação ampliada, Liberação reduzida ou Status alterado |
| `{rollout.status}` | Em liberação, Totalmente liberado, Teste A/B... |
| `{rollout.percent}` | Parcela do Discord que tem o experimento agora, como 50% |
| `{rollout.from}` / `{rollout.to}` | A parcela antes da mudança (vazio para um novo) e agora |
| `{rollout.change}` | A mudança, como +12.5%, vazio para um novo |
| `{rollout.badge}` | O texto curto do botão, como +12.5% (50%) |
| `{rollout.kind_icon}` | O ícone do Petto para o tipo de experimento |
| `{rollout.event_icon}` | O ícone do Petto para o evento (novo, mais, menos ou recarregar) |
| `{rollout.variants}` | Uma linha por variante com a mudança dela |
| `{rollout.ranges}` | As faixas de cada variante |
| `{rollout.platforms}` | Onde se aplica: android, computador... |
| `{rollout.filters}` | Os filtros do experimento, se houver |
| `{rollout.source}` | A lista de onde vêm os dados |

As [variáveis](https://wiki.petto.sbs/pt-br/resources/scripting/variables.md#rollouts) de sempre do servidor e da data funcionam nos mesmos designs.

## Dashboard

A página **Rollouts** do dashboard tem tudo em um só lugar: o canal e o cargo, os tipos e os eventos, a mudança mínima, o cartão com a prévia e um embed salvo para cada tipo.

![A página Alertas de rollouts do Petto Land: alertas em #rollouts com Caçadores de experimentos, experimentos de usuários e servidores, novos e que crescem, mínimo 5, e um cartão de prévia](https://mintcdn.com/wikipetto/X8GdsHqKNBomKSYc/images/dashboard/automation/pt-br/rollouts-dashboard.webp?fit=max\&auto=format\&n=X8GdsHqKNBomKSYc\&q=85\&s=282200b0d397b707dc01a7c3f9553caa)

Dashboard → Rollouts → Alertas de rollouts: o canal e o cargo, os tipos e eventos, a mudança mínima, o cartão e a prévia.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.