# Por que os avisos não são facilmente acessíveis como as suspensões são?

**URL:** https://meta.discourse.org/t/why-arent-warnings-easily-accessible-like-suspensions-are/164043
**Category:** Community Building
**Created:** [Setembro 14, 2020, 10:43pm UTC](https://meta.discourse.org/t/why-arent-warnings-easily-accessible-like-suspensions-are/164043 "2020-09-14T22:43:04Z")
**Posts on this page:** 13
**Page:** 1

<div class="post-metadata">

### Author: ![jericson](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jericson/32/116215_2.png) [@jericson](https://meta.discourse.org/u/jericson)
#### Post date: [Setembro 14, 2020, 10:43pm UTC](https://meta.discourse.org/t/why-arent-warnings-easily-accessible-like-suspensions-are/164043/1 "2020-09-14T22:43:04Z")

</div>

Meu fantoche de meia não tem se comportado bem, então precisei alertá-lo e suspender sua conta:

 ![Screen Shot 2020-09-14 at 3.15.21 PM](https://global.discourse-cdn.com/meta/original/3X/d/6/d6a04cf1b1ab137599ef03f66f09762e13749e15.png)

Ao clicar no link “1 suspensões”, sou levado aos registros de ações da equipe, onde a suspensão dele está listada, o que é bem útil caso ele volte a se comportar mal. Os moderadores podem decidir por quanto tempo suspender a próxima vez.

No entanto, não há nenhum link atrás de “1 alertas”. Revirando os registros, não vejo nenhum relatório de alertas oficiais para o usuário. Consigo ver meu alerta se procurar na caixa de entrada do usuário, mas acredito que outros moderadores não vejam meu alerta lá. Eles conseguem ver a mensagem em si se tiverem o link, mas, além de compartilhar o link por fora, não acredito que exista uma maneira de eles localizá-lo. Pior ainda: não acho que haja uma maneira de outros moderadores saberem _quem alertou o usuário ou quando_.

Talvez eu esteja deixando passar algo, mas isso parece tornar os alertas menos úteis para uma equipe de moderadores e pode levar a erros. Por exemplo, se eu alertar um usuário no primeiro dia por fazer spam do site dele e, depois, ele se tornar um cidadão modelo, a contagem de alertas permanece sem contexto. Então, se esse usuário tiver um dia ruim algum tempo depois, outro moderador pode presumir que ele já foi alertado sobre esse comportamento e aplicar uma suspensão, quando normalmente apenas alertaria. Ou o inverso: o outro moderador pode alertá-lo novamente sobre o mesmo comportamento, em vez de aplicar a suspensão que ele merece.

Em resumo, por que exibir o número de alertas se não há contexto para esse número? Ou, alternativamente, como os moderadores podem ter acesso ao histórico de alertas de um usuário para tomar decisões informadas no futuro?

---

<div class="post-metadata">

### Author: ![Stephen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/stephen/32/95011_2.png) [@Stephen](https://meta.discourse.org/u/Stephen)
#### Post date: [Setembro 14, 2020, 11:02pm UTC](https://meta.discourse.org/t/why-arent-warnings-easily-accessible-like-suspensions-are/164043/2 "2020-09-14T23:02:13Z")

</div>

Os avisos são enviados como MP, e os moderadores não podem ver conversas em MP das quais não eram membros.

É provavelmente melhor saber que um aviso foi emitido, mesmo que não possa ser visto. Um administrador sempre pode fornecer mais detalhes, se for apropriado fazê-lo.

---

<div class="post-metadata">

### Author: ![jericson](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jericson/32/116215_2.png) [@jericson](https://meta.discourse.org/u/jericson)
#### Post date: [Setembro 14, 2020, 11:13pm UTC](https://meta.discourse.org/t/why-arent-warnings-easily-accessible-like-suspensions-are/164043/3 "2020-09-14T23:13:26Z")

</div>

> [@Stephen](#):
>
> moderadores não conseguem ver conversas de MP das quais não eram membros

Você tem certeza de que isso é verdade para MPs marcados como “avisos oficiais”? Usei o recurso de impersonificação para verificar que outro moderador consegue ver a MP se visitar a URL. Além disso, [o código](https://github.com/discourse/discourse/blob/5268568d23d6243a24db9f0f40eaca53c375540f/app/models/topic.rb#L436) parece permitir que moderadores vejam essas MPs como se fossem sinalizadas.

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [Setembro 21, 2020, 12:42am UTC](https://meta.discourse.org/t/why-arent-warnings-easily-accessible-like-suspensions-are/164043/4 "2020-09-21T00:42:03Z")

</div>

> [@jericson](#):
>
> Mas não há nenhum link atrás de “1 aviso”

Pode fornecer uma URL específica para onde você acha que clicar ou tocar nisso deveria levar? 🤔

---

<div class="post-metadata">

### Author: ![jericson](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jericson/32/116215_2.png) [@jericson](https://meta.discourse.org/u/jericson)
#### Post date: [Setembro 23, 2020, 7:29pm UTC](https://meta.discourse.org/t/why-arent-warnings-easily-accessible-like-suspensions-are/164043/5 "2020-09-23T19:29:15Z")

</div>

> [@codinghorror](#):
>
> Você poderia fornecer uma URL específica onde você acha que clicar/toque deveria levar você?

Bem, é meio por isso que fiz a pergunta em primeiro lugar. 😉 Montei o mockup mais sem graça do mundo de [um script para gerar uma página](https://github.com/jericson/vanilla2discourse#show_warningsrb) que seria útil para meus moderadores. Não precisa de muito. Apenas uma lista de avisos com:

1. Data do aviso.
2. Nome do moderador que emitiu o aviso.
3. Um link para o próprio aviso.

(Meu script usa `last_poster_username` para identificar o moderador que enviou, mas isso não é o correto a fazer. Se o usuário responder, aparecerá o nome dele em vez do do moderador. Eu não queria gastar muito tempo tentando descobrir como extrair o nome do usuário remetente via API, no entanto.)

Conversando com meus moderadores, essa é uma funcionalidade de que precisaremos ter antes de migrar do Vanilla. Para mais detalhes sobre meu raciocínio, veja [um post no blog que escrevi recentemente](https://jlericson.com/2020/09/15/cc_moderation.html#private-messages-and-official-warnings). Idealmente, como isso parece ser geralmente útil, seria uma funcionalidade nativa, mas, caso contrário, teremos que construí-la nós mesmos.

A propósito: adoro o cuidado e a dedicação dedicados às ferramentas de moderador no Discourse. É um prazer descobri-las e mal posso esperar para usá-las em produção.

---

<div class="post-metadata">

### Author: ![ClawdiaWolf](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/clawdiawolf/32/262518_2.png) [@ClawdiaWolf](https://meta.discourse.org/u/ClawdiaWolf)
#### Post date: [Setembro 25, 2020, 12:29am UTC](https://meta.discourse.org/t/why-arent-warnings-easily-accessible-like-suspensions-are/164043/6 "2020-09-25T00:29:56Z")

</div>

Sua abordagem provavelmente é melhor do que a que acabei adotando nos meus fóruns. Eu teria que consultar os detalhes, pois faz algum tempo desde que implementei, mas basicamente o que fiz foi usar uma combinação de webhook e um script que utiliza a API para criar um tópico na categoria Padrão de Equipe quando um aviso é emitido, incluindo as informações.

Ter uma página no próprio Discourse que mostre essas informações seria útil. Alternativamente, ficaria satisfeito se marcar a caixa de aviso oficial adicionasse automaticamente o grupo de moderadores ao tópico de mensagem privada, já que atualmente o Discourse (compreensivelmente) não permite usar a opção de aviso oficial se você incluir destinatários adicionais.

---

<div class="post-metadata">

### Author: ![riking](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/riking/32/170938_2.png) [@riking](https://meta.discourse.org/u/riking)
#### Post date: [Setembro 26, 2020, 4:55am UTC](https://meta.discourse.org/t/why-arent-warnings-easily-accessible-like-suspensions-are/164043/7 "2020-09-26T04:55:12Z")

</div>

> [@codinghorror](#):
>
> Você pode fornecer uma URL específica para onde você acha que o clique/toque deveria levá-lo? 🤔

Acho que precisaríamos adicionar um novo filtro de mensagens e apontar o link para `https://meta.discourse.org/u/riking/messages/warnings`.

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [Setembro 26, 2020, 6:12pm UTC](https://meta.discourse.org/t/why-arent-warnings-easily-accessible-like-suspensions-are/164043/8 "2020-09-26T18:12:26Z")

</div>

Claro, se você quiser assumir isso, vá em frente.

---

<div class="post-metadata">

### Author: ![jericson](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jericson/32/116215_2.png) [@jericson](https://meta.discourse.org/u/jericson)
#### Post date: [Janeiro 7, 2021, 6:09pm UTC](https://meta.discourse.org/t/why-arent-warnings-easily-accessible-like-suspensions-are/164043/9 "2021-01-07T18:09:50Z")

</div>

Implementamos uma solução temporária usando o [plugin Data Explorer](https://meta.discourse.org/t/data-explorer-plugin/32566). Escrevi uma consulta que retorna uma lista de avisos para um usuário específico:

```plaintext
-- [params]
-- string :username
select topic_id
from user_warnings
join users u on user_id = u.id
where username = :username

```

Em seguida, tornei a consulta disponível para moderadores. Dessa forma, eles podem acessar `/g/moderators/reports`, selecionar o relatório de avisos oficiais e inserir um nome de usuário. Não é tão prático quanto poder clicar no texto “1 avisos” em um perfil, mas fornece aos moderadores acesso às informações de que precisam.

---

<div class="post-metadata">

### Author: ![Ubik](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ubik/32/89095_2.png) [@Ubik](https://meta.discourse.org/u/Ubik)
#### Post date: [Abril 2, 2021, 12:03am UTC](https://meta.discourse.org/t/why-arent-warnings-easily-accessible-like-suspensions-are/164043/10 "2021-04-02T00:03:59Z")

</div>

Eu mesmo me deparei com isso, vendo um aviso e tentando lembrar o que aconteceu.

Para referência pessoal, inclua o nome de usuário completo (não o @) no aviso (mesmo que pareça um pouco formal) — e, se você tiver seus moderadores, vá em **Adicionar/Remover** e adicione `@moderadores` (ou o título que for usado no seu fórum) ao aviso imediatamente após ele ser enviado; isso coloca o aviso na caixa de entrada pública dos moderadores.

Assim, os moderadores só precisam pesquisar pelo nome de usuário da pessoa e por “Aviso” (assumindo que essa palavra esteja incluída como protocolo), e qualquer pessoa que precise poderá vê-lo imediatamente.

Ver a mensagem seguida imediatamente por `(seu nome de usuário) convidou @moderadores há 1 minuto` também pode fazer com que a mensagem pareça mais séria e mais autoritária.

---

<div class="post-metadata">

### Author: ![riking](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/riking/32/170938_2.png) [@riking](https://meta.discourse.org/u/riking)
#### Post date: [Abril 9, 2021, 1:27am UTC](https://meta.discourse.org/t/why-arent-warnings-easily-accessible-like-suspensions-are/164043/12 "2021-04-09T01:27:58Z")

</div>

Tenho um PR em rascunho para isso, preciso adicionar testes.

> <https://github.com/discourse/discourse/pull/12659>
>
> https://meta.discourse.org/t/why-arent-warnings-easily-accessible-like-suspensio…ns-are/164043
> 
> The second commit gives moderators special dispensation to access the view, with a visible warning that they might not be able to actually read each topic.
> 
> !\[image\](https://user-images.githubusercontent.com/627891/114115578-ef777880-9897-11eb-878a-70452631fe1a.png)

Garanti que **moderadores podem acessar a lista** , e eles recebem esse aviso especial ao fazê-lo:

 ![image](https://global.discourse-cdn.com/meta/original/3X/6/6/66d797b37401929567bb1fcfe635e80f43eed46d.png)

Também está disponível em `/my/messages/warnings` para usuários comuns, mas a interface nunca gerará um link para lá.

---

<div class="post-metadata">

### Author: ![riking](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/riking/32/170938_2.png) [@riking](https://meta.discourse.org/u/riking)
#### Post date: [Junho 14, 2021, 9:01pm UTC](https://meta.discourse.org/t/why-arent-warnings-easily-accessible-like-suspensions-are/164043/13 "2021-06-14T21:01:59Z")

</div>

Isso finalmente foi mesclado 🙂 Desculpem pelo atraso, pessoal!

---

<div class="post-metadata">

### Author: ![riking](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/riking/32/170938_2.png) [@riking](https://meta.discourse.org/u/riking)
#### Post date: [Junho 21, 2021, 3:00pm UTC](https://meta.discourse.org/t/why-arent-warnings-easily-accessible-like-suspensions-are/164043/14 "2021-06-21T15:00:58Z")

</div>

Este tópico foi automaticamente fechado após 5 dias. Novas respostas não são mais permitidas.
