ircN for mIRC — File Browser
ircNformIRCv6.0 / ircNformIRCv6.0 / ircn / SYSTEM / Irc2.mrc
Irc2.mrc — 27.5 KB — Download this file
;%%%%%%%%%%%%%%%%%%%%%%%%
;script irc2
;version 2.1
;author Chutzpah
;email chutzpah@ircn.com
;url http://www.ircN.com
;%%%%%%%%%%%%%%%%%%%%%%%%
on 1:input: {
if ($left($active,5) == @irc2) {
if ($left($1,1) != /) {
if ($active == @irc2 Status:) i2.secho $c-c(info,*** You're not on a channel)
elseif (($right($1,1) == %irc2.nch) && (%irc2.nc == on)) {
set %i2.nctmp %irc2.nlb $+ $i2.nc($left($1,$sub($len($1),1))) $+ %irc2.nrb
i2.msg $i2.active %i2.nctmp $2-
i2.techo $i2.active < $+ $c-c(highlight, [ %i2.me ] ) $+ > %i2.nctmp $2-
unset %i2.nctmp
}
else {
i2.msg $i2.active $1-
i2.techo $i2.active < $+ $c-c(highlight, [ %i2.me ] ) $+ > $1-
}
halt
}
else {
if (($1 == /j) || ($1 == /join)) {
if ($2) i2.join $2
else i2.iecho Syntax: $1 <channel>
}
elseif (($1 == /p) || ($1 == /part)) {
if ($2) i2.part $2
elseif ($left($i2.active,1) == $chr(35)) i2.part $i2.active
else i2.iecho Syntax: $1 <channel>
}
elseif (($1 == /m) || ($1 == /msg)) { i2.pmsg $i2.nc($2) $3- | set %rel.sm [msg( $+ $$2 $+ )] $3- }
elseif (($1 == /n) || ($1 == /notice)) {
if (($2) && ($2 !ischan)) i2.notice $i2.nc($2) $3- | set %rel.sn [not( $+ $$2 $+ )] $3-
elseif ($2 ischan) {
i2.quote notice $2 : $+ $3-
i2.techo -> $chr(91) $+ $2 $+ $chr(93) $3-
set %rel.sn [not( $+ $$2 $+ )] $3-
}
}
elseif ($1 == /ctcp) { i2.ctcp $i2.nc($2) $3- | set %rel.sc [ctcp( $+ $$2 $+ )] $upper($3) $4- }
elseif ($1 == /ping) {
if ($2) {
i2.ctcp $i2.nc($2) ping
%rel.sc [ctcp( $+ $2 $+ )] PING
}
elseif (Status !isin $active) {
i2.ctcp $i2.active ping
set %rel.sc [ctcp( $+ $i2.active $+ )] PING
}
else i2.iecho Syntax: /ping <nick|chan>
}
elseif (($1 == /version) || ($1 == /ver)) {
if ($2) { i2.ctcp $i2.nc($2) version | %rel.sc [ctcp( $+ $2 $+ )] VERSION }
elseif (Status !isin $active) { i2.ctcp $i2.active version | set %rel.sc [ctcp( $+ $2 $+ )] VERSION }
else i2.iecho Syntax: /ver <nick|chan>
}
elseif ($1 == /nick) { if ($2) i2.quote nick $strip($2) | else i2.iecho Syntax: /nick <nick> }
elseif ($1 == /cycle) {
if ($2) { i2.part $2 | i2.join $2 }
elseif (Status !isin $active) { i2.part $i2.active | i2.join $i2.active }
else i2.iecho Syntax: /cycle <chan>
}
elseif ($1 == /ban) {
if (($2 ischan) && ($3 !ischan)) {
set %i2.banc $2
set %i2.bann $4
i2.quote userhost $3
}
elseif ($2 !ischan) {
set %i2.banc $i2.active
set %i2.bann $3
i2.quote userhost $i2.nc($2)
}
else i2.iecho Syntax: /ban <channel> <nick>
}
elseif ($1 == /op) { if ($2) i2.mode $i2.active + $+ $str(o,%modesonline) $2- | else i2.syntax $1 }
elseif ($1 == /dop) { if ($2) i2.mode $i2.active - $+ $str(o,%modesonline) $2- | else i2.syntax $1 }
elseif ($1 == /v) { if ($2) i2.mode $i2.active + $+ $str(v,%modesonline) $2- | else i2.syntax $1 }
elseif ($1 == /dv) { if ($2) i2.mode $i2.active - $+ $str(v,%modesonline) $2- | else i2.syntax $1 }
elseif (($1 == /k) || ($1 == /kick)) {
if ($2 ischan) {
if ($4) relay kick $2 $3 : $+ $4-
else relay kick $2 $3
}
elseif ($2) {
if ($3) i2.quote kick $i2.active $i2.nc($2) : $+ $3-
else i2.quote kick $i2.active $2
}
else i2.syntax $1
}
elseif ($1 == /i) { if ($2) i2.quote invite $$2 $i2.active | else i2.syntax $1 }
elseif ($1 == /kb) {
if (($2) && ($2 !ischan) && ($3)) {
set %i2.kb $2
set %i2.kbchan $3
if ($4) set %i2.kbr : $+ $4-
else set %i2.kbr : $+ %shitkick
i2.quote userhost $2
}
elseif ($2) {
set %i2.kb $i2.nc($2)
set %i2.kbchan $i2.active
if ($3) set %i2.kbr : $+ $3-
else set %i2.kbr : $+ %shitkick
i2.quote userhost %i2.kb
}
else i2.iecho Syntax: /kb <nick> <chan>
}
elseif ($1 == /bk) {
if (($2) && ($2 !ischan) && ($3)) {
set %i2.bk $2
set %i2.bkchan $3
if ($4) set %i2.bkr : $+ $4-
else set %i2.bkr : $+ %shitkick
i2.quote userhost $2
}
elseif ($2) {
set %i2.bk $i2.nc($2)
set %i2.bkchan $i2.active
if ($3) set %i2.bkr : $+ $3-
else set %i2.bkr : $+ %shitkick
i2.quote userhost %i2.bk
}
else i2.iecho Syntax: /bk <nick> <chan>
}
elseif ($1 == /save) {
if ($left($i2.active,1) == $chr(35)) {
if (%irc2.names == on) set %i2cloc $window($active).x $window($active).y $pls($window($active).w,126) $window($active).h
else set %i2cloc $swlc($active)
i2.iecho Saved irc2 channel window locations.
}
elseif ($i2.active == Status:) {
set %i2loc $swlc(@irc2 Status:)
i2.iecho Saved irc2 status window location.
}
else {
set %i2qloc $swlc($active)
i2.iecho Saved irc2 query window location.
}
}
elseif ($1 == /topic) {
if ($3) i2.quote topic $2 : $+ $3-
else i2.quote topic $$2
}
elseif (($1 == /me) && ($2)) {
i2.quote privmsg $i2.active :ACTION $2- $+
i2.techo $i2.active $c-c(action,* [ %i2.me $2- ] )
}
elseif ($1 == /quit) { quit $2- }
elseif ($1 == /exit) { exit $2- }
elseif ($1 == /server) { if (($2 != %i2.server) && ($2)) i2.changeserver $2 | elseif ($2) i2.iecho Syntax: /server <server> | else halt }
elseif (($1 == /invite) && ($3 ischan)) { i2.quote invite $$2 #$$3 }
elseif (($1 == /w) || ($1 == /whois) && ($2)) { i2.quote whois $$2 }
elseif (($1 == /wi) && ($2)) { i2.quote whois $$2 $$2 }
elseif (($1 == /who) && ($2)) {
set %i2.whochan on
if ($2) i2.quote who $2
else i2.quote who $i2.active
}
elseif ($1 == /t) {
if ($2) i2.quote topic $i2.active : $+ $2-
else i2.quote topic $i2.active
}
elseif (($1 == /ame) && ($2)) i2.ame $2-
elseif (($1 == /amsg) && ($2)) i2.amsg $2-
elseif (($1 == /away) || ($1 == /setaway)) {
if ($2) {
set %i2.awaytime $ctime
i2.quote away : $+ $left($2-,45) (since $left($day,3) $replace($adate,/,-) $atime $+ )
i2.ame is away: ( $+ $2- $+ )
}
else { i2.quote away }
}
elseif (($1 == /back) || ($1 == /setback)) {
if ($2) i2.ame has returned, $+ $2- $+ . (gone $rsc($duration($sub($ctime,%i2.awaytime))) $+ )
else i2.ame has returned. (gone $rsc($duration($sub($ctime,%i2.awaytime))) $+ )
unset %i2.awaytime
i2.quote away
}
elseif ($1 == /sv) {
i2.msg $i2.active %irc2.ver - [ $+ %ver $+ ] $i2-names
i2.techo $i2.active < $+ %i2.me $+ > %irc2.ver - [ $+ %ver $+ ] $i2-names
}
elseif ($1 == /av) {
if (%aver) {
i2.msg $i2.active %irc2.ver - ( $+ %ver $+ ) - [ $+ %aver $+ ] -
i2.techo $i2.active < $+ $c-c(highlight, [ %i2.me ] ) $+ > %irc2.ver - ( $+ %ver $+ ) - [ $+ %aver $+ ] -
}
else i2.iecho No addons were detected.
}
elseif ($1 == /tv) {
if (%theme == on) {
i2.msg $i2.active %irc2.ver - ( $+ %ver $+ ) - [ $+ $themefn $+ ] -
i2.techo $i2.active < $+ $c-c(highlight, [ %i2.me ] ) $+ > %irc2.ver - ( $+ %ver $+ ) - [ $+ $themefn $+ ] -
}
else i2.iecho No theme loaded.
}
elseif ($1 == /relm) {
if (($2) && ($2 ischan) && ($2 isin %i2.chans)) { i2.msg $2 : $+ %rel.msg | i2.techo $2 < $+ %i2.me $+> %rel.msg }
elseif ($2) msg $2 %rel.msg
else { i2.quote privmsg $i2.active : $+ %rel.msg | i2.techo $i2.active < $+ $c-c(highlight, [ %i2.me ] ) $+ > %rel.msg }
}
elseif ($1 == /reln) {
if (($2) && ($2 ischan) && ($2 isin %i2.chans)) { i2.msg $2 : $+ %rel.not | i2.techo $2 < $+ %i2.me $+> %rel.not }
elseif ($2) msg $2 %rel.not
else { i2.quote privmsg $i2.active : $+ %rel.not | i2.techo $i2.active < $+ $c-c(highlight, [ %i2.me ] ) $+ > %rel.not }
}
elseif ($1 == /relc) {
if (($2) && ($2 ischan) && ($2 isin %i2.chans)) { i2.msg $2 : $+ %rel.ctcp | i2.techo $2 < $+ %i2.me $+> %rel.ctcp }
elseif ($2) msg $2 %rel.ctcp
else { i2.quote privmsg $i2.active : $+ %rel.ctcp | i2.techo $i2.active < $+ $c-c(highlight, [ %i2.me ] ) $+ > %rel.ctcp }
}
elseif ($1 == /relsm) {
if (($2) && ($2 ischan) && ($2 isin %i2.chans)) { i2.msg $2 : $+ %rel.sm | i2.techo $2 < $+ %i2.me $+> %rel.sm }
elseif ($2) msg $2 %rel.sm
else { i2.quote privmsg $i2.active : $+ %rel.sm | i2.techo $i2.active < $+ $c-c(highlight, [ %i2.me ] ) $+ > %rel.sm }
}
elseif ($1 == /relsn) {
if (($2) && ($2 ischan) && ($2 isin %i2.chans)) { i2.msg $2 : $+ %rel.sn | i2.techo $2 < $+ %i2.me $+> %rel.sn }
elseif ($2) msg $2 %rel.sn
else { i2.quote privmsg $i2.active : $+ %rel.sn | i2.techo $i2.active < $+ $c-c(highlight, [ %i2.me ] ) $+ > %rel.sn }
}
elseif ($1 == /relsc) {
if (($2) && ($2 ischan) && ($2 isin %i2.chans)) { i2.msg $2 : $+ %rel.sc | i2.techo $2 < $+ %i2.me $+> %rel.sc }
elseif ($2) msg $2 %rel.sc
else { i2.quote privmsg $i2.active : $+ %rel.sc | i2.techo $i2.active < $+ $c-c(highlight, [ %i2.me ] ) $+ > %rel.sc }
}
elseif ($1 == /quote) { i2.quote $2- }
elseif ($1 == /names) {
if ($2) i2.names $2
else i2.names $i2.active
}
elseif ($1 == /help) help
elseif ($left($1,2) == /.) $right($1,$sub($len($1),2)) $2-
elseif ($left($1,3) == //.) $right($1,$sub($len($1),2)) [ [ $2- ] ]
else i2.quote $right($1,$sub($len($1),1)) $2-
halt
}
}
}
on 1:chatclose {
if (($nick == %i2.me.n) && (%irc2 == on)) {
i2.secho $c-c(info,*** Disconnected)
i2 off
}
}
#connect on
on 1:chatopen {
if ($nick == $me) {
set %i2.con on
if (%irc2.nick) set %i2.me $left(%irc2.nick,9)
else set %i2.me $left($me,8) $+ -
set %i2.me.h $c-c(highlight, [ %i2.me ] )
set %i2.me.n $nick
set %i2.con on
msg =$nick NICK %i2.me
msg =$nick USER [ $readini mirc.ini ident userid ] $chr(34) $+ $host $+ $chr(34) $chr(34) $+ %i2.server $+ $chr(34) : $+ [ $readini mirc.ini mirc user ]
if ($window(@irc2 Status:)) titlebar @irc2 Status: %i2.me
else i2 off
}
}
on 1:chat:* {
if ($nick != %i2.me.n) halt
elseif ($2 == 465) { i2.saecho $c-c(info,*** Possible Kline, please try another server.) | halt }
elseif ($1 == PING) { i2.quote PONG $2- | halt }
elseif ($2 == 001) { i2.saecho - $gettext($4-) | halt }
elseif (($2 == 003) || ($2 == 251) || ($2 == 255) || ($2 == 250)) { i2.secho - $gettext($4-) | halt }
elseif ($2 == 002) {
set %i2.tmp $gettok($remove($7,$chr(44)),1,91)
if (($count(%i2.tmp,$chr(46)) >= 2) && ($len(%i2.tmp) >= 10)) set %i2.servername $gettok($remove($7,$chr(44)),1,91)
i2.secho - $gettext($4-)
unset %i2.tmp
i2.supdate
halt
}
elseif (($2 == 254) || ($2 == 252)) { i2.secho - $4 $gettext($5-) | halt }
elseif ($2 == 004) { i2.saecho - $4- | halt }
elseif ($2 == 372) { i2.saecho $gettext($4-) | halt }
elseif ($2 == 375) { i2.saecho - | i2.secho - $5- | halt }
elseif ($2 == 433) {
if ((%irc2.altnick) && (%i2.tried.altnick == $null)) {
set %i2.me %irc2.altnick
set %i2.tried.altnick true
}
else set %i2.me $left($me,8) $+ $rand(a,z)
set %i2.me.h $c-c(highlight, [ %i2.me ] )
msg =$nick NICK %i2.me
halt
}
elseif ($2 == 376) {
i2.saecho -
i2.saecho - $gettext($4-)
unset %i2.tried.altnick
set %i2.msg ""
set %i2.away off
set %i2.awaytime ""
i2.mode %i2.me %umode
.disable #connect
tsound connect
halt
}
else halt
}
#connect end
on 1:chat:* {
if ($nick != %i2.me.n) halt
elseif ($2 == PRIVMSG) {
if ($3 == %i2.me) {
if ($mid($4,2,1) == ) {
if (DCC isin $4) {
if ($5 == SEND) {
if (($me) && ($server)) {
if (%irc2.dcc.get == auto) {
.quote privmsg $me $4- $+
i2.iecho Fowarding $hc(SEND) from $hc($getnick($1)) ( $+ $sc($getadd($1)) $+ ) of $hc($6) $chr(91) $+ $sc($alof($8)) $+ $chr(93) to $hc($me) $+ .
}
elseif (%irc2.dcc.get == ask) {
i2.iecho $hc(SEND) from $hc($getnick($1)) ( $+ $sc($getadd($1)) $+ ) of $hc($6) $chr(91) $+ $sc($alof($8)) $+ $chr(93)
i2.iecho Press F3 within next 30 secs to accept.
set %i2.evt .quote privmsg $me $4-
.timer 1 30 if (%i2.evt == .quote privmsg $me $4-) unset %i2.evt
}
elseif (%irc2.dcc.get == off) i2.iecho Ignored $hc(SEND) from $hc($getnick($1)) ( $+ $sc($getadd($1)) $+ )
}
else i2.quote privmsg $getnick($1) $4- $+
}
elseif ($5 == CHAT) {
if (%irc2.dcc.chat == auto) {
set %i2.chat.dns on
dns $gettok($getadd($1),2,64)
i2.iecho Fowarding $hc(CHAT) from $hc($getnick($1)) ( $+ $sc($getadd($1)) $+ ) to $hc($me) $+ .
}
elseif (%irc2.dcc.chat == ask) {
i2.iecho $hc(CHAT) from $hc($getnick($1)) ( $+ $sc($getadd($1)) $+ )
i2.iecho Press F3 within next 30 secs to accept.
set %i2.evt dns $gettok($getadd($1),2,64)
set %i2.chat.dns on
.timer 1 30 if (%i2.evt == dns $gettok($getadd($1),2,64)) unset %i2.evt
.timer 1 40 unset %i2.chat.dns
}
elseif (%irc2.dcc.chat == off) i2.iecho Ignored $hc(CHAT) from $hc($getnick($1)) ( $+ $sc($getadd($1)) $+ )
}
}
else {
if ((PING isin $4) && ($remove($5,) isnum)) { set %i2.rel.ctcp [ $+ $getnick($1) $+ ( $+ $getadd($1) $+ )] PING
i2.quote notice $getnick($1) :PING $remove($5,) $+
i2.iecho CTCP $sc(PING) request by $hc($getnick($1)) at $sc($atime) $+ .
halt
}
elseif (VER isin $4) i2.quote notice $getnick($1) :VERSION %irc2.ver - ircN for mIRC ... $+ $read $td(quotes.txt) $+
set %i2.rel.ctcp [ $+ $getnick($1) $+ ( $+ $getadd($1) $+ )] $remove($remove($4-,:),)
if ($5) i2.iecho CTCP $sc($remove($4,:)) request by $ac($getnick($1)) $+ : $sc($5-)
else i2.iecho CTCP $sc($remove($4,:)) request by $ac($getnick($1)) at $sc($atime) $+ .
}
halt
}
else {
if ($getnick($1) !isin %i2.msg) set %i2.msg %i2.msg $getnick($1)
set %i2.rel.msg $getnick($1) ( $+ $getadd($1) $+ ) $gettext($4-)
if (%actmsg == on) i2.aecho [ $+ $ac($getnick($1)) $+ : $+ $sc($getadd($1)) $+ ] $gettext($4-)
i2.techo $getnick($1) < $+ $getnick($1) $+ > $gettext($4-)
titlebar $i2.win($getnick($1)) ( $+ $getadd($1) $+ )
tsound msg
halt
}
}
else {
if (: isin $4) {
if ($4 == :ACTION) {
if (%i2.me isin $4-) { i2.techo $3 $c-c(action,* [ $getnick($1) $remove($replace($5-,%i2.me,%i2.me.h),) ] ) | halt }
else { i2.techo $3 $c-c(action,* [ $getnick($1) $replace($remove($5-,),$chr(44),$chr(255) $+ $chr(001) $+ $chr(002)) ] ) | halt }
}
else {
set %i2.rel.ctcp [ $+ $getnick($1) $+ ( $+ $getadd($1) $+ )] $remove($remove($4-,:),)
i2.iecho $sc($getnick($1)) has requested a channel $sc($remove($gettext($4),)) on $sc($3) $+ .
halt
}
}
elseif (%i2.me isin $4-) i2.techo $3 < $+ $getnick($1) $+ > $replace($gettext($4-),%i2.me,%i2.me.h)
else i2.techo $3 < $+ $getnick($1) $+ > $gettext($4-)
}
}
elseif ($2 == NOTICE) {
if ($3 == %i2.me) {
if ($mid($4,1,2) == :) {
if ((PING isin $4) && ($remove($5,) isnum)) {
i2.iecho CTCP $sc(PING) reply by $hc($getnick($1)) $+ : $iduration($round($div($sub($ticks,$remove($5,)),1000),2))
halt
}
if ($5) {
i2.iecho CTCP $sc($remove($4,:)) reply by $hc($getnick($1)) $+ : $sc($5-)
else i2.iecho CTCP $sc($gettext($4)) reply by $hc($getnick($1)) at $sc($atime) $+ .
halt
}
}
else {
set %i2.rel.not - $+ $getnick($1) $+ ( $+ $getadd($1) $+ )- $gettext($4-)
if (%irc2.names == on) i2.wecho $getnick($1) $c-c(notice, [ - $+ [ $getnick($1)) ] $+ - [ $gettext($4-) ] ] )
else i2.aecho - $+ $hc($getnick($1)) $+ : $+ $hc($getadd($1)) $+ - $gettext($4-)
tsound notice
}
halt
}
}
elseif ($2 == JOIN) {
if ($getnick($1) == %i2.me) {
if (%irc2.names == on) {
window -als $i2.nwin($nocolon($3)) $pls($gettok(%i2cloc,1,32),$sub($gettok(%i2cloc,3,32),126)) $gettok(%i2cloc,2,32) 126 $gettok(%i2cloc,4,32) $sys(i2names.pop) Courier New 411
window -ae $i2.win($nocolon($3)) $gettok(%i2cloc,1,32) $gettok(%i2cloc,2,32) $sub($gettok(%i2cloc,3,32),126) $gettok(%i2cloc,4,32) $sys(i2chan.pop) Courier New 411
}
else window -ae $i2.win($nocolon($3)) %i2cloc $sys(i2chan.pop) Courier New 411
echo $i2.win($remove($3,:)) Join to $hc($nocolon($3)) synched in $hc($rrpt($sub($ticks,%i2.jointime))) seconds.
if ((%i2.chans == $null) && (%irc2.names == on)) {
.timer 0 5 i2.updatenameslist
set %i2.names.timer2 $ltimer
}
if ((%i2.chans) && ($nocolon($3) $+ $chr(160) !isin %i2.chans)) set %i2.chans %i2.chans $+ $nocolon($3) $+ $chr(160)
elseif ($nocolon($3) $+ $chr(160) !isin %i2.chans) set %i2.chans $nocolon($3) $+ $chr(160)
if (%irc2.names == on) {
.timer 0 60 i2.quote names $nocolon($3)
set [ $i2.var($nocolon($3),timer) ] $ltimer
}
}
else {
i2.techo $nocolon($3) $c-c(join,*** Joins: [ $getnick($1) ( $+ [ $getadd($1) ] $+ ) ] )
if (%irc2.names == on) aline $i2.nwin($nocolon($3)) $getnick($1)
}
halt
}
elseif ($2 == PART) {
if ($getnick($1) == %i2.me) {
if ($window($i2.win($3))) window -c $i2.win($3)
if (%irc2.names == on) window -c $i2.nwin($3)
set %i2.chans $remove(%i2.chans, [ [ $3 ] $+ [ $chr(160) ] ] )
if ($remove(%i2.chans,$chr(160)) == $null) unset %i2.chans
$timoff( [ [ $i2.var($3,timer) ] ] )
unset [ $i2.var($nocolon($3),*) ]
halt
}
i2.techo $3 $c-c(part,*** Parts: [ $getnick($1) ( $+ [ $getadd($1) ] $+ ) ] )
if (%irc2.names == on) dline $i2.nwin($3) $i2.nickpos($3,$getnick($1))
}
elseif ($2 == NICK) {
if ($getnick($1) == %i2.me) {
set %i2.me $remove($3,:)
set %i2.me.h $c-c(highlight, [ ( $+ [ %i2.me ] $+ ) ] )
i2.supdate
i2.wecho $getnick($1) $c-c(nick,*** [ $ac($getnick($1)) $c-c(nick,is now known as) $ac($nocolon($3)) ] )
}
else {
if (%irc2.names == on) i2.wecho $getnick($1) $c-c(nick,*** [ $getnick($1) is now known as $nocolon($3) ] )
else i2.aecho $c-c(nick,*** [ $getnick($1) is now known as $nocolon($3) ] )
}
halt
}
elseif ($2 == KICK) {
if ($4 == %i2.me) {
window -c $i2.win($3)
if (%irc2.names == on) window -c $i2.nwin($3)
i2.iecho KICK: You were kicked by $sc($getnick($1)) [ $+ $ac($gettext($5-)) $+ ] ( [ $+ [ $getadd($1) ] $+ ] ) [ [ $+ [ $ac($nocolon($5-)) ] $+ ] ]
i2.iecho To rejoin $sc($3) press $sc(F3) $+ .
%i2.evt = i2.join $3
set %i2.chans $remove(%i2.chans, [ [ $3 ] $+ [ $chr(160) ] ] )
if ($remove(%i2.chans,$chr(160)) == $null) unset %i2.chans
$timoff( [ [ $i2.var($3,timer) ] ] )
unset [ $i2.var($3,*) ]
halt
}
else {
i2.techo $3 $c-c(kick,*** [ $4 was kicked by $getnick($1) ( $+ [ $gettext($5-) ] $+ ) ] )
if (%irc2.names == on) dline $i2.nwin($3) $i2.nickpos($3,$4)
halt
}
}
elseif ($2 == INVITE) {
i2.iecho INVITE: $sc($getnick($1)) ( $+ $ac($getadd($1)) $+ ) [ $+ $gettext($4-) $+ ]
set %i2.evt i2.join $gettext($4-)
i2.iecho To join $ac($gettext($4-)) press $sc(F3) $+ .
tsound invite
halt
}
elseif ($2 == TOPIC) {
i2.techo $3 $c-c(topic,*** [ $getnick($1) changes topic to $chr(34) $+ [ $gettext($4-) ] $+ [ $chr(34) ] ] )
set [ $i2.var($3,topic) ] $chr(34) $+ $gettext($4-) $+ $chr(34)
i2.update $3
halt
}
elseif ($2 == MODE) {
if (((o isin $4) || (v isin $4-)) && (%irc2.names == on)) i2.modeupdate $3 $nocolon($4-)
if (($5) && (k !isin $4)) {
if ($left($4,1) == :) i2.techo $3 $c-c(mode,*** [ $getnick($1) sets mode: $right($4-,$sub($len($4-),1)) ] )
else i2.techo $3 $c-c(mode,*** [ $getnick($1) sets mode: $nocolon($4-) ] )
}
elseif ($3 == %i2.me) {
i2.mode %i2.me
i2.aecho $c-c(mode,*** [ $getnick($1) sets mode: $nocolon($4-) ] )
}
else {
if ($left($4,1) == :) i2.techo $3 $c-c(mode,*** [ $getnick($1) sets mode: $right($4-,$sub($len($4-),1)) ] )
else i2.techo $3 $c-c(mode,*** [ $getnick($1) sets mode: $4- ] )
i2.mode $3
}
halt
}
elseif ($2 == QUIT) {
if (%irc2.names == on) {
i2.wecho $getnick($1) $c-c(quit,*** Quits: [ $getnick($1) ( $+ [ $nocolon($3-) ] $+ ) ] )
i2.updatechan $getnick($1)
}
else i2.aecho $c-c(quit,*** Quits: [ $getnick($1) ( $+ [ $nocolon($3-) ] $+ ) ] )
halt
}
elseif ($1 == PING) { i2.quote PONG $2- | halt }
elseif ($2 == 328) { halt }
elseif ($2 == 352) {
if (%i2.whochan == on) {
inc %i2.who
if (%i2.who == 1) i2.aecho .who of $hc($4) ----------------------------------------
i2.aecho $chr(124) $fix(13,$hc($8)) ( $+ $5 $+ @ $+ $6 $+ )
i2.aecho $chr(124) $str(-,9) is $sc($ca($9)) on $hc($7) ( $+ $sc($nocolon($10)) hops)
}
}
elseif ($2 == 315) {
i2.aecho `end of $hc($4) /WHO LIST. $str(29,-)
unset %i2.whochan %i2.who
halt
}
elseif ($2 == 302) {
if (%i2.banc) {
if ($4 == :) { unset %i2.ban* | i2.iecho $ac($3) is not on IRC. | halt }
else { i2.mode %i2.banc +b $mask($replace($replace($gettext($4-),=+,!*),=-,!*),%i2.bann) | unset %i2.ban* | halt }
}
elseif (%i2.kb) {
if ($4 == :) { unset %i2.kb* | i2.iecho $ac($3) is not on IRC. | halt }
else { i2.quote kick %i2.kbchan %i2.kb %i2.kbr | i2.mode %i2.kbchan +b $mask($replace($replace($gettext($4-),=+,!*),=-,!*),1) | unset %i2.kb* | halt }
}
elseif (%i2.bk) {
if ($4 == :) { unset %i2.bk* | i2.iecho $ac($3) is not on IRC. | halt }
else { i2.mode %i2.bkchan +b $mask($replace($replace($gettext($4-),=+,!*),=-,!*),1) | i2.quote kick %i2.bkchan %i2.bk %i2.bkr | unset %i2.bk* | halt }
}
else halt
}
elseif ($2 == 432) { i2.iecho Erroneous nickname, please try again. | halt }
elseif ($2 == 436) { i2.iecho Nickname Collision! | relay nick %i2.me $+ - | halt }
elseif ($2 == 443) { i2.iecho $sc($4) is already on $sc($5) $+ . | halt }
elseif ($2 == 471) { i2.iecho Cannot join channel $sc($4) (Its full) | halt }
elseif ($2 == 473) { i2.iecho Cannot join channel $sc($4) (Invite only) | halt }
elseif ($2 == 474) { i2.iecho Cannot join channel $sc($4) (Banned) | halt }
elseif ($2 == 475) { i2.iecho Cannot join channel $sc($4) (Requires the correct key) | halt }
elseif ($2 == 305) { i2.iecho You are no longer marked as being away. | set %i2.away off | tsound back | halt }
elseif ($2 == 306) { i2.iecho You have been marked as being away. | set %i2.away on | tsound away | halt }
elseif ($2 == 433) { i2.iecho Nickname $hc($4) is already in use. | editbox $active /nick | halt }
elseif ($2 == 482) { i2.iecho You're not a channel operator. ( $+ $sc($4) $+ ) | halt }
elseif ($2 == 324) { set [ $i2.var($4,mode) ] $5- | i2.update $4 }
elseif ($2 == 421) { i2.iecho $upper($4) is not a known command. }
elseif (($2 == 221) && ($3 == %i2.me)) { set %i2.umode $4 | i2.supdate }
elseif ($2 == 401) { i2.iecho $hc($4) is not on IRC. | halt }
elseif ($2 == 332) {
i2.techo $4 $chr(160) . $+ $str(-,55) $+ .
i2.techo $4 $chr(160) $chr(124) $sc(Topic) $+ : $fix(46,$wrap(1,46,$strip($gettext($5-)))) $chr(124)
set %wrap.topic %wrap.pos
if (%wrap.topic < $len($strip($gettext($5-)))) {
:loop
i2.techo $4 $chr(160) $chr(124) $+ $str($chr(160),4) $+ $fix(51,$wrap($pls(%wrap.topic,1),50,$strip($gettext($5-)))) $+ $chr(124)
set %wrap.topic $pls(%wrap.topic,%wrap.pos)
if (%wrap.topic < $len($strip($gettext($5-)))) goto loop
}
unset %wrap.*
set [ $i2.var($4,topic) ] $gettext($5-)
halt
}
elseif ($2 == 333) { i2.techo $4 $chr(160) $chr(124) $hc(SetBy) $+ : $c-c(highlight, [ $fix(10,$5) $fix(35,$asctime($6)) $chr(124) ] ) | i2.mode $4 | halt }
elseif ($2 == 353) {
inc %jstat.num
if (%i2.namechan) {
if (%jstat.num == 1) {
i2.techo $5 $chr(160) . $+ $str(-,55) $+ .
if ($pls(1,$count($6-,$chr(32))) < 10) i2.techo $5 $chr(160) $chr(124) Names [ $+ $hc($5) $+ : $sc($pls(1,$count($6-,$chr(32)))) $+ $chr(93) $fix($sub(41,$len($5)), ) $chr(124)
else i2.techo $5 $chr(160) $chr(124) Names [ $+ $hc($5) $+ : $+ $sc($pls(1,$count($6-,$chr(32)))) $+ $chr(93) $fix($sub(41,$len($5)), ) $chr(124)
if (%irc2.names == on) dline $i2.nwin($5) [ 1- $+ [ $i2.numnicks($5) ] ]
if (%irc2.names == on) i2.addnicks $5 $nocolon($6-)
}
else {
i2.techo $5 $chr(160) . $+ $str(-,55) $+ .
if ($pls(1,$count($6-,$chr(32))) < 10) i2.techo $5 $chr(160) $chr(124) Next [ $+ $hc($5) $+ : $sc($pls(1,$count($6-,$chr(32)))) $+ $chr(93) $fix($sub(42,$len($5)), ) $chr(124)
else i2.techo $5 $chr(160) $chr(124) Next [ $+ $hc($5) $+ : $+ $sc($pls(1,$count($6-,$chr(32)))) $+ $chr(93) $fix($sub(42,$len($5)), ) $chr(124)
if (%irc2.names == on) i2.addnicks $5 $nocolon($6-)
}
i2.a.line $5 $remove($6-,:)
halt
}
elseif ((%jstat.num == 1) && (%irc2.names == on) && ($window($i2.nwin($5)))) {
dline $i2.nwin($5) [ 1- $+ [ $i2.numnicks($5) ] ]
i2.addnicks $5 $nocolon($6-)
halt
}
elseif ((%irc2.names == on) && ($window($i2.nwin($5)))) { i2.addnicks $5 $nocolon($6-) | halt }
}
elseif ($2 == 366) { unset %jstat.num %i2.namechan | halt }
elseif ($2 == 311) {
set %i2.whois on
i2.aecho $+ $pc(____________) $+ $sc(___________) $+ $sc(______) $+ $sc(__ __ _ _)
i2.aecho $chr(124) $+ $hc($4) ( $+ [ [ $5 ] $+ [ $hc($chr(64)) ] $+ [ $6 ] ] $+ )
i2.aecho $chr(124) $hc(name) $+ : $gettext($8-)
halt
}
elseif ($2 == 319) { i2.aecho $chr(124) $hc(chan) $+ : $gettext($5-) | halt }
elseif ($2 == 312) { i2.aecho $chr(124) $hc(serv) $+ : $5 | halt }
elseif ($2 == 301) { i2.aecho $chr(124) $hc(away) $+ : $gettext($5-) | halt }
elseif ($2 == 317) { i2.aecho $chr(124) $hc(idle) $+ : $duration($5) | halt }
elseif ($2 == 318) {
if (%i2.whois) {
i2.aecho $+ $pc(¯¯¯¯¯¯¯¯¯¯¯¯) $+ $sc(¯¯¯¯¯¯¯¯¯¯¯) $+ $sc( ¯¯¯¯¯¯) $+ $sc(¯¯ ¯¯ ¯ ¯)
unset %i2.whois
}
halt
}
elseif ($2 == 437) { i2.iecho $nocolon($4-) }
else { halt }
}