# Аккаунт оставлен в состоянии молчания без проверки после удаления пользователем поста, помеченного как спам

**URL:** https://meta.discourse.org/t/account-left-silenced-without-review-when-user-deletes-spam-flagged-post/392090
**Category:** Bug
**Tags:** moderation, ai, spam
**Created:** [24.Декабрь.2025 14:09:13 UTC](https://meta.discourse.org/t/account-left-silenced-without-review-when-user-deletes-spam-flagged-post/392090 "2025-12-24T14:09:13Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![per1234](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/per1234/32/569645_2.png) [@per1234](https://meta.discourse.org/u/per1234)
#### Post date: [24.Декабрь.2025 14:09:13 UTC](https://meta.discourse.org/t/account-left-silenced-without-review-when-user-deletes-spam-flagged-post/392090/1 "2025-12-24T14:09:13Z")

</div>

### Приоритет/Серьезность:

Средний

### Платформа:

Версия Discourse `b66fca70d0e3d12ef930398289fac5269cd240c7`.

### Описание:

Discourse предоставляет [автоматизированную систему обнаружения спама](https://meta.discourse.org/t/discourse-ai-spam-detection/343541). Действия, выполняемые системой при обнаружении спам-сообщения, включают:

- замолчание аккаунта автора сообщения
- пометку сообщения флагом

Флаг привлекает внимание человеческих сотрудников к автоматизированным действиям для проверки. Поскольку автоматизированная система склонна к ложным срабатываниям, проверка человеком является обязательной.

Если автор помеченного сообщения удаляет его после времени постановки флага (что он может счесть необходимым сделать после получения уведомления о том, что его сообщение помечено), элемент проверки автоматически помечается как разрешенный. Вывод, используемый при разрешении, — «проигнорировано».

🐛 Аккаунт пользователя остается в состоянии замолчания. Человеческие сотрудники не будут осведомлены о действии автоматизированной системы и, следовательно, не проведут необходимую проверку действия замолчания.

### Шаги для воспроизведения:

1. Войдите в аккаунт с правами администратора на форуме Discourse.
2. Используя аккаунт администратора, измените пользовательские инструкции на `/admin/plugins/discourse-ai/ai-spam`, чтобы обеспечить возможность обнаружения спама в тестовом сообщении (например, указав в инструкциях, что сообщения, содержащие уникальный произвольный ключевой слово, всегда должны считаться спамом).
3. Создайте временный аккаунт на форуме.  
**ⓘ** Для этой цели необходимо использовать новый аккаунт, поскольку функция Discourse AI Spam сканирует только первые три сообщения, созданные каждым пользователем.
4. Используя временный аккаунт, создайте сообщение, которое будет обнаружено как спам из-за пользовательских инструкций, настроенных на предыдущем шаге.
5. Дождитесь получения временным аккаунтом уведомления о том, что сообщение скрыто.
6. Используя временный аккаунт, удалите сообщение.
7. Используя аккаунт администратора, перейдите в очередь проверки, установив фильтр «Статус» на «Ожидание» (настройка по умолчанию): `/review`  
🐛 Нет элемента проверки в ожидании для действия системы обнаружения спама.
8. Используя аккаунт администратора, перейдите на страницу профиля временного аккаунта пользователя.

🐛 Аккаунт пользователя навсегда замолчан без каких-либо гарантий того, что человеческие сотрудники проверили это крайне важное действие. Пользователь, чье сообщение стало результатом ложного срабатывания обнаружения спама, будет несправедливо исключен из участия в сообществе форума.

### Дополнительная информация:

Я воспроизвел ошибку на форуме, которым управляю `forum.arduino.cc`. Из-за требования административных прав я не смог попытаться воспроизвести ошибку на [try.discourse.org](http://try.discourse.org).

---

<div class="post-metadata">

### Author: ![zogstrip](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/zogstrip/32/512781_2.png) [@zogstrip](https://meta.discourse.org/u/zogstrip)
#### Post date: [26.Декабрь.2025 14:26:10 UTC](https://meta.discourse.org/t/account-left-silenced-without-review-when-user-deletes-spam-flagged-post/392090/4 "2025-12-26T14:26:10Z")

</div>

Спасибо за отчет @per1234. Похоже, это действительно был пограничный случай, возникший при добавлении

> <https://github.com/discourse/discourse/pull/36471>
>
> When an author deletes their own post that has pending reviewables (flags), thos…e reviewables are now automatically transitioned to ignored with a note indicating "Post was deleted by the author".
> 
> If the author later recovers their post, reviewables that were automatically ignored by the system are restored to pending status with a note "Post was undeleted by the author". This ensures flags remain actionable when the original content is restored.
> 
> Reviewables manually ignored by moderators are not automatically restored, preserving human moderation decisions.
> 
> \<img width="1085" height="759" alt="Screenshot 2025-12-03 at 3 21 06 pm" src="https://github.com/user-attachments/assets/c60f4c4a-7ab0-46f5-8fd6-0570d2315b1d" /\>
> \<img width="817" height="826" alt="Screenshot 2025-12-03 at 3 31 54 pm" src="https://github.com/user-attachments/assets/ee1c5b97-c4c6-4908-aabd-d51fa5627982" /\>

Это должно быть исправлено в

> <https://github.com/discourse/discourse/pull/36873>
>
> Follows up dbcdcdbcd2.
> 
> When AI spam detection (or other automation) flags a p…ost and silences/suspends the user, deleting that post would auto-ignore the reviewable — leaving the user penalized with no staff review. Staff had no visibility into what happened.
> 
> This change:
> 
> \- Checks if the user was silenced or suspended for the specific post before auto-ignoring the reviewable. If penalized, the reviewable stays pending so staff can review and decide whether to lift the penalty.
> 
> \- Adds a "Post deleted by X" event to the reviewable timeline, giving staff visibility into author deletions when reviewing flagged content.
> 
> \- Fixes a bug in discourse-ai's \`llm\_triage.rb\` where \`@post\` was incorrectly referenced instead of the local \`post\` variable when recording silences.
> 
> The note that was previously created on author deletion is removed since the timeline event now provides this visibility in a cleaner way.
> 
> Ref - https://meta.discourse.org/t/392090

cc @kris.kotlarek

---

<div class="post-metadata">

### Author: ![zogstrip](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/zogstrip/32/512781_2.png) [@zogstrip](https://meta.discourse.org/u/zogstrip)
#### Post date: [19.Январь.2026 09:38:06 UTC](https://meta.discourse.org/t/account-left-silenced-without-review-when-user-deletes-spam-flagged-post/392090/5 "2026-01-19T09:38:06Z")

</div>

@per1234 исправление уже включено в основную ветку 👍

---

<div class="post-metadata">

### Author: ![zogstrip](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/zogstrip/32/512781_2.png) [@zogstrip](https://meta.discourse.org/u/zogstrip)
#### Post date: [21.Январь.2026 08:00:01 UTC](https://meta.discourse.org/t/account-left-silenced-without-review-when-user-deletes-spam-flagged-post/392090/7 "2026-01-21T08:00:01Z")

</div>

Эта тема была автоматически закрыта через 46 часов. Новые ответы больше не принимаются.
