Autor Tema: Antispam  (Leído 1005 veces)

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

Desconectado Cadaver

  • Miembro de pleno derecho
  • ***
  • Mensajes: 117
  • Karma: +149/-3
  • Sexo: Masculino
Re:Antispam
« Respuesta #15 en: Marzo 31, 2021, 05:39:37 pm »
Ya en el foro se había publicado por mí algo similar para "malas palabras"  que al fin de cuentas sirve para este mismo caso incluía los comandos de agregar palabras y excepciones, nada mas busquen el post.

Este código esta bien y debería funcionar en todas las versiones pero no es así (v7.32 funciona):
Código: [Seleccionar]
//var %a comií | if ($regex($strip(%a),/\b(?:http|www|com|org|net)\b/i)) { echo -a detectado }
Dando una revisada por el foro, el código que les mencione fue eliminado como muchos otros de mi autoría.
« última modificación: Marzo 31, 2021, 05:49:30 pm por Cadaver »

Desconectado Cadaver

  • Miembro de pleno derecho
  • ***
  • Mensajes: 117
  • Karma: +149/-3
  • Sexo: Masculino
Re:Antispam
« Respuesta #16 en: Marzo 31, 2021, 10:14:27 pm »
Aquí les dejo un código que hice y esta funcionando para agregar canales donde debe funcionar y agregar excepciones debes ser nivel 200, el comando para agregar canal es .linkc +#prueba o .linkc -#prueba para quitar, el comando para agregar excepción es .linke +*ejemplo.com* o .#linke -*ejemplo.com* para quitar, no es necesario agregar youtube lo rechaza en automático. Le pueden agregar otras opciones en el avance que ya tenían.

Código: [Seleccionar]
on *:TEXT:*:#: {
  var %t = $strip($1-)
  ;; Tienes que ser nivel 200 para ejecutar, agregar quitar los canales donde funcionara y las excepciones ;;
  if ($ulevel = 200) {
    var %d = $left($2,1), %d1 = $right($2,-1)
    if ($1 == .linkc) {
      if (%d = +) {
        var %x $read($mircdirscripts/link.chan.txt,w,%d1)
        if (%x) { msg # Ya existe: %d1 - Total: $lines($mircdirscripts/link.chan.txt) }
        if (!%x) { write $mircdirscripts/link.chan.txt %d1 | msg # Agregado: %d1 - Total: $lines($mircdirscripts/link.chan.txt) }
      }
      if (%d = -) {
        var %x $read($mircdirscripts/link.chan.txt,w,%d1)
        if (%x) { write $+(-dl,$readn) $mircdirscripts/link.chan.txt | msg # Borrado: %d1 - Total: $lines($mircdirscripts/link.chan.txt) }
        if (!%x) { msg # No existe: %d1 - Total: $lines($mircdirscripts/link.chan.txt) }
      }
    }
    if ($1 == .linke) {
      if (%d = +) {
        var %x $read($mircdirscripts/link.exc.txt,w,%d1)
        if (%x) { msg # Ya existe: %d1 - Total: $lines($mircdirscripts/link.exc.txt) }
        if (!%x) { write $mircdirscripts/link.exc.txt %d1 | msg # Agregado: %d1 - Total: $lines($mircdirscripts/link.exc.txt) }
      }
      if (%d = -) {
        var %x $read($mircdirscripts/link.exc.txt,w,%d1)
        if (%x) { write $+(-dl,$readn) $mircdirscripts/link.exc.txt | msg # Borrado: %d1 - Total: $lines($mircdirscripts/link.exc.txt) }
        if (!%x) { msg # No existe: %d1 - Total: $lines($mircdirscripts/link.exc.txt) }
      }
    }
  }
  ;; Ahora si viene lo bueno ... ;;
  ;; Aqui revisa si el nick es regular y si el texto es dicho en alguno de los canales agregados y si contiene algún link y revisa que no sea de youtube ;;
  if ($nick isreg #) && ($regex(%t,/(^[+-]|(https?|www\.)(www\.)?[\S]*)/Si)) && ($read($mircdirscripts/link.chan.txt,w,#)) {
    var %z = 1
    while (%z <= $lines($mircdirscripts/link.exc.txt)) {
      var %x $read($mircdirscripts/link.exc.txt,%z)
      if (!$wildtok(%t,%x,0,32)) {
        if ($regex($gettok(%t,$gettok(%t,%x,32),32),/(^[+-]|(https?|www\.)(www\.)?[\S]*)/Si)) && (!$regex($gettok(%t,$gettok(%t,%x,32),32),/(?:^https?:\/\/|www\.)(?:[\S]*youtube\.com|youtu\.be)/i)) { ban -ku600 $chan $nick 2 Publicidad no permitida en el canal | msg #canaldebug Web Expulsando a $+($nick,$chr(40),$address,$chr(41)) por: $gettok(%t,$gettok(%t,%x,32),32) }
      }
      inc %z
    }
  }
}
« última modificación: Marzo 31, 2021, 10:28:34 pm por Cadaver »

Desconectado Hanna

  • Miembro Junior
  • **
  • Mensajes: 81
  • Karma: +14/-5
Re:Antispam
« Respuesta #17 en: Abril 10, 2021, 06:10:21 pm »
Buenas tardes

Perdón por la tardanza en responder, he tenido mucho lio y no he podido responder antes.

excelente código Cadaver

Muchisimas gracias Cadaver y Quetzalcoatl

 

anything