Autor Tema: Anti-Repeticiones con Excepciones  (Leído 2386 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Zentinel

  • Visitante
Anti-Repeticiones con Excepciones
« en: Enero 14, 2014, 12:13:09 pm »
Buenas tengo este codigo Anti-Repeticiones con avisos que me gustaria añadirle algunas excepciones de palabras como por ejemplo los xD o alguna otra cosa mas mediante archivo de texto .txt pero no ve loa forma y e prbado varias formas y nada a ver si alguien puede echarme una mano Gracias!

on *:text:*:#: {
  if ($me isop $chan) && ($nick !isop $chan)  && ($nick !isvoice $chan) && ($chan == #CANAL) {
    if (%NickRepite. [ $+ [ $nick ] ] == $null) { set -eu300 %NickRepite. [ $+ [ $nick ] ] 0 $1- }
    else if (%NickRepite. [ $+ [ $nick ] ] != $null) {
      if ($gettok(%NickRepite. [ $+ [ $nick ] ],1,32) == 0) && ($gettok(%NickRepite. [ $+ [ $nick ] ],2-,32) == $1-) {
        msg $chan 2 $nick  --> 10Por favor, No repita. Con una vez ya le leemos. (1er Aviso)
        set -eu1200 %NickRepite. [ $+ [ $nick ] ] $calc($gettok(%NickRepite. [ $+ [ $nick ] ],1,32) + 1) $gettok(%NickRepite. [ $+ [ $nick ] ],2-,32)
        return
      }
      else if ($gettok(%NickRepite. [ $+ [ $nick ] ],1,32) == 1) && ($gettok(%NickRepite. [ $+ [ $nick ] ],2-,32) == $1-) {
        k $nick  Se le avisó de que no repita. Esta práctica molesta a los demas usuarios del canal, gracias. Con una vez ya le leemos!
        set -eu1200 %NickRepite. [ $+ [ $nick ] ] $calc($gettok(%NickRepite. [ $+ [ $nick ] ],1,32) + 1) $gettok(%NickRepite. [ $+ [ $nick ] ],2-,32)
        return
      }   
      else if ($gettok(%NickRepite. [ $+ [ $nick ] ],1,32) == 2) && ($gettok(%NickRepite. [ $+ [ $nick ] ],2-,32) == $1-) {
        msg $chan 10Se le Advirtío2  $nick $+  , 10 De que no Repitiera. Esta práctica molesta a los demas usuarios del canal, gracias y hasta pronto. | ban -u1800 $chan $address($nick,2) | k $nick Repetir una frase o una idea es molesto para el canal, con una vez ya le leemos.  | unset %NickRepite. [ $+ [ $nick ] ]
      }
      else { set -eu300 %NickRepite. [ $+ [ $nick ] ] 0 $1- }
    }
  }
}


Aquí dejo el codigo a ver si alguien es tan amable de echarme una mano!

Desconectado Randy

  • Miembro de pleno derecho
  • ***
  • Mensajes: 128
  • Karma: +14/-21
  • Sexo: Masculino
  • MSL - Servicios de ayuda al Usuario
    • ICSVE - Internet And Computer Services
Re:Anti-Repeticiones con Excepciones
« Respuesta #1 en: Enero 18, 2014, 04:22:30 am »
Código: [Seleccionar]
on *:text:*:#: {
  if ($me isop $chan) && ($nick !isop $chan)  && ($nick !isvoice $chan) && ($chan == #CANAL) {

var %a 1
;Excepciones deben ser guardadas en el archivo 'Excepciones.txt' del directorio del mIRC.
;Una palabra por linea
while %a <= $lines(excepciones.txt) {
var %b 1
while %b <= $numtok($1-,32)   {
if $read(excepciones.txt,%a) == $gettok($1-,%b,32) {
halt
}
inc %b
}

inc %a
}

  if (%NickRepite. [ $+ [ $nick ] ] == $null) { set -eu300 %NickRepite. [ $+ [ $nick ] ] 0 $1- }
    else if (%NickRepite. [ $+ [ $nick ] ] != $null) {
      if ($gettok(%NickRepite. [ $+ [ $nick ] ],1,32) == 0) && ($gettok(%NickRepite. [ $+ [ $nick ] ],2-,32) == $1-) {
        msg $chan 2 $nick  --> 10Por favor, No repita. Con una vez ya le leemos. (1er Aviso)
        set -eu1200 %NickRepite. [ $+ [ $nick ] ] $calc($gettok(%NickRepite. [ $+ [ $nick ] ],1,32) + 1) $gettok(%NickRepite. [ $+ [ $nick ] ],2-,32)
        return
      }
      else if ($gettok(%NickRepite. [ $+ [ $nick ] ],1,32) == 1) && ($gettok(%NickRepite. [ $+ [ $nick ] ],2-,32) == $1-) {
        k $nick  Se le avisó de que no repita. Esta práctica molesta a los demas usuarios del canal, gracias. Con una vez ya le leemos!
        set -eu1200 %NickRepite. [ $+ [ $nick ] ] $calc($gettok(%NickRepite. [ $+ [ $nick ] ],1,32) + 1) $gettok(%NickRepite. [ $+ [ $nick ] ],2-,32)
        return
      }   
      else if ($gettok(%NickRepite. [ $+ [ $nick ] ],1,32) == 2) && ($gettok(%NickRepite. [ $+ [ $nick ] ],2-,32) == $1-) {
        msg $chan 10Se le Advirtío2  $nick $+  , 10 De que no Repitiera. Esta práctica molesta a los demas usuarios del canal, gracias y hasta pronto. | ban -u1800 $chan $address($nick,2) | k $nick Repetir una frase o una idea es molesto para el canal, con una vez ya le leemos.  | unset %NickRepite. [ $+ [ $nick ] ]
      }
      else { set -eu300 %NickRepite. [ $+ [ $nick ] ] 0 $1- }
    }
  }
}
No lo he probado xd asi que suerte.

Agradecer y aplaudir no cuesta nada, y vale mucho para nosotros.

Zentinel

  • Visitante
Re:Anti-Repeticiones con Excepciones
« Respuesta #2 en: Enero 22, 2014, 02:14:55 pm »
Randy así no funciona pero muchas gracias de todas formas

Ya encontré la forma para que funcione
El archivo .txt ExcepcionesTextos.txt tiene que en la misma carpeta que vaya el código, osease como lo pongan o script.mrc o antirepes.mrc.

Código: [Seleccionar]
[b]on *:text:*:#: {
[color=red]if ($2 == $null) && ($read($scriptdirExcepcionesTextos.txt,w,$left($1,2) $+ *) != $null) return[/color]
  if ($me isop $chan) && ($nick !isop $chan)  && ($nick !isvoice $chan) && ($chan == #CANAL) {
    if (%NickRepite. [ $+ [ $nick ] ] == $null) { set -eu300 %NickRepite. [ $+ [ $nick ] ] 0 $1- }
    else if (%NickRepite. [ $+ [ $nick ] ] != $null) {
      if ($gettok(%NickRepite. [ $+ [ $nick ] ],1,32) == 0) && ($gettok(%NickRepite. [ $+ [ $nick ] ],2-,32) == $1-) {
        msg $chan 2 $nick  --> 10Por favor, No repita. Con una vez ya le leemos. (1er Aviso)
        set -eu1200 %NickRepite. [ $+ [ $nick ] ] $calc($gettok(%NickRepite. [ $+ [ $nick ] ],1,32) + 1) $gettok(%NickRepite. [ $+ [ $nick ] ],2-,32)
        return
      }
      else if ($gettok(%NickRepite. [ $+ [ $nick ] ],1,32) == 1) && ($gettok(%NickRepite. [ $+ [ $nick ] ],2-,32) == $1-) {
        k $nick  Se le avisó de que no repita. Esta práctica molesta a los demas usuarios del canal, gracias. Con una vez ya le leemos!
        set -eu1200 %NickRepite. [ $+ [ $nick ] ] $calc($gettok(%NickRepite. [ $+ [ $nick ] ],1,32) + 1) $gettok(%NickRepite. [ $+ [ $nick ] ],2-,32)
        return
      }   
      else if ($gettok(%NickRepite. [ $+ [ $nick ] ],1,32) == 2) && ($gettok(%NickRepite. [ $+ [ $nick ] ],2-,32) == $1-) {
        msg $chan 10Se le Advirtío2  $nick $+  , 10 De que no Repitiera. Esta práctica molesta a los demas usuarios del canal, gracias y hasta pronto. | ban -u1800 $chan $address($nick,2) | k $nick Repetir una frase o una idea es molesto para el canal, con una vez ya le leemos.  | unset %NickRepite. [ $+ [ $nick ] ]
      }
      else { set -eu300 %NickRepite. [ $+ [ $nick ] ] 0 $1- }
    }
  }[/b]
}

Aquí os lo dejo por si queréis probarlo o simplemente a alguien le interesa para su canal!

asturgijones

  • Visitante
Re:Anti-Repeticiones con Excepciones
« Respuesta #3 en: Enero 24, 2014, 02:24:24 pm »
Hola para que el bot de 3 avisos como hago? Gracias

Zentinel

  • Visitante
Re:Anti-Repeticiones con Excepciones
« Respuesta #4 en: Enero 25, 2014, 05:11:49 pm »
on *:text:*:#: {
if ($2 == $null) && ($read($scriptdirExcepcionesTextos.txt,w,$left($1,2) $+ *) != $null) return
  if ($me isop $chan) && ($nick !isop $chan)  && ($nick !isvoice $chan) && ($chan == #CANAL) {
    if (%NickRepite. [ $+ [ $nick ] ] == $null) { set -eu300 %NickRepite. [ $+ [ $nick ] ] 0 $1- }
    else if (%NickRepite. [ $+ [ $nick ] ] != $null) {
      if ($gettok(%NickRepite. [ $+ [ $nick ] ],1,32) == 0) && ($gettok(%NickRepite. [ $+ [ $nick ] ],2-,32) == $1-) {
        msg $chan  $nick  --> Por favor, No repita. Con una vez ya le leemos. (1er Aviso)
        set -eu1200 %NickRepite. [ $+ [ $nick ] ] $calc($gettok(%NickRepite. [ $+ [ $nick ] ],1,32) + 1) $gettok(%NickRepite. [ $+ [ $nick ] ],2-,32)
        return
      }
<--- primero aviso

      else if ($gettok(%NickRepite. [ $+ [ $nick ] ],1,32) == 1) && ($gettok(%NickRepite. [ $+ [ $nick ] ],2-,32) == $1-{ msg  $chan $nick --> Se le avisó de que no repita. Esta práctica molesta a los demas usuarios del canal, gracias. Con una vez ya le leemos! (2º Aviso)
        set -eu1200 %NickRepite. [ $+ [ $nick ] ] $calc($gettok(%NickRepite. [ $+ [ $nick ] ],1,32) + 1) $gettok(%NickRepite. [ $+ [ $nick ] ],2-,32)
        return 
      } 
<--- segundo aviso

     else if ($gettok(%NickRepite. [ $+ [ $nick ] ],1,32) == 1) && ($gettok(%NickRepite. [ $+ [ $nick ] ],2-,32) == $1-) {
        msg  $chan $nick --> Se le avisó de que no repita. Esta práctica molesta a los demas usuarios del canal, gracias. Con una       vez ya le leemos! (3er Aviso)
        set -eu1200 %NickRepite. [ $+ [ $nick ] ] $calc($gettok(%NickRepite. [ $+ [ $nick ] ],1,32) + 1) $gettok(%NickRepite. [ $+ [ $nick ] ],2-,32)
        return
  <-- tercer aviso
      else if ($gettok(%NickRepite. [ $+ [ $nick ] ],1,32) == 2) && ($gettok(%NickRepite. [ $+ [ $nick ] ],2-,32) == $1-) {
        msg $chan Se le Advirtío  $nick $+  , De que no Repitiera. Esta práctica molesta a los demas usuarios del canal, gracias y hasta pronto. | ban -u1800 $chan $address($nick,2) | k $nick Repetir una frase o una idea es molesto para el canal, con una vez ya le leemos.  | unset %NickRepite. [ $+ [ $nick ] ]
      }
      else { set -eu300 %NickRepite. [ $+ [ $nick ] ] 0 $1- }
    }
  }[/b]
}

Desconectado Diablo

  • Novato
  • *
  • Mensajes: 4
  • Karma: +0/-0
Re:Anti-Repeticiones con Excepciones
« Respuesta #5 en: Octubre 20, 2018, 03:21:01 pm »
Hola a todos/as , soy consciente  de que este tema  es del 2014 , pero hasta  hoy digamos que no me ha sido necesario

Ahora que si lo necesito y me surge un problema

Si lo uso para un canal no tengo ningun problema , he variado los timer para que me sirva a mis necesidades y va  muy bien , pero cuando lo quiero usar para dos  canales  , si alguien pone cualquier frase igual en un canal que en el otro salta el aviso

EJEMPLO :  chatea71249 pone  buenos dias (canal A ) y buenos dias (canal B) salta  chatea71249  --> Por favor, No repita. Con una vez ya le leemos. (1er Aviso)

He intentado poniendo  on *:text:*:#A,#B: y dejando if ($me isop $chan) && ($nick !isop $chan)  && ($nick !isvoice $chan) && ($chan == #) y salta el aviso

Tambien he provado  on *:text:*:#: y poniendo  if ($me isop $chan) && ($nick !isop $chan)  && ($nick !isvoice $chan) && ($chan == #A,#B) y salta el aviso

Ya no se que hacer , por eso si alguien sabe como solucionarlo , se lo agradeceria mucho

Desconectado Quetzalcoatl

  • Novato
  • *
  • Mensajes: 13
  • Karma: +2/-0
Re:Anti-Repeticiones con Excepciones
« Respuesta #6 en: Octubre 21, 2018, 12:08:17 am »
Agregas a la variable %NickRepite. [ $+ [ $nick ] ], el canal aun lado del nick y en el mismo formato en todos los comparadores.
asi evaluara en los canales individuales.

Desconectado Diablo

  • Novato
  • *
  • Mensajes: 4
  • Karma: +0/-0
Re:Anti-Repeticiones con Excepciones
« Respuesta #7 en: Octubre 21, 2018, 07:24:53 pm »
Citar
Agregas a la variable %NickRepite. [ $+ [ $nick ] ], el canal aun lado del nick y en el mismo formato en todos los comparadores.
asi evaluara en los canales individuales.


Holas Quetzalcoatl 1º darte las gracias por la contestacion , pero soy muy torpe o no lo he entendido , lo pongo con el #canal  de todas formas y no funciona

Ejemplo :  %NickRepite. [ $+ [ $nick ] ] #canal 
                 %NickRepite. [ $+ [ $nick ] #canal ]
                 %NickRepite. [ $+ [ $nick #canal ] ]

Si prodias indicarme o alguien mas podria decirmelo estaria muy agradecido

Un saludos a todos / as

Desconectado Quetzalcoatl

  • Novato
  • *
  • Mensajes: 13
  • Karma: +2/-0
Re:Anti-Repeticiones con Excepciones
« Respuesta #8 en: Octubre 24, 2018, 11:10:42 pm »
te falto esta combinación
%NickRepite. [ $+ [ $nick $+ $chan ] ]

Desconectado Diablo

  • Novato
  • *
  • Mensajes: 4
  • Karma: +0/-0
Re:Anti-Repeticiones con Excepciones
« Respuesta #9 en: Octubre 31, 2018, 10:15:47 pm »
te falto esta combinación
%NickRepite. [ $+ [ $nick $+ $chan ] ]

Muchas gracias , aunque no se , soy igual mas torpe de lo que creia  , lo he puesto y no consigo que me funcione

Pero en este mismo foro , he encontrado uno que si me funciona

Eso si te lo agradezco , como si realmente me hubiese funcionado

Un saludo a todos

Desconectado Diablo

  • Novato
  • *
  • Mensajes: 4
  • Karma: +0/-0
Re:Anti-Repeticiones con Excepciones
« Respuesta #10 en: Noviembre 03, 2018, 06:08:57 pm »
Bueno , comunicaros que el que crei que me funcionaba , si que funciona , pero me hace exactamente igual que este asi que me seguire peleando por que no doy con ello

Un saludo y gracias a todos  los 2.191 que han visitado esta pagina y en especial a los que me han contestado