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.
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
}
}
}