Справочник по отслеживаемым словам

:bookmark: Это #справочное руководство по описанию работы страницы «Следящие слова» и различных типов действий, которые можно использовать для блокировки конкретных слов на сайте Discourse.

:person_raising_hand: Требуемый уровень пользователя: Администратор

Понимание «Следящих слов»

Вы можете настроить «Следящие слова» для выполнения действий на основе слов, найденных в теме или сообщении (находится по адресу .../admin/customize/watched_words).

Максимальное количество слов для каждого типа действия — 2000.

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

По умолчанию следящие слова скрыты. Установка флажка «Показать слова» отобразит их и позволит удалять. Использование поля поиска также покажет любые совпадающие слова.

Списки следящих слов можно массово загружать с помощью кнопки «Добавить из файла», а список следящих слов для любого типа действия можно скачать с Discourse с помощью кнопки «Скачать». Для массовой загрузки следящих слов требуется формат файла CSV.

У всех действий также есть кнопка «Проверить», которую можно использовать для проверки, содержит ли конкретное слово или фраза какие-либо следящие слова.

Пример совпадения фразы следящего слова

Пример фразы без совпадений

Типы действий

Страница «Следящие слова» позволяет выполнять следующие типы действий для совпавших слов:

:information_source: Следящее слово может существовать только в одном списке действий. Если дублирующееся слово добавлено во второй список, оно будет удалено из предыдущего списка.

Блокировка

Предотвращает публикацию тем или сообщений, содержащих эти слова, в момент их отправки, блокируя всю тему/сообщение. Пользователь увидит сообщение об ошибке при попытке отправить сообщение.

Сообщения персонала (администраторов и модераторов) не будут блокироваться следящими словами.

Цензура

Разрешает сообщения, содержащие эти слова, но заменяет слова символами, скрывающими цензурируемые слова. Цензурируемые слова будут заменены блоками. (Например: ■■■■■■■■)

Требовать одобрения

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

Сообщения персонала (администраторов и модераторов) не будут сканироваться на наличие слов, требующих одобрения.

Пометить флагом

Разрешает сообщения, содержащие эти слова, но помечает их флагом, чтобы модераторы могли их просмотреть. Сообщение с помеченным словом будет отображаться нормально, но будет отправлено на рассмотрение. У проверяющего будет несколько вариантов:

Если они скроют сообщение, оно все равно будет доступно для просмотра, но будет выглядеть примерно так:

Нажатие на ссылку «Просмотреть проигнорированный контент» покажет полное содержимое, но все еще в состоянии «сообщение скрыто».

Если они выберут «Оставить сообщение» или выберут «Не согласиться» из вариантов, сообщение будет выглядеть так:

Сообщения персонала (администраторов и модераторов) не будут сканироваться на наличие слов, помеченных флагом.

:information_source: Вы также можете использовать Автоматизацию «Пометить сообщение по словам», чтобы пометить тему флагом при создании/редактировании, если она содержит определенные слова.

Ссылка

Заменяет слова в сообщениях ссылками. Чаще используется для замены обычных слов ссылками на конкретные темы или внешние URL-адреса вместо цензурирования слов.

Если при добавлении слова в этот тип действия не выбрана ссылка URL, в качестве ссылки для замены слова автоматически будет использоваться главная страница сайта Discourse.

image

Замена

Заменяет слова в сообщениях другими словами.

Если при добавлении слова в это действие не выбрано слово замены, слово будет удалено из сообщения, но ему не будет подставлено другое слово — слово исчезнет из сообщения, и сообщение будет разрешено к отправке (Не рекомендуется).

image

Тип действия «Замена» также имеет опцию флажка «Выводить HTML в замене».

Эта функция позволяет администраторам использовать форматирование HTML при настройке заменяемого текста, что может быть особенно полезно для создания ссылок и добавления стилистического акцента к автоматически подставленному тексту.

:warning: Переназначение ссылок с помощью следящих слов не рекомендуется и может вызвать больше проблем, чем ожидалось. Поэтому возможность переназначения ссылок с помощью настройки «Следящие слова → Замена» намеренно отключена, и ссылки не будут переназначаться в темах или сообщениях независимо от настроек следящих слов.

Тег

Автоматически добавляет теги к темам на основе первого сообщения в теме. Для каждого слова, включенного в это действие, можно добавить один или несколько тегов.

image

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

Также обратите внимание, что при добавлении тегов к темам с помощью следящего слова слово должно быть включено в тему в момент публикации темы, чтобы тег был добавлен правильно. Редактирование темы после её создания с использованием следящего слова для тега не добавит тег к теме.

Заглушение

Первые сообщения пользователей, содержащие эти слова, потребуют одобрения персонала перед тем, как их можно будет увидеть, и пользователь будет автоматически заглушен. Пользователь, использовавший слово «заглушение» в своем первом сообщении, будет заглушен, а сообщение будет отправлено в очередь модерации.

Регулярные выражения

Информацию об использовании регулярных выражений с «Следящими словами» см. по адресу:

Следящие слова и AI-триаж

Помимо ручной настройки действий через «Следящие слова», Discourse также может интегрироваться с инструментами ИИ для автоматизации и оптимизации усилий по модерации в вашем сообществе. Используя функции Discourse AI — AI-триаж, вы можете настроить Обнаружение токсичности и Обнаружение контента для взрослых (NSFW), чтобы улучшить свои возможности по эффективному выявлению и обработке проблемного контента.

Полные инструкции по настройке можно найти по ссылкам:

Следящие слова в личных сообщениях

Следящие слова типа «Пометить флагом» будут срабатывать в личных сообщениях (ЛС). Подробнее о том, как это работает, см. в соответствующем разделе выше.

Следящие слова с Discourse Chat

Некоторые типы следящих слов также работают в каналах чата, когда включен Discourse Chat. Совместимость каждого типа с чатом следующая:

Тип следящего слова Работает в чате?
Блокировка :white_check_mark:
Цензура :white_check_mark:
Требовать одобрения :cross_mark:
Пометить флагом :cross_mark:
Ссылка :white_check_mark:
Замена :white_check_mark:
Тег :cross_mark:
Заглушение :cross_mark:

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

8 лайков

Making a note here to update the guide with the new ‘Outputs HTML in the replacement’ option, which allows some nifty formatting for Replace and some things like <abbr> for Link.

4 лайка

It would be really nice if,

  1. the linkified words had a CSS class attached to them so they could be targeted for different layout (impossible to tell difference between user derived links and auto linked words)
  2. there was an option to only link the first instance of the word, instead of every instance in the post
1 лайк

It may also be worth mentioning that some Watched Word types also work in chat.

I think these are the ones:

Watched Word Type Works in chat?
Block :white_check_mark:
Censor :white_check_mark:
Require Approval :cross_mark:
Flag :cross_mark:
Link :white_check_mark:
Replace :white_check_mark:
Tag :cross_mark:
Silence :cross_mark:
2 лайка

There’s an Add button, but I can’t seem to use it :frowning:

Why?

I was able to remove a single watched word (quickbooks) from the UI. Why can’t I put it back?

1 лайк

Did you enter the word into the “words or phrases” field?
I am sometimes confused because I forget that this is the field where I need to add the word to activate the add button.

4 лайка

:persevering_face:

I didn’t realize the “Has words or phrases” input was a text input. The fact that it’s (apparently) pre-filled with “words or phrases” and the + on the end threw me off entirely.

Thanks @Moin!

3 лайка

I’m glad I’m not the only one who doesn’t realize that this is the input field. Maybe one of the @moderators can move this to a UX topic

2 лайка

I found an issue with the Watched Words feature.

For example, if I add test as a watched word:

  • The phrase hello test world will be matched :white_check_mark:
  • The phrase 你 test 好 will also be matched :white_check_mark:
  • But the phrase 你test好 will not be matched :cross_mark:

It seems that Watched Words only works when the keyword is separated by spaces or punctuation. This makes it fail in cases where the keyword is adjacent to other characters, which is very common in languages like Chinese or Japanese (where words are not separated by spaces).

Could you please confirm if this is a bug? If so, it would be great to improve Watched Words so that it matches even when the word is directly next to other characters.

Thanks!

1 лайк

I don’t think it’s a bug. Everything seems to be working as expected. If spaces were ignored by default and ass was a watched word, passkey would trigger that. I think you can use *test* instead as the watched words, and it will work for all three of your examples.

3 лайка

Why, after I added the attention word “trash talk” which requires approval, is my post still not being reviewed? Are there other requirements I need to meet?

Does testing the watched word with the text you tried to post work? Maybe you need to add asterisks around your words in case there are no spaces around it as discussed above your post.

Who posted this? Did you use an admin or moderator account for testing? Posts written by staff aren’t queued for approval because they can approve their own posts anyway.

1 лайк

Hi all,

I’m running into an issue with Watched Words (Replace) on our health forum and wondering if anyone has found a solution.

The problem: We use Watched Words to automatically expand medical abbreviations for accessibility (e.g., MGUSMonoclonal gammopathy of unknown significance (MGUS)). This works perfectly on the initial post, but when anyone edits that post later, the replacement runs again and creates nested recursion like this:

Monoclonal gammopathy of unknown significance (Monoclonal gammopathy of unknown significance (MGUS))

Each subsequent edit adds another layer :melting_face:

What I’ve tried:

  • Adding single quotes around the abbreviation: (term)('term') - still recurses

  • Using HTML entities with “Outputs HTML in replacement” enabled - text disappears entirely on edit

  • HTML span tags - displays as literal code and still recurses

I know I could just remove the abbreviation from the replacement text, but it’s important for both internal forum search and external SEO that the abbreviation remains visible in posts. The abbreviations are how most people actually talk about these conditions, and if we only show the expanded term, those searches won’t surface the relevant discussions..

So, I guess my question is whether there’s a way to expand abbreviations that survives post edits without recursion, while keeping the abbreviation visible for searchability?

1 лайк

Looks like a bug in the rich text editor, which should be fixed by

2 лайка

Thanks @zogstrip - do I need to do anything to update this? As it’s still happening on our Forum, unfortunately :melting_face:

1 лайк

Can you try again, I just deployed your instance to have the latest version.

2 лайка

@zogstrip, thank you! That seems to have fixed it - superb. That’s been bugging me for far too long :slight_smile:

1 лайк