Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Начиная с релиза 3.7.0 в системе присутствует возможность настроить Раздел “Настройки” - “Спам-фильтр” позволяет установить фильтр нежелательных сообщений для выбранного типа канала с помощью регулярных выражений.

...

Описание функциональности

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

  • Если сообщение попадает под условия фильтрации, то запрос сразу закрывается со статусом “Закрыт без ответа” и он не попадает во входящие к оператору.

  • Если сообщение не попадает под условия фильтрации, то происходит стандартный разбор сообщения и поиск ответа на него в подключенных БЗ.

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

Интерфейс

Новый пункт меню для пользователей с ролью Администратор: Настройки - Запросы - Фильтрация входящих сообщений.

...

Интерфейс

...

 

  1. Область со списком добавленных РВ.

  2. Область для проверки, соответствует ли введенный текст добавленным выражениям.

...

  • сообщит, что совпадений не найдено

  • сообщит для каких типов каналов было найдено совпадение и под какими номерами находятся эти РВ. Также справа от каждого выражения будет индикатор последней проверки.

...

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

При включении переключателя “Фильтровать сообщения без текста с файлом” система будет отфильтровывать сообщения без текста, с файлом и закрывать такие диалоги 

 

В истории сообщений можно посмотреть, что отфильтрованные сообщения находятся со статусом “Закрыт без ответа”.

...

...

Примеры регулярных выражений

Смысл/задача

РВ

Отфильтровать определенное слово + спецсимволы после и смайлики, например, “участвую”

Code Block
^(([уУ][чЧ][аА][вВ]?[сС][тТ][вВ][уУ][юЮ])[^0-9A-Za-zА-Яа-я]*)+$

Отфильтровать перечисление упоминаний в канале через @ , чаще всего для Instagram

Code Block
^((@[a-zA-Z0-9._]+)\s*)+$

Отфильтровать определенные смайлики без текста в строке

  • Code Block
    ^[❤🔥♥♻☺✌✨💐😁]+$ - перечисление определенных смайлов
  • Code Block
    ^[😀-🙏]+$ - указание диапазона

Отфильтровать только смайлики (самые распространенные)

Code Block
^([❤️❤🔥♥♻☺✌✨👨‍🔧💐😁]|[😀-🙏]|[🌀-🔟]|[🤍-🪕])+$

Отфильтровать все единичные слова, кроме “хочу” со знаком “?” в конце.
Т.е. попадут во входящие: хочу, сколько?, хочу купить и т.д.. И не попадут: круто!, отлично), класс и т.д.

Code Block
^\s*(?!хочу|ХОЧУ|Хочу)([а-яА-Я]*)[^\?\s\w]*?$

Отфильтровать только ссылки вида:

Code Block
^(https?:\/\/[-\w;\/?:@&=+$\|\_.!~*\|'()\[\]%#,☺]+[\w\/#](\(\))?)(?=$|[\s',\|\(\).:;?\-\[\]>\)])$

Отфильтровать сообщения, содержащие определенные слова, например “отпуск” или “вдохновение”.

Code Block
([оО][тТ][пП][уУ][сС][кК])|([вВ][дД][оО][хХ][нН][оО][вВ][еЕ][нН][иИ][еЕ])

Т.е. в этот шаблон можно вставить любые слова

Code Block
([][][][][][])|([][][][][][])
[] - буквы слова, лучше писать маленькую и большую, чтобы любой регистр учитывался
() - в скобки заключается ваше слово
| - разделитель между словами

Отфильтровать сообщения, которые содержат только цифры, или цифры и смайлики (в заданном индекс диапазоне \uD83D\uDE00-\uD83D\uDE50), или цифры и знаки препинания, кроме знака вопроса:

  • 1

  • 12

  • 1!

2🔥
  • 2😀

  • 231

🔥
  • 😀

Code Block
^(
[0-9]+)[^\?\w]*
\d+|\d+[\uD83D\uDE00-\uD83D\uDE50]+|\d+[.,;:!-]+)$

Отфильтровать сообщения, которые содержат только цифры от 0 до 9

Code Block
^[0-9]*$

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