Фильтр правок

Фильтры правок (обсуждение) — это автоматизированный механизм проверок правок участников.
(Список | Последние изменения фильтров | Изучение правок | Журнал срабатываний)
Перейти к навигации Перейти к поиску

Различия между версиями

ЭлементВерсия участника Alex Smotrov от 15:12, 18 марта 2010Версия участника Alex Smotrov от 16:05, 19 марта 2010
Основные сведения
Примечания:
Подряд идущий одинаковый текст: обычно множественный copy/paste нескольких слов для вандализма. Или слишком длинное слово без пробелов.
Подряд идущий одинаковый текст: обычно множественный copy/paste нескольких слов для вандализма. Или слишком длинное слово без пробелов.


edit: ложное срабатывание, временно в исключения участник Helios pro
edit: оформление; предыдущая правка вообще поломала фильтр, последнее условие надо было добавлять в скобках
Условия фильтрации
Условия:
(документация)
action == 'edit'
action == 'edit' &
&(!'user' in user_groups | user_editcount < 10)
(!'user' in user_groups | user_editcount < 10) &
&(old_size > 0 | article_namespace > 0 | length(new_text) > 150)
(old_size > 0 | article_namespace > 0 | length(new_text) > 150) &
&!added_links
!added_links & count('[[', added_lines) < 4 &
& count('[[', added_lines) < 4
(
&(
  (long := "[a-zа-я\d]{40}";
  (long := "[a-zа-я\d]{40}";
   lcase(added_lines) rlike long  
   lcase(added_lines) rlike long  
   &! lcase(removed_lines) rlike long
   &! lcase(removed_lines) rlike long
   &! contains_any(lcase(new_wikitext),
   &! contains_any(lcase(new_wikitext),
  'кислот','щелоч','лекарств','химич','hash','хеш')
  'кислот','щелоч','лекарств','химич','hash','хеш')
   &! contains_any(lcase(added_lines),'[[image:','[[file:','.jpg','http://')
   &! contains_any(lcase(added_lines),'[[image:','[[file:','.jpg','http://')
  )
  )
|
|
  (m1 := "([а-яА-Я]{1,3})\1{5}";
  (m1 := "([а-яА-Я]{1,3})\1{5}";
   m2 := "([^_:*'&|=}{a-fA-F\d-]{1,3})\1{9}";
   m2 := "([^_:*'&|=}{a-fA-F\d-]{1,3})\1{9}";
   m3 := "([^_:*'&|=}{<>-]{4,30})\1{3}";
   m3 := "([^_:*'&|=}{<>-]{4,30})\1{3}";
   add := rmwhitespace(added_lines);
   add := rmwhitespace(added_lines);
  (add rlike m1 &! rmwhitespace(removed_lines) rlike m1)|
  (add rlike m1 &! rmwhitespace(removed_lines) rlike m1)|
  (add rlike m2 &! rmwhitespace(removed_lines) rlike m2)|
  (add rlike m2 &! rmwhitespace(removed_lines) rlike m2)|
  (add rlike m3 &! rmwhitespace(removed_lines) rlike m3  
  (add rlike m3 &! rmwhitespace(removed_lines) rlike m3  
   &! (added_lines contains '\n{|' & added_lines contains '\n|}')
   &! (added_lines contains '\n{|' & added_lines contains '\n|}')
   & rcount('(!![^!]|\|\|[^|])', add) < 3
   & rcount('(!![^!]|\|\|[^|])', add) < 3
   &  count('\n!', added_lines) < 3
   &  count('\n!', added_lines) < 3
   )
   )
  )
  )
)
)
&! user_name == 'Helios pro'