For one, you're only checking the first word for urls/emails (if ($regex(
$1,/ $+ $re.mail $+ /i))) when it should be
$1-Try this, a slight recode; changed the
email expression a little (added a couple more valid chars) and changed the way the re.* aliases work.
alias re.link return $regex($1-,/(?:\w+\:\/\/)?[\w\.]+\.(?:com|net|org|biz|us|ca|uk|ph|info)(?:[\w\/\%\.]*?)/)
alias re.mail return $regex($1-,/(?:(?:[\w.%+-])+@(?:[\w-]+\.)+[a-z]{2,4})\b/i)
on @*:text:*:#channel:{
if ($nick !isop #) && ($re.mail($1-) || $re.link($1-)) {
ban -ku75 # $nick 1 no adds
}
}