Управление фильтром злоупотреблений

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

ЭлементВерсия участника DonRumata от 21:41, 22 февраля 2012Версия участника Lingüista от 14:28, 12 августа 2015
Условия фильтрации
Условия:
action == 'edit' &
action == 'edit' &
(!'user' in user_groups | user_editcount < 10) &
(!'user' in user_groups | user_editcount < 20) &
(old_size > 0 | article_namespace > 0 | length(new_text) > 150) &
(old_size > 0 | article_namespace > 0 | length(new_text) > 150) &
!added_links & count('[[', added_lines) < 4 &
!added_links & 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','хеш','<math>')
  'кислот','щелч','лекарств','химич','hash','хеш','<math>')
   &! 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
   )
   )
  )
  )
)
)