Ayuda IRcap > Ayuda scripting IRcap

Poner modos automaticos cuando se cambian varios nick de forma seguida.

(1/5) > >>

Hanna:
Hola.

Estoy intentando hacer una pequeña de protección automática, para cuando ataquen clones y les de por cambiarse de nick dentro den canal.

Cuando pase esto:


--- Citar ---jdkfb es ahora tnqwqwg
jhknp es ahora foekxr
wkfdqut es ahora aqvxdi
fcphiv es ahora fahuvxt
vcdqao es ahora rnavrr
juinrq es ahora solzrk
--- Fin de la cita ---

El canal ponga lo modos N y W y ponga el modo +j 3:1, y cuando pase 30min el mismo bot quite los modos puestos.


--- Código: ---on 1:nick: {
    if (%Nick_Flood. [ $+ [ $nick ] ] == $null) {
      set -u4 %Nick_Flood [ $+ [ $nick ] ] 0
    }
    else {
      inc %Nick_Flood [ $+ [ $nick ] ]
    }
    if (%Nick_Flooder. [ $+ [ $nick ] ] == 2) {
     timerene 1 5 .mode #sevilla +N | .timerjoin 1 5 mode #Sevilla +j 3:1 | .timerww 1 5 mode #Sevilla +W | .timerdelete mode #Sevilla -NWj
    }
  }
--- Fin del código ---

Un saludo.

Muchas gracias de antemano.

Quetzalcoatl:
Hola Hanna

No entiendo o veo la pregunta, pero mirando tu código veo que No consideraste que el evento on Nick, no te da el nombre del canal y solo el $nick y $newnick, para ello debes revisar si el nick esta en #sevilla, con lo que respecta a tu variable de  %Nick_Flood.$nick, pero al crearla o incrementarla el .(punto) no se lo agregas y queda como  %Nick_Flood$nick y en los modos los aplicas todos en un diferente timer, pudiendo agruparlos en uno solo como
 timerene 1 5 .mode #sevilla +NWj 3:1 pero aunque es un ataque si se pone así, el timer se reiniciara continuamente, para eso habrá que agregar una variable de control si ya se cumplió un nick con los tres cambios, en cuanto a .timerdelete mode #Sevilla -NWj se ve bien, pero olvidaste ponerle el tiempo, quizás te seria útil esto:


--- Código: ---;==== Inicio del comprobador de cambios de nicks rapidos.
on 1:nick: {
  if ($nick !ison #sevilla) { return }
  if (%Nick_Flood-cambio. [ $+ [ $nick ] ] == $null) { set -u4 %Nick_Flood-cambio. [ $+ [ $nick ] ] 0 }
  inc %Nick_Flood-cambio. [ $+ [ $nick ] ]
  if ((%Nick_Flood-cambio. [ $+ [ $nick ] ] == 3) && (%Nick_Flood-cambio.#sevilla != 1)) {
     set -u60 %Nick_Flood-cambio.#sevilla 1
    .timer-INICIO-FloodCambio 1 5 .mode #sevilla +NWj 3:1 | .timer-FIN-FloodCambio 1 60 mode #Sevilla -NWj
  }
}
;==== EOF

--- Fin del código ---

igual se le podría agregar un ban -uk a su host en ves del cambio de modos y/o poner un if ($ial($nick,0) = 3) { aqui la sanción}  en un evento on join para permitir 2 clones.

Saludos

PD: los cambios de modos de -NWj se aplican después de 60 del primer cambio detectado(3 veces que el nick se cambio) de nick en menos de 4s, deje el retraso de 5s en la colocación de modos como lo tenias antes.

Hanna:
Hola.

Me puede explicar mal, ahora que leo, lo que queria es que si hacen en menos de 3 segundos por ejemplo 5 cambios de nick, el bot hiciera los cambios de modos y pusiera en primer lugar NWj 3:1 y los 1800 segundos los retirara los modos puesto.

Pero igualmente voy a probar el tuyo, y ya te digo si me funciono.

Hanna:
Buenas de nuevo.

A ver si me explico mejor en este.

Lo que quiero si se cambian varios nick de golpe o sea 4 o 5 en menos de 5segundos active automaticamente el NWj 3:1 y pasado 30minutos desactive esos modos que se habían puesto.

¿Mejor ahora?

Un saludo

Y muchas gracias.

Quetzalcoatl:
Eso te serviría como pides, solo cambiarías la sección de los temporizadores que están como

  .timer-INICIO-FloodCambio 1 5 .mode #sevilla +NWj 3:1 | .timer-FIN-FloodCambio 1 60 mode #Sevilla -NWj

si el modo quieres que se aplique sin esperar los 5 segundos solo quitas el primer timer y en el que que quita los modos entonces cambiarías el 60(1 minuto) por el tiempo que requieres, en tal caso dices que sean 30 min seria poner $calc(60*30)  y quedaría algo como:

--- Código: ---.mode #sevilla +NWj 3:1 | .timer-FIN-FloodCambio 1 $calc(60*30) mode #Sevilla -NWj
--- Fin del código ---

Saludos

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Responder

Ir a la versión completa