Except this one doesn't work either, looking for "www.' and the like inside the text will fail on a lot of occasions.
Try this, you can do !links per channel. The number of warning is global, meaning that if a nickname has been warned twice on channel #a, if he send an url on channel #b, it's taken as the third warning.
Code:
on *:text:*:#:{
  if ($regex($1-,/^!links (on|off)/)) && ($nick isop $chan) {
      if ($2 == on) %channellink = $remtok(%channellink,$chan,32)
      else %channellink = $addtok(%channellink,$chan,32)
      msg $chan Link status changed: $2
  }
  elseif ($regex($1-,/^!permit .+/)) && ($nick isop $chan) {
    set %nicklink $+ $chan $($+(%,nicklink,$chan),2) $2
    .timer 1 30 set %nicklink $+ $chan $remtok($($+(%,nicklink,$chan),2),$2,32)
    msg $chan You have 30 seconds to post a link, $2
  }
  elseif (!$istok(%channellink,$chan,32)) && ($isurl($1-)) && (!$istok($($+(%,nicklink,$chan),2),$nick,32)) {
    var %w $($+(%,warnurl,$nick),2)
    if (%w == 1) {
      msg $chan /timeout $nick 10
      msg $chan Please ask permission before posting a link, $nick
      .timermsg 1 3600 unset $+(%,warnurl,$nick)
      inc %warnurl $+ $nick
    }
    elseif (%w == 2) { 
      msg $chan /timeout $nick 
      msg $chan No links without permission, $nick $+ !
      .timermsg 1 3600 unset $+(%,warnurl,$nick)
      inc %warnurl $+ $nick
    }
    elseif (%w == 3) { 
      msg $chan /timeout $nick 86400
      msg $chan That was your 3rd link. Try again tomorrow, $nick
      unset %warnurl $+ $nick
    }
  }
}
alias url_pattern return m@((?:(?:https?|ircs?)://(?:www\.)?|www\.)((?:(?:[-\w]+\.)+)[-\w]+)(?::\d+)?(?:/((?:[-a-zA-Z;./\d#:_?=&,]*)))?)@ig
alias isurl {
  noop $regex(isurl,$1-,$url_pattern) 
  if ($prop == all) {
    var %a 1,%url
    while ($regml(isurl,%a) != $null) {
      %url = %url $v1
      inc %a
    }
    return %url
  }
  return $iif($prop isnum 0-,$regml(isurl,$prop),$iif($regml(isurl,0),$true,$false))
}

Last edited by Wims; 19/02/16 09:55 PM.

#mircscripting @ irc.swiftirc.net == the best mIRC help channel