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