Engage`OS (eos) Theme Engine v1.0 with code included from KTE, as it's what inspired me, and I will be migrating the code form KTE to eos build soon, but for now it has KTE aswell. too many lines of code to change for the night.
; eos Theme Engine by Aurora/Kraken
alias eos { return 9EngageOS`7 }
alias -l engageaway {
if ($1 = -n) {
if ($2 == on) { echo -agt $eos Nickname Change on Away Enabled. }
elseif ($2 == off) { unset %e::anick | echo -agt $eos Nickname Change on Away Disabled. }
else { set %e::anick $2 | echo -agt $eos Away Nickname set to - %e::anick }
}
elseif ($1 = -b) {
scid -a away
scid -a amsg $eos 4[15Back4][14 $awaymsg 4][14 Away For - $duration($awaytime) 4]
if (%e::nick) { scid -a nick %e::nick | unset %e::nick }
}
elseif ($1 == -a) {
set %e::nick $me
scid -a away $2-
scid -a amsg $eos 4[15Away4][14 $2- 4][14 Time is now - $time(hh:nn:ss tt) 4]
if (%e::anick) { scid -a nick %e::anick }
}
}
alias Awayos {
if ($1 == -n) { engageaway -n $2 }
elseif ($1 !== -n) && ($1) { engageaway -a $1- }
elseif (!$1) { engageaway -b }
else { echo -agt $eos Error! }
}
alias ostest {
window -a @EngageOS-Tab
clear @EngageOS-Tab
if ($exists(EngageOS-tab.txt)) {
var %eos::line = $lines(EngageOS-tab.txt)
while (%eos::line) {
tokenize 32 $read(EngageOS-Tab.ini,%eos::line)
aline @EngageOS-Tab $eos $+(:: ,$chr(9),$1,:) $2-
dec %eos::line
}
}
else {
aline @EngageOS-Tab $+(:: ,$chr(9),DragonSphear:,$chr(9),hello)
aline @EngageOS-Tab $+(:: ,$chr(9),Room Enter,$chr(9),<->!!Entering Ciao (TacoFet / jgrill@not.your.average.vhost))
aline @EngageOS-Tab $+(:: ,$chr(9),TacoFet:,$chr(9),hi bob)
aline @EngageOS-Tab $+(:: ,$chr(9),Whiplash,$chr(9),hi all)
aline @EngageOS-Tab $+(:: ,$chr(9),TacoFet:,$chr(9),hi whiplash)
aline @EngageOS-Tab $+(:: ,$chr(9),Room Part,$chr(9),<->!!!Leaving Caio (DragonSphear / dsch@Fear.The.Sphear) [Later all])
aline @EngageOS-Tab $+(:: ,$chr(9),Ezio:,$chr(9),Well that was interesting.)
}
}
alias eostab.add {
echo -agt $eos $+(:: ,$chr(9),Added eostab instance,$chr(9),$1-)
write EngageOS-tab.txt $1-
}
; now all the fun stuff is ended, and we begin the theme engine.
;Aliases. DO NOT CHANGE THESE. Color can be modified via the variables.
alias -l _eos.return { return $+(,$eos.col1,::) $chr(9) $+(,$eos.col2,$1) $chr(9) $+(,$eos.col3,$2) $iif($3,$chr(9) $+(,$eos.col4,$3)) }
alias -l eos.col1 { return 9 }
alias -l eos.col2 { return 15 }
alias -l eos.col3 { return 9 }
alias -l eos.col4 { return 14 }
alias -l _eos.cturn { return $+(:: ,$chr(9),$1,$chr(9),$2,$chr(9),$chr(124)) }
alias _eostest { echo -agt $_eos.return($1,$2-) }
;Event Time
on ^&*:JOIN:*: {
haltdef
if ($nick == $me) { echo -t $chan $_eos.return(>> You Have Entered,$remove($chan,$chr(35))) | halt }
echo -t $chan $_eos.return(>> Room Join >>, $remove($chan,$chr(35)),$nick ( $+ $address $+ ))
}
on ^&*:PART:*: {
haltdef
echo -t $chan $_eos.return(<< Room Part <<,$remove($chan,$chr(35)),$nick ( $+ $address $+ ))
}
on ^&*:QUIT: {
haltdef
var %i $comchan($nick,0)
while (%i) {
echo -t $comchan($nick,%i) $_eos.return(<-> User Quit,$nick ( $+ $address $+ ),$1-)
dec %i
}
}
on ^&*:NICK: {
haltdef
var %eosn $comchan($newnick,0)
while (%eosn) {
echo -t $comchan($newnick,%eosn) $_eos.return(// Nick Change,$nick is now,$newnick)
dec %eosn
}
}
on ^&*:USERMODE: {
haltdef
echo -st $_eos.return(Usermode Change,$1-,New usermodes: $usermode)
}
on ^&*:RAWMODE:#: {
haltdef
echo -t $chan $_eos.return(Mode change, [ $1 ] / [ $2- ], by $nick)
}
on ^&*:TOPIC:#: {
haltdef
echo -t $chan $_eos.return(Topic, [ $remove($chan,$chr(35)) ] / change by [ $nick ],$1-)
}
on ^&*:KICK:#: {
haltdef
if ($knick == $me) { echo -t $chan $_eos.return(<-> KICK,$nick kicked you [ $chan ], $1-) | halt }
echo -t $chan $_eos.return(<-> KICK, user $knick was kicked by $nick [ $chan ], $1-)
}
on ^&*:INVITE:#: {
haltdef
echo -t 8Invite12:00 $nick 15has invited you to join 7[00 $chan 7]
}
on ^&*:ERROR:*: {
haltdef
echo -st $_eos.return(/? ERROR, $1-)
}
on ^&*:WALLOPS:*: {
haltdef
echo -at $_eos.return(//wallops, [ $nick ],$1-)
}
on ^&*:SNOTICE:*: {
haltdef
echo -at $_snotice($server,$1-)
}
alias -l _snotice { return 0:4[15snotice4][15 $+ $1 $+ 4]14 $1 }
on &*:INPUT:*:{
if ($0) && ((/* !iswm $1) || ($ctrlenter)) && (($active ischan) || ($query($active)) || (=* iswm $active)) && ($window($active, 0) = 1) {
say $1- | halt
}
}
alias nicktabcheck { echo -agt 9[0N15ick0T15ab9]15 Test9: $nicktab($active,$1-) }
alias nicktab {
unset %nt:tok %nt:chan %nt:check %nt:return
var %nt:return
var %nt:chan $1
tokenize 32 $2
if (! isin $left($1,1)) || (. isin $left($1,1)) { return $1- | halt }
var %nt:tok $gettok($1-,0,32)
; echo -ag 9[0N15ick0T15ab9]15 Channel: %nt:chan / token length: %nt:tok / Tokenized: $1-
while (%nt:tok) {
var %nt:check $gettok($1-,%nt:tok,32)
; echo -ag 9[0N15ick0T15ab9]15 Checking for %nt:tok / %nt:check / in $1-
if (%nt:check ison %nt:chan) {
if (! isin $right(%nt:check,1)) || (. isin $right(%nt:check,1)) || (, isin $right(%nt:check,1)) || (? isin $right(%nt:check,1)) { var %nt:checkend $right(%nt:check,1) | var %nt:check $remove(%nt:check,%nt:checkend) | var %nt:return 9,1[0,1-9,1[15,01 $+ %nt:check $+ 9,1]0,1-9,1] $+ %nt:checkend %nt:return }
else { var %nt:return 9,1[0,1-9,1[15,01 $+ %nt:check $+ 9,1]0,1-9,1] %nt:return }
}
elseif (%nt:check isnum) { var %nt:return $iif($group(#usecolor) == On,09 $+ %nt:check $+ ,%nt:check) %nt:return }
else { var %nt:return $iif($group(#usecolor) == On,$tk:ret(%nt:check),%nt:check) %nt:return }
;echo -ag 9[0N15ick0T15ab9]15 Decreasing nt:tok, checking next token.
dec %nt:tok
}
return %nt:return
}
#usecolor off
alias -l tk:ret {
set %co1 $iif($prop,$prop,04)
set %co2 07
var %x 1
while (%x <= $gettok($1-,0,32)) {
var %text1 $mid($gettok($1-, [ [ %x ] ],32),1,1)
var %text [ [ %text ] ] $replace($mid($gettok($1-, [ [ %x ] ],32),1,1),[ [ %text1 ] ], $+(,[ %co1 ],,[ [ %text1 ] ],,[ %co2 ],)) $+ $mid($gettok($1-, [ [ %x ] ],32),2,$calc($len($gettok($1-, [ [ %x ] ],32) - 1)))
var %text $replace(%text,.,9.,!,9!,$chr(44),9 $+ $chr(44),$chr(35),9 $+ $chr(35),$chr(34),9 $+ $chr(34),$chr(36),9 $+ $chr(36),$chr(37),9 $+ $chr(37),$chr(38),9 $+ $chr(38),$chr(39),9 $+ $chr(39),$chr(40),9 $+ $chr(40),$chr(41),9 $+ $chr(41),$chr(42),9 $+ $chr(42),$chr(43),9 $+ $chr(43),$chr(47),9 $+ $chr(47),$chr(58),9 $+ $chr(58),$chr(59), $+ $chr(59),$chr(60),9 $+ $chr(60),$chr(61),9 $+ $chr(61),$chr(62),9 $+ $chr(62),$chr(64),9 $+ $chr(64),$chr(91),9 $+ $chr(91),$chr(92),9 $+ $chr(92),$chr(93),9 $+ $chr(93),$chr(94),9 $+ $chr(94))
inc %x
}
if ($isid) { return %Text }
}
#usecolor end
alias say {
if ($isid) { return }
if ($status == disconnected) || (!$0) || (($active !ischan) && (!$query($active))) && (=* !iswm $active) {
.timer.kte 1 0 !say $1- | .timer.kte -e | halt
}
.!msg $active $nicktab($active,$1-)
set -u1 %:echo echo $color(own) -ati2
set -nu1 %::text $nicktab($active,$1-) | set -u1 %::target $active | set -u1 %::nick $me
set -nu1 %::me $me | set -nu1 %::server $server | set -nu1 %::port $port
set -nu1 %::pre 14.15.15.
set -nu1 %::c1 00 | set -nu1 %::c2 11 | set -nu1 %::c3 13 | set -nu1 %::c4 12
if (* iswm %::text) { set -nu1 %::parentext 14(15 $+ %::text $+ 14) }
if ($active ischan) {
set -u1 %::chan $active
if ($nick($active, $me).pnick != $me) { set -u1 %::cmode $left($ifmatch, 1) }
set -u1 %::cnick $nick($active, $me).color
%:echo 7( $+ $modecol(%::me,%::chan) $+ 7)15 %::text
}
else {
set -u1 %::cnick $cnick($me).color
%:echo 9( $+ $modecol(%::me,%::chan) $+ 9)15 %::text $+ %:comments
}
unset %:echo %::parentext %::target %::nick %::address %::chan %::cnick %::cmode %::me %::server %::port %::pre %::c? %::text
}
alias query {
if ($isid) { return }
if (!$0) { .timer.kte 1 0 !query | .timer.kte -e | halt }
!query $1
if ($0 > 1) {
if (!$server) { .timer.kte 1 0 !query $1- | .timer.kte -e | halt }
msg $1-
}
}
alias msg {
if ($isid) { return }
if ($0 < 2) || ((=* !iswm $1) && ($status == disconnected)) || (!$_ischat($1)) {
.timer.kte 1 0 !msg $1- | .timer.kte -e | halt
}
.!msg $1-
if (!$show) { return }
set -nu1 %::text $2- | set -u1 %::target $1 | set -u1 %::nick $me
set -nu1 %::me $me | set -nu1 %::server $server | set -nu1 %::port $port
set -nu1 %::pre 14.15.15.
set -nu1 %::c1 00 | set -nu1 %::c2 11 | set -nu1 %::c3 13 | set -nu1 %::c4 12
if (* iswm %::text) { set -nu1 %::parentext 14(15 $+ %::text $+ 14) }
; %::nick = $me. This is a matter of logic.
; Use <target> in your script, not <nick>, to refer to the recipient of the message.
if ($1 ischan) || ($query($1)) || (=* iswm $1) {
set -u1 %:echo echo $color(own) -ti2 $1
if ($1 ischan) {
if ($nick($1, $me).pnick != $me) { set -u1 %::cmode $left($ifmatch, 1) }
set -u1 %::cnick $nick($1, $me).color
%:echo 13 $+ $cfusion.chanmode(%::me,%::chan) $+ 7(00 $+ %::me $+ 7)15 %::text
}
else { %:echo 9(00 $+ %::me $+ 9)15 %::text $+ %:comments }
}
else {
set -u1 %:echo echo $color(own) -ti2 $+ $_active
%:echo 13> 11msg12 [ $+ 13 $+ $iif($ial(%::target),$ial(%::target).nick,%::target) $+ 12 $+ ]:15 %::text %::comments | haltdef
}
unset %:echo %::parentext %::target %::nick %::me %::server %::port %::pre %::c? %::chan %::cmode %::cnick %::text
}
alias amsg {
if ($isid) { return }
if ($status == disconnected) || (!$0) || (!$chan(0)) { .timer.kte 1 0 !amsg $1- | .timer.kte -e | halt }
if (!$show) { return }
set -nu1 %::text $1- | set -u1 %::nick $me
set -nu1 %::me $me | set -nu1 %::server $server | set -nu1 %::port $port
set -nu1 %::pre 14.15.15.
set -nu1 %::c1 00 | set -nu1 %::c2 11 | set -nu1 %::c3 13 | set -nu1 %::c4 12
if (* iswm %::text) { set -nu1 %::parentext 14(15 $+ %::text $+ 14) }
var %i = $chan(0)
while (%i) {
set -u1 %::chan $chan(%i)
set -u1 %::target %::chan
set -u1 %:echo echo $color(own) -ti2 %::chan
if ($nick($chan(%i), $me).pnick != $me) { set -u1 %::cmode $left($ifmatch, 1) }
set -u1 %::cnick $nick(%::chan, $me).color
if ($chan(%::chan) !== #idlerpg) { !.msg %::chan 15:7[15amsg7]14 %::text | %:echo 9(00 $+ $modecol(%::me,%::chan) $+ 9)15 15:7[15amsg7]14 %::text }
dec %i
}
unset %:echo %::parentext %::nick %::cnick %::cmode %::chan %::target %::me %::server %::port %::pre %::c? %::text
}
alias me {
if ($isid) { return }
if (!$server) || (!$0) || (($active !ischan) && (!$query($active))) && (=* !iswm $active) {
.timer.kte 1 0 !me $1- | .timer.kte -e | halt
}
.!describe $active $1-
if (!$show) { return }
set -u1 %:echo echo $color(action) -ati2
set -nu1 %::text $1- | set -u1 %::target $active | set -u1 %::nick $me
set -nu1 %::me $me | set -nu1 %::server $server | set -nu1 %::port $port
set -nu1 %::pre 14.15.15.
set -nu1 %::c1 00 | set -nu1 %::c2 11 | set -nu1 %::c3 13 | set -nu1 %::c4 12
if (* iswm %::text) { set -nu1 %::parentext 14(15 $+ %::text $+ 14) }
if ($active ischan) {
set -u1 %::chan $active
if ($nick($active, $me).pnick != $me) { set -u1 %::cmode $left($ifmatch, 1) }
set -u1 %::cnick $nick($active, $me).color
}
%:echo 4(1-14A15ction1-4)0-4(1- $+ $+(14,$left(%::nick,1),15,$right(%::nick,$calc($len(%::nick) - 1))) $+ 1-4)14 %::text $+ %:comments
unset %:echo %::parentext %::target %::nick %::chan %::cnick %::cmode %::me %::server %::port %::pre %::c? %::text
}
alias action {
if ($isid) { return }
if (!$server) || (!$0) || (($active !ischan) && (!$query($active))) && (=* !iswm $active) {
.timer.kte 1 0 !action $1- | .timer.kte -e | halt
}
me $1-
}
alias describe {
if ($isid) { return }
if (!$server) || ($0 < 2) || (!$_ischat($1)) {
.timer.kte 1 0 !describe $1- | .timer.kte -e | halt
}
.!describe $1-
if (!$show) { return }
set -nu1 %::text $2- | set -u1 %::target $1 | set -u1 %::nick $1
set -nu1 %::me $me | set -nu1 %::server $server | set -nu1 %::port $port
set -nu1 %::pre 14.15.15.
set -nu1 %::c1 00 | set -nu1 %::c2 11 | set -nu1 %::c3 13 | set -nu1 %::c4 12
if (* iswm %::text) { set -nu1 %::parentext 14(15 $+ %::text $+ 14) }
if ($1 ischan) || ($query($1)) || (=* iswm $1) {
set -u1 %:echo echo $color(action) -ti2 $1
if ($1 ischan) {
set -u1 %::chan $1
if ($nick($1, $me).pnick != $me) { set -u1 %::cmode $left($ifmatch, 1) }
set -u1 %::cnick $nick($1, $me).color
%:echo 4(1-14A15ction1-4)0-4(1- $+ $+(14,$left(%::nick,1),15,$right(%::nick,$calc($len(%::nick) - 1))) $+ 1-4)14 %::text $+ %:comments
}
else { %:echo 4(1-14A15ction1-4)0-4(1- $+ $+(14,$left(%::nick,1),15,$right(%::nick,$calc($len(%::nick) - 1))) $+ 1-4)14 %::text $+ %:comments }
}
else { set -u1 %:echo echo $color(action) -ti2 $+ $_active | %:echo -> 4(1-14A15ction1-4/1-14 $+ $+($left(%::target,1),15,$right(%::target,$calc($len(%::target) - 1))) $+ 1-4)0-4(1- $+ $+(14,$left(%::nick,1),15,$right(%::nick,$calc($len(%::nick) - 1))) $+ 1-4)14 %::text $+ %:comments }
unset %:echo %::parentext %::target %::chan %::cmode %::cnick %::nick %::me %::server %::port %::pre %::c? %::text
}
alias ame {
if ($isid) { return }
if (!$server) || (!$0) || (!$chan(0)) { .timer.kte 1 0 !ame $1- | .timer.kte -e | halt }
!.ame $1-
if (!$show) { return }
set -nu1 %::text $1- | set -u1 %::nick $me
set -nu1 %::me $me | set -nu1 %::server $server | set -nu1 %::port $port
set -nu1 %::pre 14.15.15.
set -nu1 %::c1 00 | set -nu1 %::c2 11 | set -nu1 %::c3 13 | set -nu1 %::c4 12
if (* iswm %::text) { set -nu1 %::parentext 14(15 $+ %::text $+ 14) }
var %i = $chan(0)
while (%i) {
set -u1 %::chan $chan(%i)
set -u1 %::target %::chan
set -u1 %:echo echo $color(action) -ti2 %::chan
if ($nick(%::chan, $me).pnick != $me) { set -u1 %::cmode $left($ifmatch, 1) }
set -u1 %::cnick $nick(%::chan, $me).color
%:echo 4(1-14A15ction1-4)0-4(1- $+ $+(14,$left(%::nick,1),15,$right(%::nick,$calc($len(%::nick) - 1))) $+ 1-4)14 %::text $+ %:comments
dec %i
}
unset %:echo %::parentext %::target %::chan %::cnick %::cmode %::nick %::me %::server %::port %::pre %::c? %::text
}
alias notice {
if ($isid) { return }
if (!$server) || ($0 < 2) { .timer.kte 1 0 !notice $1- | .timer.kte -e | halt }
.!notice $1-
if (!$show) { return }
set -nu1 %::text $2- | set -u1 %::target $1 | set -u1 %::nick $1
set -nu1 %::me $me | set -nu1 %::server $server | set -nu1 %::port $port
set -nu1 %::pre 14.15.15.
set -nu1 %::c1 00 | set -nu1 %::c2 11 | set -nu1 %::c3 13 | set -nu1 %::c4 12
if (* iswm %::text) { set -nu1 %::parentext 14(15 $+ %::text $+ 14) }
set -u1 %:echo echo $color(notice) -ti2 $+ $_active
if ($1 ischan) { set -u1 %::chan $1 | %:echo 7> 15:7[15notice7][14 %::chan $+ 7]:15 %::text %::comments $+ %:comments }
else { %:echo 7> 15:7[15notice7][14 $iif($ial(%::target),$ial(%::target).nick,%::target) 7]:15 %::text %::comments }
unset %:echo %::parentext %::target %::nick %::chan %::me %::server %::port %::pre %::c? %::text
}
on &^*:TEXT:*:#:{
if ($chan !ischan) { return }
set -u1 %:echo echo $color(normal) -t $chan
set -nu1 %::text $strip($1-, o)
set -nu1 %::me $me | set -nu1 %::server $server | set -nu1 %::port $port
set -nu1 %::pre 14.15.15.
set -nu1 %::c1 00 | set -nu1 %::c2 11 | set -nu1 %::c3 13 | set -nu1 %::c4 12
set -nu1 %::nick $nick
set -nu1 %::address $address
if ($nick($chan, $nick).pnick != $nick) { set -nu1 %::cmode $left($ifmatch, 1) } | set -nu1 %::cnick $nick($chan, $nick).color
set -nu1 %::chan $chan
set -nu1 %::target $target
if (* iswm %::text) { set -nu1 %::parentext 14(15 $+ %::text $+ 14) }
%:echo 9( $+ $modecol(%::nick,%::chan) 9)15 %::text | haltdef
unset %:echo %::nick %::address %::target %::parentext %::me %::server %::port %::pre %::c? %::chan %::cmode %::cnick %::text
}
on &^*:ACTION:*:#: {
haltdef
echo -t $chan 4(1-14A15ction1-4)0-4(1- $+ $+(14,$left($nick,1),15,$right($nick,$calc($len($nick) - 1))) $+ 1-4)14 $1-
}
on &^*:NOTICE:*:#: {
if ($chan !ischan) { return }
set -u1 %:echo echo $color(notice) -mti2 $chan
set -nu1 %::text $strip($1-, o)
set -nu1 %::me $me | set -nu1 %::server $server | set -nu1 %::port $port
set -nu1 %::pre 14.15.15.
set -nu1 %::c1 00 | set -nu1 %::c2 11 | set -nu1 %::c3 13 | set -nu1 %::c4 12
set -nu1 %::nick $nick
set -nu1 %::address $address
if ($nick($chan, $nick).pnick != $nick) { set -nu1 %::cmode $left($ifmatch, 1) } | set -nu1 %::cnick $nick($chan, $nick).color
set -nu1 %::chan $chan
set -nu1 %::target $target
if (* iswm %::text) { set -nu1 %::parentext 14(15 $+ %::text $+ 14) }
if (%::nick == $me) { %:echo 15:7[14welcome7][14 $+ %::chan $+ 7]14 %::text | haltdef }
elseif (%::nick == Perpetual) && ($1 == SERVERALERT) { halt }
else { %:echo 7-(14 $+ %::nick $+ 4!15 $+ %::target $+ 7)-15 %::text $+ %:comments | haltdef }
unset %:echo %::nick %::address %::target %::parentext %::me %::server %::port %::pre %::c? %::chan %::cmode %::cnick %::text
}
;;the next bit is a large portion of KTE, which I like the CTCP/Raw info part, and I'm lazy, so CREDIT IS GIVEN!!!
ctcp ^&*:*:?:kte_onctcp $1-
ctcp ^&*:*:#:kte_onctcp $1-
alias -l kte_onctcp {
if ($1 == VERSION) || (($target == $me) && ($1 == DCC)) { return }
elseif ($1 == SERVERALERT) { serveralert.bar $2- | halt }
elseif ($1 == RGUN223) { rgun.ctcp $2- }
var %ch = 0, %txt, %rpl
if ($target != $me) { %ch = 1 }
if ($target ischan) {
var %tgt = $gettok($hget(Kte_Events, $chan), 6, 44)
if (%tgt = 2) { set -u1 %:echo echo $color(ctcp) -sti2 }
else { set -u1 %:echo echo $color(ctcp) -ti2 $target }
}
else {
set -u1 %:echo echo $color(ctcp) -ti2 $+ $iif((@* !iswm $active) && ($_isactive) && ($hget(Kte_Events, Active.CTCPs)), a, s)
}
set -u1 %::ctcp $1
set -n %txt $2-
if ($1 == PING) { %txt = | set -n %rpl $1- }
elseif ($1- == TIME) { set -n %rpl $1 $fulldate }
elseif ($1- == FINGER) { set -n %rpl $1 $($fullname, 2) (-) Idle $idle second $+ $iif(($idle != 1), s) }
set -nu1 %::text $strip(%txt, o)
set -nu1 %::me $me | set -nu1 %::server $server | set -nu1 %::port $port
set -nu1 %::pre 14.15.15.
set -nu1 %::c1 00 | set -nu1 %::c2 11 | set -nu1 %::c3 13 | set -nu1 %::c4 12
set -nu1 %::nick $nick
set -nu1 %::address $address
if ($nick($chan, $nick).pnick != $nick) { set -nu1 %::cmode $left($ifmatch, 1) } | set -nu1 %::cnick $nick($chan, $nick).color
set -nu1 %::chan $chan
set -nu1 %::target $target
if (* iswm %::text) { set -nu1 %::parentext 14(15 $+ %::text $+ 14) }
if (%ch) { %:echo 14.15.15. 12Ctcp12: 13 $+ $upper(%::ctcp) $+ $upper($iif(%::text,$chr(32) $+ %::text)) 15requested by12 [00 $+ %::nick $+ 7]15 to 00 $+ %::chan $+ %:comments }
else { %:echo 14.15.15. 12Ctcp12: 13 $+ $upper(%::ctcp) $+ $upper($iif(%::text,$chr(32) $+ %::text)) 15requested by12 [00 $+ %::nick $+ 7]15 to 00you %:comments }
if (%rpl) { !.ctcpreply $nick %rpl }
unset %:echo %::nick %::address %::target %::parentext %::me %::server %::port %::pre %::c? %::chan %::cmode %::cnick %::text
haltdef
}
alias ctcp {
if ($isid) { return }
if ($0 < 2) || (!$server) || ($2 == DCC) { .timer.kte 1 0 !ctcp $1- | .timer.kte -e | return }
.!ctcp $1-
if (!$show) { return }
set -u1 %::target $1
set -u1 %::ctcp $upper($2)
set -nu1 %::text $3-
set -nu1 %::me $me | set -nu1 %::server $server | set -nu1 %::port $port
set -nu1 %::pre 14.15.15.
set -nu1 %::c1 00 | set -nu1 %::c2 11 | set -nu1 %::c3 13 | set -nu1 %::c4 12
if (* iswm %::text) { set -nu1 %::parentext 14(15 $+ %::text $+ 14) }
set -u1 %:echo echo $color(ctcp) -ti2 $+ $_active
if ($1 ischan) { set -u1 %::chan $1 | %:echo 13> 11ctcp12 [13 $+ %::chan $+ 12]:15 %::ctcp %::text %::comments $+ %:comments }
else { set -u1 %::nick $1 | %:echo 13> 11ctcp12 [ $+ 13 $+ $iif($ial(%::target),$ial(%::target).nick,%::target) $+ 12 $+ ]:15 %::ctcp %::text %::comments }
unset %:echo %::parentext %::nick %::chan %::ctcp %::target %::me %::server %::port %::pre %::c? %::text
}
on &*:CTCPREPLY:*:{
var %rpl | set -n %rpl $2-
if ($1 == PING) && ($2- isnum 1- $+ $ctime) { %rpl = $duration($calc($ctime - $2)) }
set -u1 %:echo echo $color(ctcp) -ti2 $+ $_active
set -u1 %::ctcp $upper($1)
set -nu1 %::text $strip(%rpl, o)
set -nu1 %::me $me | set -nu1 %::server $server | set -nu1 %::port $port
set -nu1 %::pre 14.15.15.
set -nu1 %::c1 00 | set -nu1 %::c2 11 | set -nu1 %::c3 13 | set -nu1 %::c4 12
set -nu1 %::nick $nick
set -nu1 %::address $address
set -nu1 %::target $target
if (* iswm %::text) { set -nu1 %::parentext 14(15 $+ %::text $+ 14) }
%:echo 14.15.15. 12Reply12: 13 $+ $upper(%::ctcp) 15from12 [00 $+ %::nick $+ 12] $+ $iif(%::target != $me,15 to 00 $+ %::nick) $+ $iif(%::text,14:15 %::text) %:comments | haltdef
unset %:echo %::nick %::address %::target %::parentext %::ctcp %::me %::server %::port %::pre %::c? %::text
}
alias ctcpreply {
if ($isid) { return }
if ($0 < 2) || (!$server) { .timer.kte 1 0 !ctcpreply $1- | .timer.kte -e | return }
.!ctcpreply $1-
if (!$show) { return }
set -u1 %:echo echo $color(ctcp) -ti2 $+ $_active
set -u1 %::target $1
set -u1 %::ctcp $upper($2)
set -nu1 %::text $3-
set -u1 %::nick $1
set -nu1 %::me $me | set -nu1 %::server $server | set -nu1 %::port $port
set -nu1 %::pre 14.15.15.
set -nu1 %::c1 00 | set -nu1 %::c2 11 | set -nu1 %::c3 13 | set -nu1 %::c4 12
if (* iswm %::text) { set -nu1 %::parentext 14(15 $+ %::text $+ 14) }
%:echo 13> 11reply12 [13 $+ %::nick $+ 12]:15 %::ctcp %::parentext %::comments $+ %:comments
unset %:echo %::parentext %::ctcp %::target %::nick %::me %::server %::port %::pre %::c? %::text
}
alias dns {
if ($isid) { return }
if (!$0) || (($1 == -h) && ($0 = 1)) || ((. !isin $1) && ($1 != -h) && (!$server)) {
.timer.kte 1 0 !dns $1- | .timer.kte -e | return
}
.!dns $1-
if (!$show) { return }
var %h = $1, %f
if ($istok(-h -c, $1, 32)) { %f = $1 | %h = $2 }
if (%f != -h) && (. !isin %h) && ($address(%h, 5)) { %h = $gettok($ifmatch, 2, 64) }
set -u1 %:echo echo $color(info) -ti2 $+ $iif((@* iswm $active) && ($_isactive), s, a)
set -u1 %::address %h
set -nu1 %::me $me | set -nu1 %::server $server | set -nu1 %::port $port
set -nu1 %::pre 14.15.15.
set -nu1 %::c1 00 | set -nu1 %::c2 11 | set -nu1 %::c3 13 | set -nu1 %::c4 12
%:echo 14.15.15. Looking up %::nick $+ %::address $+ %:comments
unset %:echo %::address %::me %::server %::port %::pre %::c?
}
; ----------------------------------------------------------------------
; Numeric (raw) events ------------------------------------------------
; ----------------------------------------------------------------------
raw *:*: {
var %n = $right(00 $+ $numeric, 3)
if (%n == 322) { return }
elseif (%n == 372) { return }
eraw %n $2-
}
alias -l eraw {
var %n = $1
tokenize 32 $2-
if ((%n !== 372) || (%n !== 322)) { haltdef }
if (%n == 372) { return }
elseif (%n == 001) { echo -sg 15:4[15Server is4]15 $remove($4-,$gettok($4-,$calc($gettok($4-,0,32) - 1),321),32)) }
elseif (%n == 002) { set %e::server $remove($4,$right($4,1)) }
elseif (%n == 003) { set %e::created $4- }
elseif (%n == 004) { echo -sg 15:4[15Server info4]14 server ( %e::server ) is using $2 | echo -sg 15:4[15Created4]14 %e::created | echo -sg 15:4[15chanmodes4]14 $4 | echo -sg 15:4[15usermodes4]14 $3 }
elseif (%n == 005) { echo -sg 15:4[15Info4]14 $1- }
elseif (%n == 251) { echo -sg 15:4[15users4]14 $3-7 | echo -sg 15:4[15network4]14 this network consists of $9- }
elseif (%n == 252) { echo -sg 15:4[15operators4]14 there are $1- }
elseif (%n == 254) { echo -sg 15:4[15channels4]14 $1- }
elseif (%n == 255) { halt }
elseif (%n == 265) { echo -sg 15:4[15users4][15local4]14 $3- }
elseif (%n == 266) { echo -sg 15:4[15users4][15global4]14 $3- }
elseif (%n == 375) { echo -sg 15:4[15Message of the Day4] }
elseif (%n == 376) { echo -sg 15:4[15Message of the Day - end4] }
elseif (%n == 008) { echo -sg 15:4[15SNOMASK4]14 your SNOMASK is currently $4 }
elseif (%n == 332) { echo -gt $1 15:4[15topic4][14 $1 4]14 $2- }
elseif (%n == 333) { echo -gt $1 7topic by4: 7[14 $2 7] 4/7/8/7/4/ 7Topic Set at4: 7[14 $asctime($3) 7] }
elseif (%n == 324) { echo -gt $1 7Modes on4: 7[14 $1 7][14 $2- 7] }
elseif (%n == 381) { echo -agt 15:4[15oper4]14 $1- }
elseif (%n == 353) { halt }
elseif (%n == 366) { halt }
elseif (%n == 329) { halt }
elseif (%n == 352) { halt }
elseif (%n == 315) { halt }
elseif (%n == 302) {
var %i = 2, %t = $0, %p, %addr, %pos
while (%i <= %t) {
%p = $ [ $+ [ %i ] ]
%addr = $gettok(%p, 2, 61)
%pos = $pos(%addr, $left($remove(%addr, +, -), 1), 1)
set -u1 %::nick $gettok(%p, 1, 61)
set -u1 %::address $mid(%addr, %pos)
set -u1 %::value $left(%addr, $calc(%pos - 1))
if ($right(%::nick, 1) == *) { %::nick = $left(%::nick, -1) | %::value = %::value $+ * }
._userhost $1-
inc %i
}
}
elseif (%n == 421) { echo -agt 15:4[15error4]14 unknown command - $lower($1) }
elseif (%n == 006) { rootmap $1- }
elseif (%n == 603) { halt }
elseif (%n == 604) { halt }
elseif (%n == 605) { halt }
elseif (%n == 606) { halt }
elseif (%n == 600) { halt }
elseif (%n == 223) { echo -agt 15:4[15G:Line4]14 $1- }
elseif (%n == 216) { echo -agt $+(15:4[15,$iif($1 == Z,Z:Line,$iif($1 == E,Ban Exception,$iif($1 == K,K:Line))),4]14 $2-) }
elseif (%n == 243) { echo -agt 15:4[15O:Line4]14 $1- }
elseif (%n == 219) { echo -agt 15:4[15end of $1 stats4] }
elseif ($isalias($+(kte::raw.,%n))) { $+(kte::raw.,%n) $1- }
else { echo -sg 15:4[15Raw4][14 %n 4]14 $1- }
}
alias -l kte::Echo %:echo 14.15.15. rawr :: 00 $+ %::text $+ %:comments
alias -l kte::EchoTarget %:echo 14.15.15. echo :: 00 $+ %::text $+ %:comments
alias -l kte::Error %:echo 14.15.15. 7Error12:15 %::text $+ %:comments
alias -l kte::Raw.303 %:echo 14.15.15. %::text are online %:comments
alias -l kte::raw.406 %:echo 14.15.15. 11Error12:15 there was no such nick12: 00 $+ %::nick $+ %::comments $+ %:comments
alias -l kte::raw.375 { set -ul %:echo echo -st | %:echo 7:4>00 Message of the day14: %:comments }
alias -l kte::raw.255 { set -ul %:echo echo -st | cfusion.raw.255 }
alias -l kte::raw.391 %:echo 14.15.15. 7Time12:15 $asctime($ctime(%::text)) $+ %:comments
alias -l kte::Raw.332 { set %:echo echo -st | cfusion.topic }
alias -l kte::raw.372 { set -ul %:echo echo -st | %:echo 7:4> 15 %::text $+ %:comments }
alias -l kte::raw.252 { set -ul %:echo echo -st | %:echo 7:4> 00 Operators 4:15 %::value operators online %:comments }
alias -l kte::raw.333 { set -ul %:echo echo -st | cfusion.endtopic }
alias -l kte::raw.329 { set -ul %:echo echo -st | %:echo 14.15.15. 7Created4:15 $asctime(%::text) $+ %:comments }
alias -l kte::raw.265 { set -ul %:echo echo -st | %:echo 4:11>00 Local users 4:15 %::users $+ 14,00 Max14:15 %::value 7[15 $+ $cfusion.perc(%::users,%::value) full7] }
alias -l kte::raw.001
alias -l kte::raw.441 %:echo 14.15.15. 7Error4:00 %::nick $+ 15 is not on4: 00 $+ %::chan $+ %::comments $+ %:comments
alias -l kte::raw.401 %:echo 14.15.15. 7Error4:15 no such nick4: 00 $+ %::nick $+ %::comments $+ %:comments
alias -l kte::raw.266 { set -ul %:echo echo -st | cfusion.lusersend }
alias -l kte::raw.250 { set -ul %:echo echo -st | %:echo 7:4> 00 Highest 4:15 %::value is most clients connected %:comments }
alias -l kte::raw.002 { set -ul %:echo echo -st | %:echo 7:4>00 Server Statistics | %:echo 7:4> 00 Server 14:15 %::server 14[15 $+ %::value $+ 14] }
alias -l kte::raw.442 %:echo 14.15.15. 7Error4:00 you7(15 $+ %::nick $+ 7)15 are not on4: 00 $+ %::chan $+ %::comments $+ %:comments
alias -l kte::raw.315
alias -l kte::raw.402 %:echo 14.15.15. 7Error4:15 no such nick/server12: 00 $+ %::nick $+ %::comments $+ %:comments
alias -l kte::raw.003 { set -ul %:echo echo -st | %:echo 7:4> 00 Created 14:15 %::value $+ %:comments }
alias -l kte::Raw.251 { set -ul %:echo echo -st | cfusion.lusersstart }
alias -l kte::raw.443 %:echo 14.15.15. 7Error4:00 %::nick $+ 15 is already on12: 00 $+ %::chan $+ %::comments $+ %:comments
alias -l kte::raw.324 {
; %:echo 14.15.15. 7Modes4:15 on00 %::chan $+ 12: [15 $+ %::modes $+ 7] %::comments $+ %:comments
return $null
}
alias -l kte::raw.403 %:echo 14.15.15. 7Error4:15 no such channel4: 00 $+ %::chan $+ %::comments $+ %:comments
alias -l kte::raw.376
alias -l kte::raw.004 { set -ul %:echo echo -st | %:echo 7:4> 00 UserModes 12:15 $gettok(%::text,3,32) $+ | %:echo 7:4> 00 ChanModes 12:15 $gettok(%::text,4,32) $+ }
alias -l kte::Raw.301 { set -ul %:echo echo -st | %:echo 14.15.15. %::nick is away: %::text $+ %:comments }
alias -l kte::raw.432 %:echo 14.15.15. 7Error4:15 invalid nickname4: 00 $+ %::nick $+ %::comments $+ %:comments
alias -l kte::raw.404 %:echo 14.15.15. 7Error4:15 cannot send to channel4: 00 $+ %::chan $+ %::comments $+ %:comments
alias -l kte::raw.341 %:echo 14.15.15. 8Invite15:00 %::nick 15was invited to join4: 7[15 %::chan 7] %::comments $+ %:comments
alias -l kte::raw.005 { set -ul %:echo echo -st | %:echo 7:4> 00 Protocols 14:15 $replace(%::text,are supported by this server,,are available on this server,) }
alias -l kte::Raw.302 %:echo 14.15.15. 7Userhost4:00 %::nick 7(15 $+ %::address $+ 7) %::comments $+ %:comments
alias -l kte::raw.433 %:echo 14.15.15. 7Error4:15 nickname is already in use4: 00 $+ %::nick $+ %::comments $+ %:comments
alias -l kte::raw.421 %:echo 14.15.15. 7Error4:15 invalid command14:00 $lower(%::value) $+ %:comments
alias -l kte::raw.254 { set -up %:echo echo -st | %:echo 7:4> 00 Channels 4:15 %::value channels formed %:comments }
alias -l modecol {
if ($1 isop $2) { return 12 $+ $1 }
elseif ($1 isvoice $2) { return 9 $+ $1 }
elseif ($1 ishop $2) { return 8 $+ $1 }
else { return 15 $+ $1 }
}
alias -l rootmap {
var %toks = $gettok($1-,0,32)
var %numeric = $gettok($1-,%toks,32)
var %m::n = $iif(%numeric isnum,$v1,[None])
var %map = $left($1-,$calc($len($1-) - $len(%numeric)))
if (%numeric !isnum) { var %map = %map %numeric }
echo -sgt 7:4> 7Root Map4:15 %map 7Numeric ID4:15 %m::n
}
alias theme.text {
if (!$var(%:echo)) { return $false }
set -nu1 %::me $me | set -nu1 %::server $server | set -nu1 %::port $port
set -nu1 %::pre 14.15.15.
set -nu1 %::c1 00 | set -nu1 %::c2 11 | set -nu1 %::c3 13 | set -nu1 %::c4 12
if ($isalias(kte:: $+ $1)) { kte:: $+ $1 | return $true }
elseif (* iswm $hget(Kte_Theme, $1)) {
var %ln
set -n %ln $hget(Kte_Theme, $1)
if ($gettok(%ln, 1, 32) == !Script) { set -n %ln $deltok(%ln, 1, 32) }
else { set -n %ln % $+ :echo $dll($scriptdir $+ kte.dll, MTSPrecompile, %ln) $!+ % $+ :comments }
.timerkte_theme 1 0 %ln | .timerkte_theme -e | return $true
}
return $false
}
alias kte_void
alias -l _entered {
var %def = $readini($mircini, events, default), %set
if (!%def) { %def = 0,0,0,0,0,0,0,0 }
%set = $readini($mircini, events, $1)
if (!%set) { %set = 0,0,0,0,0,0,0,0 }
while ($findtok(%set, 0, 1, 44)) { %set = $puttok(%set, $calc($gettok(%def, $ifmatch, 44) + 1), $ifmatch, 44) }
hadd Kte_Events $1 %set
}
alias -l _left {
set -u0 %kte_chan $1
var %i = $scon(0)
while (%i) { if ($scon(%i) != $cid) && ($scon(%i).kte_haschan) { return } | dec %i }
hdel Kte_Events $1
}
alias -l kte_haschan return $chan(%kte_chan)
alias -l _isactive if ($cid == $activecid) { return 1 } | return 0
alias -l _active if ($cid == $activecid) { return a } | return s
alias -l _ischat {
var %n = $mid($1, 2)
if (=* !iswm $1) { return 1 }
if (=* iswm $1) && (($chat(%n)) || ($fserv(%n))) { return 1 }
return 0
}