Administración del filtro antiabusos

Diferencias entre versiones

ElementoVersión desde 19:27 24 jun 2023 por SRuizRVersión desde 05:07 26 jul 2023 por Anibal Maysonet
Información básica
Notas:
Solicitado por LuchoCR en el tablón de implementación ([[Especial:EnlacePermanente/149782899#Uso de plantillas restringidas]]). Traído de mi wiki personal donde ya tenía lista una prueba. --SRuizR 11/03/2023
Solicitado por LuchoCR en el tablón de implementación ([[Especial:EnlacePermanente/149782899#Uso de plantillas restringidas]]). Traído de mi wiki personal donde ya tenía lista una prueba. --SRuizR 11/03/2023


Retiro plantilla de desbloqueo revisado por falsos positivos al archivar. Añado primera condición más general para reducir el tiempo de ejecución. --sasha 23/03/2023
Retiro plantilla de desbloqueo revisado por falsos positivos al archivar. Añado primera condición más general para reducir el tiempo de ejecución. --Sasha 23/03/2023


Agrego usuario expulsado. --Anibal Maysonet 04/04/2023
Agrego usuario expulsado. --Anibal Maysonet 04/04/2023


Permitiendo que biblios pongan la de WMF banned, no creo que haya que restringírselo a ellos.--SRuizR 24/06/2023
Permitiendo que biblios pongan la de WMF banned, no creo que haya que restringírselo a ellos.--SRuizR 24/06/2023
Añadiendo bloqueo indefinido, solicitado por VR0 en el tablón de implementación ([[Especial:EnlacePermanente/152647167#Filtro_146]]). Adicional, añado bloqueo permanente. --Anibal Maysonet 26/07/2023
Condiciones de filtro
Condiciones:
plantillassysop:="\{\{(sub?st:)?(template:|plantilla:)?((aviso|usuario) bloque[ad]?o|bloqueo|prueba5|aviso (prueba|vandalismo|spam|noesunforo)5|(usuario )?t[íi]t(ere|iritero)|usuario expulsado)(\||\}\})";
plantillassysop:="\{\{(sub?st:)?(template:|plantilla:)?((aviso|usuario) bloque[ad]?o|bloqueo|prueba5|aviso (prueba|vandalismo|spam|noesunforo)5|(usuario )?t[íi]t(ere|iritero)|usuario expulsado|bloqueo (permanente|indefinido))(\||\}\})";
desbloquear:="\{\{(sub?st:)?(template:|plantilla:)?(desbloque(ar|o)|unblock)";
desbloquear:="\{\{(sub?st:)?(template:|plantilla:)?(desbloque(ar|o)|unblock)";
desbloqueorevisado:="\{\{(sub?st:)?(template:|plantilla:)?(desbloqueo (revisado|aceptado))";
desbloqueorevisado:="\{\{(sub?st:)?(template:|plantilla:)?(desbloqueo (revisado|aceptado))";
plantillastaff:="\{\{(sub?st:)?(template:|plantilla:)?(WMF-legal banned user)(\||\}\})";
plantillastaff:="\{\{(sub?st:)?(template:|plantilla:)?(WMF-legal banned user)(\||\}\})";
plantillacheckuser:="\{\{(sub?st:)?(template:|plantilla:)?(bloqueo checkuser)(\||\}\})";
plantillacheckuser:="\{\{(sub?st:)?(template:|plantilla:)?(bloqueo checkuser)(\||\}\})";
mencionada:="(\{\{(ep[crs]?|enlace plantilla|enlace a plantilla|tl[xpurfc]?|tiw|template link|ligação para predefinição|lp)\||<nowiki>|<pre>)(" + plantillassysop + "|" + plantillastaff + "|" + plantillacheckuser + ")";
mencionada:="(\{\{(ep[crs]?|enlace plantilla|enlace a plantilla|tl[xpurfc]?|tiw|template link|ligação para predefinição|lp)\||<nowiki>|<pre>)(" + plantillassysop + "|" + plantillastaff + "|" + plantillacheckuser + ")";
equals_to_any(page_namespace, 2, 3) & (
equals_to_any(page_namespace, 2, 3) & (
! "bot" in user_groups
! "bot" in user_groups
& (! "sysop" in user_groups
& (! "sysop" in user_groups
& ((rcount(lcase(plantillassysop), lcase(added_lines)) > rcount(lcase(plantillassysop), lcase(removed_lines)))
& ((rcount(lcase(plantillassysop), lcase(added_lines)) > rcount(lcase(plantillassysop), lcase(removed_lines)))
&! (added_lines irlike mencionada)))
&! (added_lines irlike mencionada)))
| (! user_groups rlike "sysop|abusefilter"
| (! user_groups rlike "sysop|abusefilter"
& ((rcount(lcase(desbloqueorevisado), lcase(added_lines)) > rcount(lcase(desbloqueorevisado), lcase(removed_lines)))
& ((rcount(lcase(desbloqueorevisado), lcase(added_lines)) > rcount(lcase(desbloqueorevisado), lcase(removed_lines)))
& (rcount(lcase(desbloquear), lcase(added_lines)) < rcount(lcase(desbloquear), lcase(removed_lines)))))
& (rcount(lcase(desbloquear), lcase(added_lines)) < rcount(lcase(desbloquear), lcase(removed_lines)))))
|
|
(! ("staff" in global_user_groups | "sysop" in user_groups)
(! ("staff" in global_user_groups | "sysop" in user_groups)
& (rcount(lcase(plantillastaff), lcase(added_lines)) > rcount(lcase(plantillastaff), lcase(removed_lines)))
& (rcount(lcase(plantillastaff), lcase(added_lines)) > rcount(lcase(plantillastaff), lcase(removed_lines)))
&! (added_lines irlike mencionada))
&! (added_lines irlike mencionada))
|
|
(! "checkuser" in user_groups
(! "checkuser" in user_groups
& (rcount(lcase(plantillacheckuser), lcase(added_lines)) > rcount(lcase(plantillacheckuser), lcase(removed_lines)))
& (rcount(lcase(plantillacheckuser), lcase(added_lines)) > rcount(lcase(plantillacheckuser), lcase(removed_lines)))
&! (added_lines irlike mencionada))
&! (added_lines irlike mencionada))
)
)