Versions Compared

Key

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

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

...

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

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

...

Выполняется проверка только первого сообщения пользователя

Интерфейс

...

 

  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😀

  • 231 😀

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

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

Code Block
^[0-9]*$

...