Responder al mensaje

Advertencia - mientras estabas leyendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.

Nota: este mensaje no se mostrará hasta que sea aprobado por un moderador.

Nombre:
Email:
Asunto:
Icono del mensaje:

Verificación:
Escribe las letras mostradas en la imagen
Escuchar el texto / Solicitar otra imagen

Escribe las letras mostradas en la imagen:
¿Cuánto es uno por uno? (en letra y en minúscula):

teclas método abreviado (sólo IE y Mozilla): presiona alt+s para enviar formulario/publicar o alt+p para previsualizar


Sumario de Temas

Publicado por: Cadaver
« en: Febrero 03, 2021, 07:20:50 pm »

Corregido:

Código: [Seleccionar]
on *:TEXT:*:#: {
  if ($nick isreg $chan) && ($me isop $chan) {
    if (!%flood. [ $+ [ $chan ] $+ .txt. $+ [ $nick ] ]) { set -u500 %flood. [ $+ [ $chan ] $+ .txt. $+ [ $nick ] ] $md5($strip($1-)) | inc -u500 $+(%,flood.,$chan,.nick.,$nick) | halt }
    if (%flood. [ $+ [ $chan ] $+ .txt. $+ [ $nick ] ]) && ($md5($strip($1-)) != %flood. [ $+ [ $chan ] $+ .txt. $+ [ $nick ] ]) { set -u500 %flood. [ $+ [ $chan ] $+ .txt. $+ [ $nick ] ] $md5($strip($1-)) | unset %flood. [ $+ [ $chan ] $+ .nick. $+ [ $nick ] ] | inc -u500 $+(%,flood.,$chan,.nick.,$nick) | halt }
    if (%flood. [ $+ [ $chan ] $+ .txt. $+ [ $nick ] ]) && ($md5($strip($1-)) == %flood. [ $+ [ $chan ] $+ .txt. $+ [ $nick ] ]) {
      inc $+(%,flood.,$chan,.nick.,$nick)
      if (%flood. [ $+ [ $chan ] $+ .nick. $+ [ $nick ] ] == 2) { msg $chan AVISO 1 }
      if (%flood. [ $+ [ $chan ] $+ .nick. $+ [ $nick ] ] == 3) { msg $chan AVISO 2 }
      if (%flood. [ $+ [ $chan ] $+ .nick. $+ [ $nick ] ] == 4) { ban -u120 $chan $address($nick,2) | kick $chan $nick Razon del KICK | unset %flood. [ $+ [ $chan ] $+ .txt. $+ [ $nick ] ] | unset %flood. [ $+ [ $chan ] $+ .nick. $+ [ $nick ] ] }
    }
  }
}
Publicado por: Dino
« en: Enero 22, 2021, 03:35:29 am »

   Cadaver
tu codigo no funciona muy bien que digamos despues de 5 o 6 repeticiones recien advierte trate de cambiar el inc de 500 a 300 igual tarda en reconocer una palabra repetida
encambio el addons que pusimos arriba ese si funciona muy bien el detalle es solo que en canales grandes con mas de 200 usuarios ahi salta la primer advertencia y lanza la segunda pero eso sucede rara vez..
Publicado por: hank
« en: Enero 13, 2021, 04:19:48 pm »

Hola.

Muchas gracias!
Publicado por: Cadaver
« en: Enero 12, 2021, 05:39:26 pm »

Bueno pero que complicación con las repeticiones ya habiendo muchos por ahí funcionales o incluso el de IRcap que todos usan, les dejo el código que puse desde el inicio modificado:

Código: [Seleccionar]
on *:TEXT:*:#: {
  if ($nick isreg $chan) && ($me isop $chan) {
    if (%flood. [ $+ [ $chan ] $+ .txt. $+ [ $nick ] ]) && ($md5($strip($1-)) == %flood. [ $+ [ $chan ] $+ .txt. $+ [ $nick ] ]) {
      inc -u500 $+(%,flood.,$chan,.nick.,$nick)
      if (%flood. [ $+ [ $chan ] $+ .nick. $+ [ $nick ] ] == 2) { msg $chan AVISO 1 }
      if (%flood. [ $+ [ $chan ] $+ .nick. $+ [ $nick ] ] == 3) { msg $chan AVISO 2 }
      if (%flood. [ $+ [ $chan ] $+ .nick. $+ [ $nick ] ] == 4) { ban -u120 $chan $address($nick,2) | kick $chan $nick Razon del KICK | unset $+(%,flood.,$chan,.txt.,$nick) }
    }
    if (!%flood. [ $+ [ $chan ] $+ .txt. $+ [ $nick ] ]) { set -u500 %flood. [ $+ [ $chan ] $+ .txt. $+ [ $nick ] ] $md5($strip($1-)) | halt }
    if (%flood. [ $+ [ $chan ] $+ .txt. $+ [ $nick ] ]) && ($md5(strip($1-)) != %flood. [ $+ [ $chan ] $+ .txt. $+ [ $nick ] ]) { set -u500 %flood. [ $+ [ $chan ] $+ .txt. $+ [ $nick ] ] $md5($strip($1-)) | unset $+(%,flood.,$chan,.txt.,$nick) | halt }
  }
}

Cable aclarar que si el usuario cambia el texto por otro reiniciara el conteo. ¿Qué se recomienda? Acortar los tiempos de las variables se quedo en 500 porque así lo pidieron desde un inicio pero vamos quieren que sea EXCESO de REPETICIONES por decir 3 holas en 10 minutos pues como que no va, EXCESO de REPETICIONES 5 en 1 minuto  o menos y eso ya es exagerado.
Publicado por: hank
« en: Enero 12, 2021, 02:41:22 pm »

Buenas tardes.

Seria bueno para todos, que pusiera el addon completo.

¿no creeis?

Saludos.
Publicado por: Dino
« en: Enero 11, 2021, 01:19:50 am »

faltaria un depurador que borre los temp que guardo para comprobar que los borre despues pasado los 5 minutos en lo que guardo
Código: [Seleccionar]
%_cuenta
%NickRepite
como esas son las variantes con la que guarda el nick y canal mas la palabra entonces seria bueno un depurador que los borre pasado
ya los 5 minutos en los cuales los guardo mediante -u300..  esa es una solucion que veo factible un depurador amigo quetzalcoalt
el codigo de cadaver es sencillo y se dispara por mas que el usuario deje de lanzar la palabra repetida cuando intercala una palabra que no es repetida igual le da ban..
Publicado por: Quetzalcoatl
« en: Enero 09, 2021, 04:55:57 am »

Ese remoto tiene dos variables una donde guarda si el nick esta advertido y otra el ultimo texto, quizas es por eso que en canales grandes donde hay varia afluencia pueda existir un fallo, lo ideal es lo que habia dicho Cadaver antes, si no mal recuerdo tambien posteo el código de un remote similar donde se evaluan tres frases distintas dichas por un usuario, en donde se usa una sola variable por cada usuario en el canal, lo que de entrada evita la a advertencias equivocadas al mezclarse nicks. Lo ideal para mi seria recrear el código desde cero y usar hashtables para evitar problemas en variables ya que se dejarían de usar y tener un mejor control en cuanto a las advertencias, frases repetidas y el contador.

Cabe notar que yo no hice el código que usas Dino, solo me base en el que se coloco que se había dicho que si funcionaba que solo requería unas modificaciones.

Pero vale la pena buscar el código que posteo cadaver(el cual no esta en este hilo de post, si no en uno previo), no lo he probado pero la estructura que el uso en su programación es muy buena o rehacerlo como mencione usando hashtables.
Publicado por: Dino
« en: Enero 09, 2021, 04:11:00 am »

funciona bien perfectamente...
pero cuando entro a un canal con mas de 200 usuarios y soy @
de ratos no lanza la primera advertencia lanza directa la segunda????? no entiendo y recivo muchos reclamos...
al paracer la secuencia lectura cuando son varios nicks se mezcla y por eso lo lanza directo a la segunda omitiendo en algunos casos la
primer advertencia ... eso en canales grande con mas de 200 usuarios activos reales.
Publicado por: Dino
« en: Noviembre 26, 2020, 03:10:49 am »

me funciona bien en canales pequeños, pero cuando estoy en un canal grande y un usuario repite la frase, se salta la primera advertencia y manda directo la segunda advertencia, ese detalle sucede rara vez cuando los usuarios son mas de 120usuarios en linea..
Publicado por: MiLeNiUm
« en: Febrero 07, 2020, 02:35:31 am »

Hola, lo acabo de probar yo tambien y ahora si funciona, Saludos.
Publicado por: Quetzalcoatl
« en: Febrero 07, 2020, 01:48:30 am »

dino
prueba con esto, esta corregido lo del goto y otros detalles, cuando algo no funcione por favor dilo de inmediato, no había probado el codigo anterior, pero este lo acabo probar y creo que funciona como lo requieres
Código: [Seleccionar]
#Repite on
on *:TEXT:*:%pral: {
  if (($ulevel >= 60) || ($ulevel >= 100) || ($me == $nick) || ($nick isop $chan)) { halt }
  if ($ulevel < 100) {
    if ($nick !isop $chan) && ($nick isvo $chan) && ($me isop $chan) { return }
    if (%NickRepite. [ $+ [ $+($nick,.,$chan) ] ] == $null) { set -u300 %NickRepite. [ $+ [ $+($nick,.,$chan) ] ] 0 $1- }
    else if (%NickRepite. [ $+ [ $+($nick,.,$chan) ] ] != $null) {
      var %advertido = %NickRepite.Advertido. [ $+ [ $+($nick,.,$chan) ] ]
      ;----Si el usuario no ha sido advertido se crea una variable individual de lo contrario incrementa y va una advertencia definida.
      if (!%advertido) { set -u300 %NickRepite.Advertido. [ $+ [ $+($nick,.,$chan) ] ] 1 }
      ;---- fin de la  manipulacion de la variable de advertencia
      if ($gettok(%NickRepite. [ $+ [ $+($nick,.,$chan) ] ],1,32) == 0) && ($gettok(%NickRepite. [ $+ [ $+($nick,.,$chan) ] ],2-,32) == $1-) {
        if (%advertido) { set -u300 %NickRepite.Advertido. [ $+ [ $+($nick,.,$chan) ] ] $calc(%advertido +1) | goto $calc(%advertido +1) } | :1
        PRIVmsg $chan 2 $+ $nick $+  12--> 2Por favor, 4No repita. 2Con una vez ya le leemos. 12(1er Aviso)
        PRIVmsg %ops 2Avisando a 1 $+ $nick $+  2de que no repita una frase o texto. 12[1]
        set -u1200 %NickRepite. [ $+ [ $+($nick,.,$chan) ] ] $calc($gettok(%NickRepite. [ $+ [ $+($nick,.,$chan) ] ],1,32) + 1) $gettok(%NickRepite. [ $+ [ $+($nick,.,$chan) ] ],2-,32)
        return
      }
      else if ($gettok(%NickRepite. [ $+ [ $+($nick,.,$chan) ] ],1,32) == 1) && ($gettok(%NickRepite. [ $+ [ $+($nick,.,$chan) ] ],2-,32) == $1-) {
        if (%advertido) { set -u300 %NickRepite.Advertido. [ $+ [ $+($nick,.,$chan) ] ] $calc(%advertido +1) | goto $calc(%advertido +1) }
        :2 | msg $chan 2 $+ $nick $+  12--> 2Por favor, 4No repita. 2Con una vez ya le leemos. 12(2ndo Aviso)
        PRIVmsg %ops 2Avisando a 1 $+ $nick $+  2de que no repita una frase o texto. 12[2]
        set -u1200 %NickRepite. [ $+ [ $+($nick,.,$chan) ] ] $calc($gettok(%NickRepite. [ $+ [ $+($nick,.,$chan) ] ],1,32) + 1) $gettok(%NickRepite. [ $+ [ $+($nick,.,$chan) ] ],2-,32)
        return
      }
      else if ($gettok(%NickRepite. [ $+ [ $+($nick,.,$chan) ] ],1,32) == 2) && ($gettok(%NickRepite. [ $+ [ $+($nick,.,$chan) ] ],2-,32) == $1-) {
        if (%advertido) { set -u300 %NickRepite.Advertido. [ $+ [ $+($nick,.,$chan) ] ] $calc(%advertido +1) | goto $calc(%advertido +1) }
        :3 | PRIVmsg $nick 4Se le Advirtío De que no Repitiera. Esta práctica molesta a los demas usuarios del canal, gracias y hasta pronto.
        ban -u1800 $chan $address($nick,2)
        kick $chan $nick Repetir una frase o una idea es molesto para el canal, con una vez ya le leemos.
        unset %NickRepite. [ $+ [ $+($nick,.,$chan) ] ]
        unset %NickRepite.Advertido. [ $+ [ $+($nick,.,$chan) ] ]
      }
      else { echo -s aqui-----
        set -u300 %NickRepite. [ $+ [ $+($nick,.,$chan) ] ] 0 $1-
      }
    }
  }
}
#Repite end
Publicado por: Dino
« en: Febrero 06, 2020, 08:26:42 pm »

use el que modifico Quetzalcoatl y dejo de funcioanar no advierte no banea ...   :-\
Publicado por: MiLeNiUm
« en: Febrero 03, 2020, 03:01:20 am »

el codigo que puse lo ajuste a una sola sala, de ahi la variable %pral y los level es para que "ignore" a los usarios que de nivel tenga 60 o mas o 100, quien tenga menos de ese nivel (en el bot), seria expulsado por repeticiones.
Publicado por: Quetzalcoatl
« en: Febrero 02, 2020, 09:45:21 pm »

no es propiamente un detalle que no funciona, más bien así esta hecho el código que funcione, cuando se repite una frase seguida y por ello reinicia los valores en las advertencia sin son diferente los textos de la linea previa a la ultima.

funciono de maravilla
pero encontre otro detalle que no funciona.

Lo que se puede hacer es crear una variable independiente que cuente si ha sido advertido por las repeticiones, y que esta variable sea temporal, y mantenga este valor por 5 min, después de eso desaparecerá.

Código: [Seleccionar]
#Repite on
on *:TEXT:*:%pral: {
  if ($ulevel >= 60) || ($ulevel >= 100) { halt }
  if ($ulevel < 100) {
    if ($nick !isop $chan) && ($nick isvo $chan) && ($me isop $chan) { return }
    if (%NickRepite. [ $+ [ $+($nick,.,$chan) ] ] == $null) { set -u300 %NickRepite. [ $+ [ $+($nick,.,$chan) ] ] 0 $1- }
    else if (%NickRepite. [ $+ [ $+($nick,.,$chan) ] ] != $null) { var %advertido = %NickRepite.Advertido. [ $+ [ $+($nick,.,$chan) ] ]
    ;----Si el usuario no ha sido advertido se crea una variable individual de lo contrario incrementa y va una advertencia definida.
    if (!%advertido) { set -u300 %NickRepite.Advertido. [ $+ [ $+($nick,.,$chan) ] ] 1 }
else { set -u300 %NickRepite.Advertido. [ $+ [ $+($nick,.,$chan) ] ] $calc(%advertido +1) | goto $calc(%advertido +1) }
    ;---- fin de la  manipulacin de la variable de advertencia
      if ($gettok(%NickRepite. [ $+ [ $+($nick,.,$chan) ] ],1,32) == 0) && ($gettok(%NickRepite. [ $+ [ $+($nick,.,$chan) ] ],2-,32) == $1-) {
        PRIVmsg $chan 2 $+ $nick $+  12--> 2Por favor, 4No repita. 2Con una vez ya le leemos. 12(1er Aviso)
        PRIVmsg %ops 2Avisando a 1 $+ $nick $+  2de que no repita una frase o texto. 12[1]
        set -u1200 %NickRepite. [ $+ [ $+($nick,.,$chan) ] ] $calc($gettok(%NickRepite. [ $+ [ $+($nick,.,$chan) ] ],1,32) + 1) $gettok(%NickRepite. [ $+ [ $+($nick,.,$chan) ] ],2-,32)
        return
      }
      else if ($gettok(%NickRepite. [ $+ [ $+($nick,.,$chan) ] ],1,32) == 1) && ($gettok(%NickRepite. [ $+ [ $+($nick,.,$chan) ] ],2-,32) == $1-) {
        :2 | msg $chan 2 $+ $nick $+  12--> 2Por favor, 4No repita. 2Con una vez ya le leemos. 12(2ndo Aviso)
        PRIVmsg %ops 2Avisando a 1 $+ $nick $+  2de que no repita una frase o texto. 12[2]   
        set -u1200 %NickRepite. [ $+ [ $+($nick,.,$chan) ] ] $calc($gettok(%NickRepite. [ $+ [ $+($nick,.,$chan) ] ],1,32) + 1) $gettok(%NickRepite. [ $+ [ $+($nick,.,$chan) ] ],2-,32)
        return
      }
      else if ($gettok(%NickRepite. [ $+ [ $+($nick,.,$chan) ] ],1,32) == 2) && ($gettok(%NickRepite. [ $+ [ $+($nick,.,$chan) ] ],2-,32) == $1-) {
       :3 | PRIVmsg $nick 4Se le Advirtío De que no Repitiera. Esta práctica molesta a los demas usuarios del canal, gracias y hasta pronto.
        ban -u1800 $chan $address($nick,2)
        kick $chan $nick Repetir una frase o una idea es molesto para el canal, con una vez ya le leemos.
        unset %NickRepite. [ $+ [ $+($nick,.,$chan) ] ]
      }
      else {
        set -u300 %NickRepite. [ $+ [ $+($nick,.,$chan) ] ] 0 $1-
      }
    }
  }
}
#Repite end

Solo se agregaron dos lineas de código y otras dos de anotaciones, no he probado el código, pero en teoría te debería funcionar

Saludos.
Publicado por: Dino
« en: Febrero 01, 2020, 06:33:13 am »

<master> heyyyy
<master> heyyyy
<@JetLee> master ==>> Por favor, No repitas Con una vez ya le leemos. (1er Aviso) <<==
<master> heyyyy
<@JetLee> master ==>> Calmate, trata de escribir todo en una sola linea por favor. (2do Aviso) <<==
<master> yaaa
<master> heyyyyy
<master> heyyyyy
<@JetLee> master ==>> Por favor, No repitas Con una vez ya le leemos. (1er Aviso) <<==

si digo la frase dos veces me advierte pero si meto una frase que no esta repetida y luego vuelvo a repetir la anterior frase no castiga
y el conteo empieza desde cero...
el detalle es que al repetir en la tercera vez pero intercalado con una frase la secuencia deberia de continuar y aplicar el castigo cosa que no lo hace.. se puede solucionar ese detalle??
anything