Documentación de ayuda de eGuard2

Lo primero,

Gracias por usar este script.
Ayuda a mejorarlo enviando comentarios al desarrollador para que pueda arreglar problemas o mejorar las funciones. Hará que eGuard sea mejor y por tanto mejor para tu canal.

NOTA IMPORTANTE:
SI NO LEES ESTA AYUDA PROBABLEMENTE TU BOT NO FUNCIONARÁ COMO ESPERAS
Y PODRÁS RECIBIR QUEJAS AL RESPECTO. APRENDE A USAR ESTE SCRIPT Y
CONSEGUIRÁS MUCHA TRANQUILIDAD EN EL CANAL DESPUÉS.
Seguramente te compensará perder un día aprendiendo a usarlo y disfrutarlo el resto de la vida
La finalidad de este proyecto es ayudar a moderar un canal. NO a que lo modere el bot automáticamente. Si el canal no tiene muchos moderadores activos en ciertos horarios, los pocos que estén, podrán aprovechar el tiempo para responder a las dudas de los usuarios, las quejas y solicitudes por privado y revisando que eGuard hace el trabajo rutinario bien.

 

Las protecciones que actualmente están incluidas son:

  1. banrotate (rotación de bans según el tiempo establecido)
  2. repeat (repeticiones)
  3. helper (ayudante, respuestas automáticas a frases recurrentes)
  4. cervantes (frases muy largas nada más entrar)
  5. akick (auto akick, la típica lista negra)
  6. colors (colores, evita que los usuarios utilicen los colores de cierta manera)
  7. reban (evita que el usuario se salte un ban con el mismo nick)
  8. stats (estadísticas)
  9. troll (troll, cuando un usuario comete varias ofensas en una sola frase)
  10. spam (usado como badwords, o publicidad masiva, sirve para bloquear ciertas frases o palabras)
  11. cap (mayúsculas)
  12. flood-msg (flood de texto en canal)
  13. flood-join (flood de entradas en el canal)
  14. flood-ctcp (flood de CTCP al canal)
  15. flood-nick (flood de cambio de nicks)

El comando por defecto que tu eggdrop usará para manejar eguard tanto en privado como en partyline es: .eguard punto incluido.
Además acepta otros subcomandos como estos:

  • about (muestra el contacto y el crédito del autor)
  • info (muestra la información respecto a un canal)
  • chan (define el canal por defecto que eGuard usará si no se especifica uno)
  • alias (añade un segundo nick de un usuario habitual)

En todos los subcomandos de .eguard el nombre del canal es opcional, ya que usa el canal que esté configurado en tu eggdrop en partyline. Si quieres definir un canal por defecto desde partyline o desde el comando .eguard chan.

Subcomandos de .eguard

 

about este subcomando muestra la información de contacto del script.

.eguard about
eGuard 2.0.1 [(c) http://eggdrop.es - Sentencia]

info este subcomando muestra la información del canal por defecto o el canal especificado.

.eguard info
eGuard info de #psicologia
| Protección : Estado : Modo seguro
| helper : activado : (no)
| akick : activado : (no)
| spam : desactivado : (activado)
| cervantes : activado : (activado)
| cap : desactivado : (no)
| reban : activado : (no)
| colors : activado : (no)
| banrotate : activado : (no)
| troll : activado : (no)
| repeat : activado : (no)
| maxclone : desactivado : (activado)
| flood-msg : desactivado : (activado)
| flood-ctcp : desactivado : (activado)
| flood-nick : desactivado : (activado)
| flood-join : desactivado : (activado)

chan define un canal por defecto.

.eguard chan
Indica qué canal quieres configurar por defecto: #tcldebug, #eggdrop, #galicia, #librepensamiento.
.eguard chan #psicologia
Canal por defecto: #psicologia

alias añade un segundo nick de un usuario habitual.

.eguard alias add nick=SegundoNick
OK: [(alias/pun)]: segundoNick

Se aplica a nivel global, no se diferencia entre canales. Las protecciones que impliquen poder ser baneado del canal podrán solicitar a este comando si el nick es un alias de otro y reevaluar la protección.

Además, el nombre de cada protección es un subcomando y todas usan los mismos parámetros.
.eguard <protección> [#canal] <opción> <parámetro>=<valor>
Por ejemplo, para eliminar el modo seguro de la protección spam en el canal #eggdrop sería así:

.eguard spam #eggdrop set safemode=no
OK: [(#eggdrop/spam)]: safeMode = no

A parte de “set”, cada protección tiene sus propios subcomandos que podrás aprender usando: .eguard <protección>. Pero no te asustes, todos tienen el mismo formato que has visto ahora así que simplemente sigue las instrucciones.

Nota: esta función de añadir usa formato REGEXP. Regexp es mucho más flexible que el simple wirldcard que conoces pero también es más complejo. Si no quieres aprender a usar regexp, únicamente añade .* cuando quieras usar * y . cuando quieras usar ?

Un ejemplo es:

.eguard spam
Opciones disponibles: exceptadd|exceptlist|exceptdel|add|list|del|set. -- usa .eguard spam [#canal] &lt;opción&gt;
.eguard spam exceptadd
Indica el nuevo parámetro para añadir como excepción.
.eguard spam exceptadd .*odio el sexo.*
OK: [(#psicologia/spam)]: .*odio el sexo.* = añadido como excepción.
.eguard spam add *sexo*=Este canal no permite sexo
OK: [(#psicologia/spam)]: .*sexo.* = Este canal no permite sexo
.eguard spam list
spam list 1: .*sexo.* = Este canal no permite sexo
.eguard spam del 1
OK: [(#psicologia/spam)]: .*sexo.* = eliminado.
.eguard spam exceptdel .*odio el sexo.*
OK: [(#psicologia/spam)]: .*odio el sexo.* = except eliminado.

Personalización de la configuración

 

Los datos de una protección son nuestros patrones de búsqueda, máscaras de ban o cualquier dato pesonalizado que nosotros queramos configurar.

.eguard &lt;protección&gt; [#canal] &lt;opción&gt; &lt;parámetro&gt;=

<protección> hace referencia al nombre de cada una de las protecciones, por ejemplo: repeat
Todas las protecciones tienen unos parámetros que son iguales para todas:

safeMode

El bot funcionará normalmente pero no enviará ningún comando al IRC, pensado para que hagas pruebas al configurarlo y  no haga ningún desastre en el canal. Debes entender que Eggdrop es el bot más popular y longevo del IRC, por la larga experiencia que tiene permite mucha flexibilidad, y me aprovecho de eso para conseguir que eGuard sea tan configurable. De esta manera, si te equivocas en alguna configuración personalizada, el bot no te pondrá ningún impedimento ya que no decidirá por ti y puedes obtener resultados que no esperas.

Si en la descripción dice: “en pruebas”, significa que safeMode está activado y por tanto el bot no perjudicará el canal, en cambio si pone “en producción” el bot estará listo para aplicar en el canal los castigos correspondientes.

memory

Desde que un usuario comete una ofensa hasta que reincide pasa un tiempo. Pasado este tiempo el bot “olvidará” el historial de ese usuario y las acciones volverán a contar desde el principio de nuevo. Por ejemplo, si un usuario es baneado y expulsado durante 15 minutos y este parámetro está puesto a 5, pues el  bot nunca llegará a ejecutar el siguiente castigo ya que se ha olvidado antes.

report

Cada vez que el bot ejecuta una ofensa, manda el reporte a donde este parámetro diga. Si no quieres que avise a nadie de lo que ha hecho, déjalo en blanco o usa “none”.

ignoreop

Si su valor es 1, el bot ignorará en las protecciones a los usuarios que en ese momento tengan @ en el canal. Ocurre lo mismo si el usuario es un OP registrado en el bot.

ignorevoice

Si su valor es 1, el bot ignorará en las protecciones a los usuarios que en ese momento tengan +v en el canal. Ocurre lo mismo si el usuario tiene el flag +v en el bot.

ignorefriend

Si su valor es 1, el bot ignorará en las protecciones a los usuarios que tengan el flag +f en el bot.

action

Ilimitadas, puedes crear tantas como quieras. Esto define qué acción ha de tomar ante una ofensa. Si un usuario escribe una vez en mayúsculas, se ejeutará la acción 1, si repite y lo hace una segunda vez, se ejecutará la acción 2,
y así sucesivamente.

stats

Estadísticas sobre la protección. Si su valor es 1, guardará separado por fechas las veces que ha ejecutado las acciones y a qué nick.

Nota: en algunas funciones del bot estos parámetros son ignorados, como en el caso de la protección de akick.

—-

Acciones

 

Una acción es el castigo que recibirá un usuario cuando sea amonestado.Un listado de las acciones que puedes usar son:

  • notice destino mensaje
  • msg destino mensaje
  • none
  • nothing
  • kick %chan %nick mensaje
  • kickan %chan %nick mensaje
  • ban %chan %nick
  • unban %chan %nick
  • tempban %chan %nick minutos
  • tempkickban %chan %nick minutos mensaje
  • ipkickban %chan %nick mensaje

Para poder darle a las acciones los parámetros correctos, tienes que usar estas variables:

  • %chan (equivale al nombre del canal)
  • %nick (equivale al nick del usuario amonestado)
  • %details (equivale al resultado que la protección generó, por ejemplo la protección cap devolvería: 100%)
  • %offenseNumber (devuelve la cantidad de ofensas que hizo el usuario)
  • %protection (equivale al nombre de la protección actual)
  • %stats (equivale a los kicks diarios de esa protección en ese canal)

Se aprende mejor con ejemplos:

.eguard repeat set action 2=tempban %chan %nick 1
OK: [(#psicologia/repeat)]: action 2 = tempban %chan %nick 1

El resultado es este:

[23:38:59]  	 hola solo vengo aqui a saludar y hacer amigos
[23:38:59] 	 Figaro (chico_tier@AGZvHR.AQa9RU.virtual) joined the channel.
[23:38:59]  	 hola solo vengo aqui a saludar y hacer amigos
[23:38:59]  	 hola solo vengo aqui a saludar y hacer amigos
[23:38:59] 	 Ejecutor kicked wwwmod-68358 from the channel. (eGuard: Por favor no repitas.)
[23:38:59] -Ejecutor-	 Repeticiones de wwwmod-68358, kick...
[23:39:03] 	 snackpack (android@A1JTfD.AWZZDv.virtual) joined the channel.
[23:39:04] 	 wwwmod-68358 (zLyF05@CHASdi.Cy4dyF.virtual) joined the channel.
[23:39:06]  	 hola solo vengo aqui a saludar y hacer amigos
[23:39:06]  	 hola solo vengo aqui a saludar y hacer amigos
[23:39:07]  	 hola solo vengo aqui a saludar y hacer amigos
[23:39:07] Ejecutor sets mode +b *!*@CHASdi.Cy4dyF.virtual
[23:39:07] -Ejecutor-	 Repeticiones de wwwmod-68358, tempban...

—-

Banrotate

 

Rotación de bans. Eggdrop ya tiene esta función integrada en su sistema que se configura a través de .chanset #canal .ban-time, y eliminará los bans que sobrepasan el tiempo en minutos de ese parámetro. La diferencia de banrotate en eGuard 2 es que eGuard compara la antigüedad del ban con la fecha indicada en el servidor, no en el contador interno del propio eggdrop que puede varíar si se hace un .restart o el timezone está equivocado o simplemente no estaba presente cuando se puso el ban.

Esta función sólo tiene un parámetro personalizado que es banTime.

banTime: indica el tiempo en minutos que queremos mantener el ban antes de que lo quite.

—-

Repeat

 

Protección de repeticiones. Internamente esta protección acumula las líneas que los usuarios escriben y las suma si son iguales. Si el usuario escribe números aleatorios para esquivar esta protección, son directamente ignorados. Debido al alto coste de procesador que suponen los comandos regsub y regexp, no se toman más medidas para detectar la similitud de las frases, por lo que hay que considerar la protección de flood y dejar las de repeticiones para lo que es, frases repetidas.

Esta función sólo tiene dos parámetros personalizados que son repeats, seconds.

repeats: indica cuántas líneas se toleran antes de considerarlas como ofensa. Si se indica 2, cuando el usuario ponga por segunda la vez la misma frase será amonestado.

seconds: indica en cuántos segundos debe el usuario repetir la misma frase para ser considerado como ofensa.

.eguard repeat set repeats=3
OK: [(#eggdrop/repeat)]: repeats = 3
.eguard repeat set seconds=5
OK: [(#eggdrop/repeat)]: seconds = 5

—-

Helper

 

Ayudante. O también conocido como FAQ, es útil para responder automáticamente a las preguntas más repetidas en el canal o advertir del mal uso de algunas palabras. Se puede configurar como otra protección cualquiera más en lo que a acciones se refiere aunque por defecto sólo responde con un mensaje en el canal al nick.

Esta función sólo tiene un parámetro personalizado que es noRepeat.

noRepeat: indica el tiempo en segundos que ignorará la frase que ya se respondió para evitar el flood.

—-

Cervantes

 

Frases largas al entrar al canal. Algunos usuarios utilizan scripts que nada más entrar lanzan frases muy largas con mensajes extraños para confundir a la gente. Aunque escribir frases enormes no es una ofensa en sí, si se une a que está en mayúsculas y colores sí puede llegar a molestar. Esta protección funciona como una ayuda a la protección de troll

Esta función tiene dos parámetros personalizados que son onjoin, length.

onjoin: indica el tiempo que el bot esperará para evaluar la longitud de la frase desde que entra.

length: Indica la longitud de la frase para considerarla una frase realmente larga.

—-

Akick

 

Lista negra de entradas al canal. Buscará el patrón suministrado en el usuario!ident@host del nick que entra o el usuario que se cambia el nick dentro del canal. Si la búsqueda es encontrada el usuario será expulsado, o cualquiera que sea la acción que se ha configurado.

Nota: recuerda que puedes añadir excepciones a las máscaras añadidas.

—-

Colors

 

Protección contra colores. Los colores siempre han sido un motivo de conflicto en los canales, a gente no le gusta y otra gente necesita usarlos y en otros canales lo permiten con limitaciones. Esta protección intenta ajustarse a todas esas situaciones, aunque sea muy difícil en algunos casos. Para ello intenta diferenciar el nick completion del texto en colores sin más, y al nick completion le da un trato diferente más permisivo, ya que resaltar el nick para llamar la atención de alguien puede ser más útil que molesto. Además, tiene un filtro para ignorar las direcciones web que algunos scripts resaltan en azul.

Esta función sólo tiene tres parámetros personalizados que son strict, maxTextColors, maxNickColors.

strict: si su valor es 1, eliminará los colores de resalte de las páginas web.

maxTextColors: define cuántos códigos de color se permiten por frase. Por defecto es 1

maxNickColors: cuando la protección detecta que la primera palabra es el nick completion, aplica esta cantidad de códigos para el nick completion y sigue con el resto de la frase de forma independiente.

 

El plan de esta doble configuración es permitir que la gente use nick completions.

—-

Reban

 

Evasión de bans. Hoy en día es muy fácil saltarse un ban. La mayoría de los usuarios regulares reinician el router y vuelven a entrar con su propio nick. Esta protección guarda un historial de bans y nicks para evitar que el mismo nick vuelva a entrar mientras su primer ban está puesto en el canal. También es un método de ostigación contra aquellos que el nick es su sello de identidad. Además incluye la opción predicitiva en la que busca similitudes entre el nick que entra y los bans puestos, por si el usuario cambió una letra para entrar.

Esta función tiene dos parámetros personalizados que es minLength, predictive.

predictive: compara el nick baneado con el nick evaluado y si sólo hay 1 caracter de diferencia dará la similitud como positiva.

minLength: para que predictive funcione razonablemente bien, esta opción se encarga de indicar qué longitud de nick como mínimo debe tener, ya que si el nick que entrase fuese muy corto podría dar falsos positivos.

 

—-

Troll

 

Protección contra trolls. Quizás es la más divertida porque no se lo esperan. Cuando un usuario comete varias ofensas en una sola frase, se dispara esta protección.

Esta función sólo tiene un parámetro personalizado que es offenses.

offenses: indica cuántas ofensas se tienen que producir en una frase para considerarlo un troll.

—-

Spam

 

Protección contra palabras. Esta protección sirve tanto como para evitar publicidad como badwords, ya que cada patrón de texto tiene su propio mensaje de acción, se puede indicar a cada una un texto personalizado.

Esta función no tiene parámetros personalizados.

Nota: recuerda que puedes añadir excepciones a las máscaras añadidas.

—-

Cap

 

Protección de mayúsculas. Personalmente no encuentro el sentido a usar mayúsculas ni tampoco a penalizarlas, las netiquetas de red que se establecieron en los 90 ya bien podrían haber evolucionado con los años, cosa que los moderadores de canal más veteranos no hemos ido haciendo. Ya que es una protección muy demandada, aquí está. Si una frase tiene un mínimo de caracteres en mayúsculas y longitud, se activará.

Su funcionamiento interno corresponde al recuento de letras del alfabeto en minúsculas y en mayúsculas. A diferencia de otros scripts, no cuenta el resto de caracteres como minúsculas por lo que el porcentaje del resultado es ajustado a la realidad. Esto es que en la frase “!….aL1023″ el porcentaje de mayúsculas es 50% (L contra a) y no el resultado de cualquier otro script.

Esta función tiene dos parámetros personalizados que son: percent, minLength.

percent: indica qué porcentaje de mayúsculas en la frase son consideradas una ofensa.

minLength: indica la longitud mínima que debe tener una frase para ser evaluada. Ya que decir “A” en una sola frase, o bien ha sido un error o en cualquier caso no es una expresión a gritos ofensiva.

3 Responses to “Documentación de ayuda de eGuard2”

  1. IKer

    hola sentencia Me parece que ahora la entiendo mucho mejor saludos y felicitaciones

    Responder
  2. Enrique

    Parece interesante si funcionara. Llevo días intentando activar el “estado” y ni a la de tres. Luego a que deja de responder de repente hasta que no lo killeas en la shell. Vamos, no hiria mal un manual para activar protecciones (spam,etc..). Vamos, eguard no funciona. He probado resto de scripts y pasa lo mismo, o no actualizados o no van.

    Responder
  3. Atomico

    la verdad he estado intentando hacerlo funcionar pero no he podido y la verdad lo necesito para ponerlo en mi canal se como quitar el seguro de las proteccion pero por ningun lado veo como activar las protecciones :(

    Responder

Leave a Reply