alias request.reply return 15
alias request.status return o
alias request.time return 15
on *:text:!request *:#: {
if ($left($2,1) == $chr(35)) {
if (!$3) $iif(!%request*,$iif($me ison $2,msg # I am already on that channel $+($nick,.),request.confirm $nick $2),msg # Hello $+($nick,$chr(44)) I am currently doing a request. Please try again soon.)
elseif ($3 == yes && $($+(%,request,$nick,$2),2)) { msg # Ok $+($nick,$chr(44)) I will join your channel and you will have $+(,$request.time,) seconds to give me $+(,$request.status,,.) | request.join $2 }
elseif ($3 == no) { msg # I am sorry to hear that $+($nick,.) Maybe next time. }
else { msg # *** Syntax: !request <channel> }
}
}
alias request.confirm msg # Hello $+($1,$chr(44)) for me to join $2 I will need $request.status or higher. If you can guarantee this, you have $+(,$request.reply,) seconds to type type !request $2 yes | set $+(-u,$request.reply) $+(%,request,$1,$2) active
alias request.join hadd -m request $network $iif($hget(request,$network),$hget(request,$network) $1) | hsave -o request request.hsh | join $1 | .timer 1 $request.time request.check $1
alias request.check $iif($nick($1,$me,$request.status),,request.part $1)
alias request.part msg $1 I have not been given $+(,$request.status,,) status, now parting. | part $1
on *:connect: .timer 1 5 join $iif($chr(32) isin $hget(request,$network),$replace($hget(request,$network),$chr(32),$chr(44)),$hget(request,$network))
on *:start:{
if !$hget(request) { hmake request 20 }
if $exists(request.hsh) { .hload request request.hsh }
}