lice5/0000755000175000017500000000000012126724361010227 5ustar timtimlice5/quit.reasons0000644000175000017500000001075511542462257012621 0ustar timtimVisit http://lice.muppetz.com "When in doubt, whip it out." "A man with his hands in pockets feels foolish, but a man with holes in pockets feels nuts." "Woman who wear G-string, high on crack!" "War doesn't determine who's right, war determines who's left." "Man who put head on Rail Road track to listen for train likely to end up with sudden splitting headache." Confucius say: Man who Farts in Church sits in own pew. Confucius say: Shit happens. Confucius say: Many man smoke, but Fu Man Chu. Confucius say: man who smoke pot choke on handle. Confucius say: too damn much! "Girl who is wallflower at party is dandelion in bed." "Girl who go to bachelor pad for snack get tit-bit." "Man have more hair on chest than woman - but on the whole woman have more." Visit http://lice.muppetz.com "Girl laid in tomb soon become mummy." We Are LiCe. You Will Be Assimilated. Confucius say: I didn't say that! Confucius say: Is stuffy inside fortune cookie. Confucius say: Man who meows ate pussy! Confucius say: Man who lay woman on hill not on level. Confucius say: Man who pull out too fast leave rubber. "Sailor who gets discharged from navy leave buddies behind." "No difference between man and mouse - both end up in pussy." "Woman is like jazz music, 3/4 jazz time and 1/4 rag time." "Wife who put husband in doghouse soon find him in cat house." "Secretary becomes permanent fixture when screwed on desk." Confucius say: He who fart in church sit in own pew. Confucius say: Man who stand on toilet is high on pot. Confucius say: Man with hand in pocket is having a ball. "Man with hand in bush not necessarily trimming shrubs." "Man who fight with wife all day, get no peace at night!" "If you park, don't drink, accidents cause people." "Man with athletic fingers make Broad Jump!" "House without toilet is uncanny." Confucius say: Many man smoke, but Fu Man Chu. Visit http://lice.muppetz.com Confucius say: `A Watched Tandy Never Boots!' Confucius not: know what to say! Confucius say: "Is more to running BBS than finding ON." Confucius say: nothing - Because he's dead! "Many men smoke but Fu Manchu." "He who crosses the ocean twice without washing is a dirty double crosser." "While others are inside sitting down, you will be outstanding." "Is good to learn how to masturbate, may come in handy!" "Man who tell one to many light bulb jokes soon burn out!" Confucius say: too much. Confucius say: Baby conceived in automatic car shiftless bastard. "It takes many nails to build crib, but one screw to fill it." "Never raise hands to angry child, it leave groin exposed." "Woman who cooks carrots and pees in same pot is unsanitary." "Man who go out with flat chest woman have right to feel shallow." "Man that have sex with hole in ground have piece on earth." "Man who eat many prunes, sit on toilet many moons." We Are LiCe. You Will Be Assimilated. Confucius say: Man fly upside down have crack-up! Confucius say: A bird in hand makes hard to blow nose. Confucius say: Man who Farts in Church sits in own pew. Confucius say: Man with no legs bums around. "Man who bounce woman on bed spring this spring have offspring next spring." "Woman with bleached blonde hair have black hair by cracky." "Man who masturbate into cash register, soon come into money." "Wife for life is better than wife for strife." "Man who sink into womans arms soon have arms in womans sink." "Man who drive like hell bound to get there!" Visit http://lice.muppetz.com Confucius say: Woman who fly upside down have crack up! Confucius say: Woman who cook carrots and peas in same pot not sanitary! Confucius say: that man with four balls cannot walk! "Girl with little red bike peddle ass all over town!" "Man who keep feet firmly on ground have trouble putting on pants!" "Girl who slides down banister nude gets splinters by crackey!" "Rape no good, woman run faster with dress up, than man can with pants down." "Man who go to bed with sex on mind wake up with solution in hand." "Better to sleep with chicken than to choke it." Visit http://lice.muppetz.com "All blonde not blonde by cracky." "Man who sit on tack get point!" "Man who runs behind car gets exhausted!" "Man who jump off cliff jumps to conclusion!" "Man who lose key to girlfriend's apartment get no new-key!" "Man who has woman on ground has piece on earth!" "Man who farts in church sits in his own phew!" Confucius say: woman lousy flier, have crack-up anyway! Confucius say: Find old man in dark, not hard! Confucius say: Put Rooster in Freezer Get A Stiff Cock. Confucius say: Show off always shown up in showdown. lice5/lice.irc0000644000175000017500000015640412126407634011655 0ustar timtim# LiCe5 - srfrog's LiCe4 ported and enhanced for epic5 by tjh [tim@muppetz.com] # Website: http://lice.muppetz.com/ # SVN: http://lice.googlecode.com/ # # Version: 5.2.5 # Released: 04/01/13 # # IRCII Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 1993-2000 SrfRoG (cag@codehack.com) # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. # # --------------------------------------------------------------------------- # All code by SrfRoG, UNLESS specified. Visit http://lice.muppetz.com # --------------------------------------------------------------------------- # # Lots of code change and modifications by tjh. # Most routines are all SrfRoG original though, just updated or # modified to work with epic5. IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; # warning to people who dare use lame clients. EVAL IF (word(0 $info(v)) != [epic5] || V < 20120804 || info(i) < 1667) { CLEAR; ECHO; ECHO; ECHO; ECHO The LiCe5 script needs the latest ircii-EPIC5 client, else it won't; ECHO work as intended. Tell your administrator to upgrade your client, or; ECHO you can obtain a copy of the source and compile it for yourself from:; ECHO; ECHO ftp://epicsol.org/pub/epic (tarball); ECHO; ECHO EPIC5 1.1.4 is the minimum recommended version for LiCe5, though any; ECHO version of EPIC5 will work. Bugs reported on earlier versions will; ECHO be ignored though! You've been warned....; ECHO; ECHO; IF (word(0 $info(v)) == [epic5] || word(0 $info(v)) == [epic5]) { ECHO You are using $word(0 $info(v)) release:$V commit_id:#$info(i); ECHO You should have EPIC5 release:20120804 commit_id:#1667 [EPIC5-1.1.4] or greater; }; IF (word(0 $info(v)) != [epic5]) { ECHO You need EPIC5! You have $word(0 $info(v)) ! Bye...; RETURN; }; ECHO Pausing 10 seconds...; PAUSE 10; }; # Make sure there's nothing else loaded. //^DUMP ALL; PACKAGE LiCe; # idea by anduril (wd) ^ASSIGN bench.stime $utime(); # savefile location ^ASSIGN lice.save_path $getenv(IRCSAVE); UNLESS (strlen($lice.save_path)) {^ASSIGN lice.save_path $twiddle(~/.lice)}; # global defaults @ temp.nrm = numitems(AM); ^ASSIGN temp.dcc_active 0; ^ASSIGN temp.mode_list.User AFEGIOPRUV; ^ASSIGN temp.mode_list.Shit ABCDEFHKNU; # locate install path ^ASSIGN LiCePath $before(-1 / $word(1 $loadinfo())); # lice.epic5 imports builtins from epic4 for epic5 - backwards compatability LOAD -pf $LiCePath/lice/lice.epic5; # database engine LOAD -pf $LiCePath/lice/lice.db; # check to disable update IF (fexist($(LiCePath)/disable_update) == 1) {@ dlu = 1}; # setup some sane defaults. LOAD -pf $LiCePath/lice/lice.defaults; # load the default theme. LOAD $LiCePath/themes/default; # program information ^ASSIGN id.v $decode(DFCODCCODF); ALIAS lice (addon) { @ :ret = []; SWITCH ($addon) { () { @ :ret = decode(ACEMGJEDGFAC) ## [ v] ## id.v; @ :ret #= strlen($id.m) ? [ ] ## id.m : []; }; (+sv) { @ :ret = decode(ACEMGJEDGFAC) ## [ v] ## id.v; @ :ret #= (lice.get(main.theme) == [default]) ? [] : [ \(] ## lice.get(main.theme) ## [\)]; @ :ret #= strlen($id.m) ? [ ] ## id.m : []; }; (-sv) { ^ASSIGN -id.m; UNLESS (isset(Q)) {^SET CLIENT_INFORMATION $lice()}; }; (*) { PUSH id.m ${(substr("${addon}" $id.m) == -1) ? [+ ] ## addon : []}; UNLESS (isset(Q)) {^SET CLIENT_INFORMATION $lice()}; }; }; @ FUNCTION_RETURN = ret; }; # display random LiCe logo EVAL load $LiCePath/logos/lice.logo${rand(2)+1}; ### ONs ON ^DCC_RAW * #; ON ^301 * { IF (temp.whois_away > 0) { ECHO $fmt.whois_mid(Away $1-); }{ IF (findw($0 $servernick($servernum()) $tabnick[$servernum()]) == -1) {XECHO -B $0 is away: $1-}; }; }; ON #-305 13 * { @ :serv = serverctl(FROM_SERVER); IF (gone_away[$serv] > 0) { iecho You were gone for $tdiff(${time() - gone_away[$serv]}); }; IF (temp.nrm > 0) { iecho You have $temp.nrm message$plural($temp.nrm) waiting; }; ^ASSIGN -gone_away[$serv]; }; ON #-306 13 * { @ :serv = serverctl(FROM_SERVER); UNLESS (gone_away[$serv]) { @ gone_away[$serv] = time() }; IF (ismset(M)) { iecho Saving all incoming messages...; }; ^SET STATUS_USER1 $temp.nrm; IF (!quiet.test && !ismset(Q) && servername($winserv()) == S) { DESCRIBE ${C?C:T?T:N} is gone. $A; }; ^ASSIGN -quiet.test; }; ON ^275 * {ECHO $fmt.whois_mid(Security $1-)}; ON ^276 * {ECHO $fmt.whois_mid(Notice $1-)}; ON ^307 * {ECHO $fmt.whois_mid(Services $1-)}; ON ^308 * {ECHO $fmt.whois_mid(Server $1-)}; ON ^309 * {ECHO $fmt.whois_mid(Services $1-)}; ON ^310 * {ECHO $fmt.whois_mid(Helper $1-)}; ON ^338 * {ECHO $fmt.whois_mid(Spoof Real Host for $1 is $2)}; ON ^311 * {_proc.on_whois Whois $1-}; ON ^312 * { IF (pattern([*.*] $2)) { IF (strlen($3)) { ECHO $fmt.whois_mid(Server $2 [$3-]); ECHO $fmt.whois_mid(Server Uplink $1 -> $strip([] $2)); }{ ECHO $fmt.whois_mid(Server $1 [Uplink $strip([] $2)]); }; }{ ECHO $fmt.whois_mid(Server $2 [$3-]); }; }; ON ^313 * {ECHO $fmt.whois_mid(Operator $1-)}; ON ^314 * {_proc.on_whois Whowas $1-}; ON ^317 * { IF (isnumber($3)) {ECHO $fmt.whois_mid(Signon $strftime($3 %c))}; ECHO $fmt.whois_mid(Idle $tdiff($2)); }; ON ^318 * { IF (temp.whois_away > 0) { @temp.whois_away--; IF (ismset(O)) {_proc.note_wget $1}; IF (aliasctl(ALIAS EXISTS fmt.whois_bot)) {ECHO $fmt.whois_bot(Whois $*)}; }; }; ON ^319 * {ECHO $fmt.whois_mid(Channels $2-)}; ON ^328 * {XECHO -W $chanwin($1) $fmt.banner_chan() URL for $1\: $2-}; ON ^330 * {ECHO $fmt.whois_mid(Identity $1 $3- $2)}; ON ^331 * { @ :win = chanwin($1); XECHO -W $win $fmt.banner_chan() $fmt.topic_set($1 No Topic Set); UNLESS (win == -1) { @ :hash = hash_32bit($1); @ chan_topic[$win$hash] = [$1 No Topic Set]; IF (iscurchan($1) && iswset(T)) {@windowctl(SET $win TOPLINE 1 -- LiCe Titlebar [tm] --)}; }; }; ON ^332 * { @ :win = chanwin($1); XECHO -W $win $fmt.banner_chan() $fmt.topic_set($1-); UNLESS (win == -1) { @ :hash = hash_32bit($1); @ chan_topic[$win$hash] = [$1-]; IF (iscurchan($1) && iswset(T)) { @windowctl(SET $win TOPLINE 1 $fmt.titlebar($chan_topic[$win$hash])); }; }; }; ON ^333 * {XECHO -W $chanwin($1) $fmt.banner_chan() $fmt.topic_set($1 Set by $2 on $strftime($3 %c))}; ON ^335 * {ECHO $fmt.whois_mid(Bot $2-)}; ON #-351 13 * { XECHO -B $info(C); XECHO -B System: $uname(%a); XECHO -B Script: $decode(BPFDHCGGFCGPEHBPCHHDCAACEMGJEDGFAC) v$id.v : cag@codehack.com / hsoc@irc.gr / tim@muppetz.com; IF (strlen($id.m)) {XECHO -B Add-Ons: $rest(2 $id.m)}; XECHO -B Uptime: $tdiff(${time() - F}) \(PID $pid()\); }; ON ^364 * { UNLESS (temp.link) { @ temp.link = 1; ECHO $fmt.banner_server() ----- Hops Server ------------------------- Uplink ----------------------; }; ECHO $fmt.banner_server() $pad(3 " " $temp.link) [$[-2]3] [$pad(27 " " $1)] -> [$pad(27 " " $2)]; @ temp.link++; }; ON ^365 * {^ASSIGN -temp.link}; ON ^366 * #; ALIAS _proc.display_list (name,chan,item,who,when) { @ :serv = servernum(); IF (onchannel($servernick() $chan)) { @ :list = left(1 $name) ## serv; @ :hash = hash_32bit($chan); IF (matchitem($list\-$hash *$item*) < 0) { @ setitem($list\-$hash $numitems($list\-$hash) $item); }; IF (list_mutex[$list$hash]) {RETURN}; }; UNLESS (temp[$name]) { @ temp[$name] = 1; cecho ---------- Channel $ch($chan) ${name}list ----------; }; IF (strlen($who)) { cecho $pad(2 " " $temp[$name]) $strftime($when %b%d %X) $item \(by ${ismset(V) ? who : pass(! $who) ? before(! $who) : who}\); }{ cecho $pad(2 " " $temp[$name]) $item; }; @ temp[$name]++; }; ON ^346 * {_proc.display_list Inv $1-}; ON ^347 * { ^ASSIGN -temp.Inv; ^ASSIGN -list_mutex[I$servernum()$hash_32bit($1)]; }; ON ^348 * {_proc.display_list Exc $1-}; ON ^349 * { ^ASSIGN -temp.Exc; ^ASSIGN -list_mutex[E$servernum()$hash_32bit($1)]; }; ON ^367 * {_proc.display_list Ban $1-}; ON ^368 * { ^ASSIGN -temp.Ban; ^ASSIGN -list_mutex[B$servernum()$hash_32bit($2)]; }; ON ^369 * { IF (temp.whois_away > 0) { @temp.whois_away--; IF (ismset(O)) {_proc.note_wget $1}; IF (aliasctl(ALIAS EXISTS fmt.whois_bot)) {ECHO $fmt.whois_bot(Whowas $*);}; }; }; ON ^378 * {ECHO $fmt.whois_mid(Security $1 is really $5 [$6])}; ON ^671 * {ECHO $fmt.whois_mid(Security $1-)}; ON #-TOPIC -13 * { @ :hash = hash_32bit($1); @ :nick = servernick($servernum()); UNLESS ([$0] == nick) { @ :mode = ischanop($nick $1) ? get_cookie(User $1 $0 $hash) : 0; IF (iscset(T $hash) && !(mode & 4) && strlen($lice.get(chan[$hash][T])) && [$2-] != lice.get(chan[$hash][T])) {QUOTE TOPIC $1 :$lice.get(chan[$hash][T])}; }{ IF (iscset(T $hash)) {@lice.set(chan[$hash][T] $2-)}; }; }; ON #-SEND_MSG 13 * {_proc.tab_add $winserv() $0}; ON #-SEND_NOTICE 13 * {_proc.tab_add $winserv() $0}; ON #-SEND_DCC_CHAT 13 * {_proc.tab_add $winserv() =$0}; ON #-ACTION 13 * { UNLESS (ischannel($1)) { IF (ismset(A)) {_proc.away_save $0 $userhost() [action:$1] * $0 $2-}; _proc.tab_add $servernum() $0; }; }; ON #-DCC_CHAT 13 * { _proc.tab_add $winserv() =$0; IF (ismset(C)) {_proc.away_save $0 licelogd [CHAT] $1-}; }; ON #-CONNECT 13 * { IF (ismset(V)) {_proc.away_save LiCe licelogd Connected to $0 [$2]}; IF (strlen($lice.get(main.umode))) {^TIMER 1 {MODE $servernick() $lice.get(main.umode)}}; }; ON #-DISCONNECT 13 * { IF (ismset(U)) {_proc.away_save LiCe licelogd $0-}; UNLESS ([$0]==[Killed]) {//SERVER +}; UNLESS ([$0]!=[Killed] || [$1]!=[Connection]) {//RECONNECT} }; # handle userlist msg commands here. ON ^MSG "% !HELP*" { @ :host = userhost(); IF (!isset(P) || !find_in_list(User $0!$host)) { mecho $fmt.msg($*); RETURN; }; ECHO $fmt.banner_userlist() $fmt.usercmd($0 HELP); ^_proc.ulw_help $0 $host $servernum() $2; }; ON ^MSG "% !IDENT *" { UNLESS (isset(P)) {RETURN}; ECHO $fmt.banner_userlist() $fmt.usercmd($0 IDENT); ^_proc.ulw_ident $0 $userhost() $servernum() $2-; }; ON ^MSG "% !% %*" { @ :host = userhost(); IF (!isset(P) || !find_in_list(User $0!$host)) { mecho $fmt.msg($*); RETURN; }; @ :cmd = toupper($rest(1 $1)); ECHO $fmt.banner_userlist() $fmt.usercmd($0 $cmd); UNLESS (aliasctl(ALIAS EXIST _PROC.ULW_$cmd)) { @ :test = which($LiCePath/lice/lice.ulw_$tolower($cmd)); UNLESS (strlen($test)) {RETURN}; ^LOAD -pf $test; }; ^_proc.ulw_$cmd $0 $host $servernum() $2 $3; }; ## lame /ON NAMES display ALIAS _proc.names_mode (nick) { @ :nic = mid(1 9 $nick); @ :mod = left(1 $nick); IF (mod == [@]) { @ names.o++; } ELSIF (mod == [%]) { @ names.h++; } ELSIF (mod == [+]) { @ names.v++; } ELSE { @ :mod = []; @ :nic = nick; IF (strlen($nick)) {@ names.l++}; }; @ :ret = mod ## nic; RETURN $ret; }; ON -366 * { IF (names.max) { @ :names.t = names.v + names.o + names.h + names.l; IF (aliasctl(ALIAS EXISTS fmt.sc_bot)) {ECHO $fmt.sc_bot($2 $names.o $names.h $names.v $names.l $names.t)}; purge names; }; }; ON ^353 * { IF (iscset(Q $hash_32bit($2))) {RETURN}; UNLESS (names.max) { @ :max = fmt.sc_max() ? fmt.sc_max() : (word(0 $geom()) - 1) / 11; @ :min = ismset(T) ? ((strlen($strftime($lice.get(main.tsfmt))) + 2) / 11) + 1 : 0; @ names.max = max - min; @ names.v = names.o = names.h = names.l = 0; ECHO $fmt.sc_top($2); }; ^LOCAL list $3-; @ :names.list = []; FE ($list) nick { PUSH names.list $_proc.names_mode($nick); IF (numwords($names.list) != names.max) {CONTINUE}; ECHO $fmt.sc_mid($names.list); @ :names.list = []; }; IF (strlen($names.list)) {ECHO $fmt.sc_mid($names.list)}; }; ## ON #-IDLE 13 '\$lice.get(main.agn)' { FE ($myservers()) server { @ :serv = servernum($server); XEVAL -S $serv { IF (A || !lice.get(main.agn) || isset(X) || !isconnected($serv)) {RETURN}; @ quiet.test = quiet.test ? quiet.test : 1; AWAY Gone since $strftime(${time() - (lice.get(main.agn) * 60)} %c); IF (ismset(U)) {_proc.away_save LiCe licelogd [$server] Changed to AWAY status after $0 min$plural($0) of inactivity.}; }; }; XECHO -C $fmt.banner_alert() Auto: Away after $0 minute$plural($0) of inactivity.; }; ON #-INVITE 13 * { IF (isset(I) || iscset(I $hash_32bit($1))) { JOIN $1; ECHO $fmt.banner_alert() Auto: Join $ch($1) after invite from $0 \($2\); IF (ismset(U)) {_proc.away_save LiCe licelogd Joined $ch($1) after invite from $0 \($2\)}; RETURN; }; IF (ismset(U)) {_proc.away_save LiCe licelogd $0 \($2\) invited you to join $ch($1)}; IF (findw($1 $temp.invite) == -1) { PUSH temp.invite $1; IF (ismset(V)) { XQUOTE -S $servernum() MODE $1; iecho Press "Esc-k" to join invited channel $ch($1); }; }; }; ON #-TIMER -13 * { ^SET STATUS_USER2 ??; @ temp.last_ping = time(); FE ($myservers(null)) server { @ :serv = serverctl(REFNUM $server); UNLESS (serverctl(GET $serv CONNECTED)) {CONTINUE}; @ :nick = serverctl(GET $serv NICKNAME); @ :text = isset(X) ? [PRIVMSG ] ## nick ## [ \:PING ] ## temp.last_ping : [PING ] ## temp.last_ping; XQUOTE -S $serv $text; XEVAL -S $serv { IF ((lice.get(main.auto_nick)) && nick != lice.get(main.auto_nick) && isset(A) && !rmatch($lice.get(main.auto_nick) $notify(on serv $serv))) { ECHO $fmt.banner_alert() Nick $lice.get(main.auto_nick) is now available (AutoNick); NICK $lice.get(main.auto_nick); }; IF (isset(R)) { FE ($mychannels($serv)) chan { IF (!ischanop($nick $chan) && numonchannel($chan) == 1) { leave $chan; WAIT -CMD WINDOW $winchan($chan) CHANNEL "$chan $key($chan)"; }; }; }; }; IF (serv == winserv()) { IF (isaway($serv)) { @ :lame = (gone_away[$serv] ? tdiff2(${temp.last_ping - gone_away[$serv]}) : [??]); ^SET STATUS_USER3 Away: $lame; }{^SET STATUS_USER3 Idle: $tdiff2($E)}; IF (numitems(ALARM) > 0) {_proc.alarm_check $mid(${index(\: $0) + 1} 2 $0)}; STIME; }; }; _proc.purge_lists $temp.last_ping; }; ON #-EXIT 13 * { @lice.set(db.status 0); iecho Time wasted on IRC: $tdiff(${time() - F}); }; # IrcNet is lame. ALIAS _proc.update_lag (sname,then) { IF (winserv() == servernum($sname)) { @ :fix = isnumber($then) ? then : temp.last_ping; @ :lag = time() - fix; ^SET STATUS_USER2 $tdiff2($lag); RETURN; }; UNLESS (sname == temp.last_sping_server) {RETURN}; @ :lag = isnumber($temp.last_sping) ? time() - temp.last_sping : 0; iecho >> $sname latency: $tdiff($lag); ^ASSIGN -temp.last_sping; ^ASSIGN -temp.last_sping_server; }; ON ^PONG * {_proc.update_lag $0 $2}; # major hack... ON ^RAW_IRC '\$servernick($servernum())!% PRIVMSG \$servernick($servernum()) :PING %' {_proc.update_lag $S $4}; ON #^CHANNEL_SIGNOFF -13 * {_proc.cookies_remove $0 $1}; ON #^CHANNEL_NICK -13 * {_proc.cookies_remove $0 $1}; # # Custom Formats # ALIAS rtab { IF ([$0]) { UNLESS (tabnick[$winserv()]) { uecho Tablist\: Currently Empty; RETURN; }; IF ([$0]==[*] || [$0]==[-a]) { uecho Tablist\: Removing \"$tabnick[$winserv()]\"; ^ASSIGN -tabnick[$winserv()]; }{ IF (match($0 $tabnick[$winserv()])) { @ tabnick[$winserv()] = remw($0 $tabnick[$winserv()]); uecho Tablist\: Removed \"$0\"; }; }; }{uecho Usage\: /RTAB [esc+r to cycle current server tablist]}; }; ON ^ACTION * { IF (ischannel($1)) { XECHO -W $chanwin($1) $fmt.action($*); }{ ECHO $fmt.action_me($*); }; }; ON ^CHANNEL_NICK * { XECHO -W $chanwin($0) $fmt.banner_nick() $fmt.channel_nick($*); IF (winnam($1)) { XEVAL -W $1 WINDOW NAME $2 QUERY $2; XECHO -C $fmt.banner_alert() Auto: Switching query nickname $1 to $2; }; IF (match($1 $tabnick[$winserv()]) && ismset(V)) { @ tabnick[$winserv()] = remw($1 $tabnick[$winserv()]); _proc.tab_add $servernum() $2; }; IF ([$1] != servernick()) { @ :hash = hash_32bit($0); IF ((!iscset(C $hash) && !iscset(F $hash)) || (iscset(O $hash) && ischanop($1 $0)) || (iscset(V $hash) && ischanvoice($1 $0))) {RETURN}; @ :mode = get_cookie(User $0 $1 $hash); @ :test = _proc.mass_check($userhost($1) $hash); IF (test && !(mode & 2)) {_proc.flood_chan NICK $2 $userhost($1) $servernum() $0 $hash}; }; }; ON ^CHANNEL_SIGNOFF * { IF (!ismset(V) && iscset(Q $hash_32bit($0))) {RETURN}; XECHO -W $chanwin($0) $fmt.banner_signoff() $fmt.channel_signoff($*); }; ON ^CTCP * { IF (ischannel($1)) { @ :hash = hash_32bit($1); XECHO -W $chanwin($1) $fmt.banner_ctcp() $fmt.ctcp_channel($*); IF ((!iscset(C $hash) && !iscset(F $hash)) || (iscset(O $hash) && ischanop($0 $1)) || (iscset(V $hash) && ischanvoice($0 $1))) {RETURN}; @ :mode = get_cookie(User $1 $0 $hash); @ :test = _proc.mass_check($userhost($0) $hash); IF (test && !(mode & 2)) {_proc.flood_chan CTCP $0 $userhost($0) $servernum() $1 $hash}; }{ ECHO $fmt.banner_ctcp() ${([$1] == servernick($servernum())) ? fmt.ctcp_me($*) : fmt.ctcp_server($*)}; }; }; ON ^DCC_CHAT * {dmecho $fmt.dcc_chat($*)}; ON -GENERAL_NOTICE '% $servernick() *' #; ON ^GENERAL_NOTICE "% @#% *" {mecho $fmt.notice($0 WALLOP:$1 $2-)}; ON ^GENERAL_NOTICE "% %.% *" {mecho $fmt.notice($0 [$1] $2-)}; # TODO: Figure out why this is commented out. tjh #ON ^GENERAL_NOTICE * { # IF (left(1 $1) == [@] && ischannel($rest(1 $1))) { # mecho $fmt.notice($0 WALLOP:$1 $2-) # }{mecho $fmt.notice($0 [$1] $2-)} # } #} ON ^INVITE * {ECHO $fmt.banner_invite() $fmt.invite($*)}; ON ^JOIN * {XECHO -W $chanwin($1) $fmt.banner_join() $fmt.join($*)}; ON ^KICK * { XECHO -W $chanwin($2) $fmt.banner_kick() ${([$0] == servernick($servernum())) ? fmt.kick_me($*) : fmt.kick($*)}; }; ON ^MODE * { IF (ischannel($1)) { XECHO -W $chanwin($1) $fmt.banner_mode() $fmt.mode($*); }{ ECHO $fmt.banner_mode() $fmt.mode_me($*); }; }; ON ^PART * {XECHO -W $chanwin($1) $fmt.banner_leave() $fmt.leave($*)}; ON ^MODE "% % %bb *" {XECHO -W $chanwin($1) $fmt.banner_mode() $fmt.mode_bans($*)}; ON ^MODE "*.* #% *" {XECHO -W $chanwin($1) $fmt.banner_mode() $fmt.mode_server($*)}; ON ^MSG * { IF (ismset(I)) { UNLESS (findw($0 $servernick($servernum()) $tabnick[$servernum()]) > -1) { XEVAL -S $servernum() WHOIS $0; }; }; mecho $fmt.msg($*); }; ON ^MSG_GROUP * {mecho $fmt.msg_group($*)}; ON ^NOTICE * {mecho $fmt.notice($*)}; ON ^NOTIFY_SIGNON * { IF ([$0] == [$lice.get(main.auto_nick)] && isset(A)) {RETURN;}; ECHO $fmt.banner_signon() ${(NOTIFY_USERHOST_AUTOMATIC == [ON]) ? fmt.notify_signon_uh($*) : fmt.notify_signon($*)}; }; ON ^NOTIFY_SIGNOFF * {ECHO $fmt.banner_signoff() $fmt.notify_signoff($*)}; ON ^PUBLIC * {XECHO -W $chanwin($1) $fmt.public($*)}; ON ^PUBLIC_MSG * {XECHO -W $chanwin($1) $fmt.public_msg($*)}; ON ^PUBLIC_OTHER * {XECHO -W $chanwin($1) $fmt.public_other($*)}; ON ^PUBLIC_NOTICE * { UNLESS (findw($1 $mychannels() $servernick()) == -1) { mecho $fmt.public_notice($*); }{mecho $fmt.notice_group($*)}; }; ON ^SEND_ACTION * { IF (ischannel($0)) { XECHO -W $chanwin($0) $fmt.send_action($*); }{ ECHO $fmt.send_action_me($*); }; }; ON ^SEND_DCC_CHAT * {dmecho $fmt.send_dcc_chat($*)}; ON ^SEND_MSG * {mecho $fmt.send_msg($*)}; ON ^SEND_NOTICE * {mecho $fmt.send_notice($*)}; ON ^SEND_PUBLIC * {XECHO -W $chanwin($0) $fmt.send_public($*)}; ON ^SERVER_NOTICE * {XECHO -W OV$servernum() $fmt.banner_server() $fmt.server_notice($*)}; ON ^TOPIC * { @ :win = chanwin($1); XECHO -W $win $fmt.banner_chan() $fmt.topic($*); UNLESS (win == -1) { @ :hash = hash_32bit($1); @ chan_topic[$win$hash] = [$1-]; IF (iscurchan($1)) { IF ([$2] == []) { @windowctl(SET $win TOPLINE 1 -- LiCe Titlebar [tm] --); }{ @windowctl(SET $win TOPLINE 1 $fmt.titlebar($chan_topic[$win$hash])); }; }; }; }; ON ^WALLOP * { IF ([$1] == [*]) { mecho $fmt.wallop($*); }{ XECHO -W OV$servernum() $fmt.banner_server() $fmt.wallop_server($*); }; }; ### Synch check funtion (Orig. by SrfRoG) ALIAS _proc_synch { IF ([$0] != S) { uecho Desynch@$0 \- $1-; }{uecho $1\: $2-}; }; ON ^404 * {_proc_synch $0-}; ON ^442 * {_proc_synch $0-}; ON ^482 * {_proc_synch $0-}; ### ON ^405 * {ECHO $fmt.banner_alert() $fmt.cant_join($1 You're in too many channels);}; ON ^432 * {ECHO $fmt.banner_alert() $1-;}; ON ^437 * {ECHO $fmt.banner_alert() $fmt.cant_join($1 Temporarily unavailable / Banned NICK change);}; ON ^471 * {ECHO $fmt.banner_alert() $fmt.cant_join($1 It's full);}; ON ^473 * {ECHO $fmt.banner_alert() $fmt.cant_join($1 An invite is required);}; ON ^474 * {ECHO $fmt.banner_alert() $fmt.cant_join($1 You're banned);}; ON ^475 * {ECHO $fmt.banner_alert() $fmt.cant_join($1 A key is required);}; ON ^476 * {ECHO $fmt.banner_alert() $fmt.cant_join($1 Bad channel name);}; ON ^477 * {ECHO $fmt.banner_alert() $fmt.cant_join($1 Only registered nicks allowed);}; ON ^478 * { IF (ischanop($servernick() $1)) {//MODE $1 +i}; ECHO $fmt.banner_alert() $toupper($1) $2-; }; ### END ONs ### Small commands ALIAS sv {//MSG ${@?[$0]:C} $J \($info(r)\) + $lice(+sv)}; ALIAS umode {//MODE $N $*}; ALIAS ww {//WHOWAS $*}; ALIAS wi {//WHOIS $*}; ALIAS wii {//WHOIS $0 $0}; ALIAS re {//REDIRECT $*}; ALIAS rlag { IF (@) { ^ASSIGN temp.last_sping_server $0; @ temp.last_sping = time(); QUOTE PING $S $temp.last_sping_server; RETURN; }; ^SET STATUS_USER2 ??; @ temp.last_ping = time(); XQUOTE -S $winserv() PING $temp.last_ping; }; ALIAS sping {rlag $*}; ALIAS rex {IF (strlen($1)) {EXEC -msg $*}{uecho Usage: /REX [arguments]}}; ALIAS ex {EXEC}; ALIAS c { SWITCH ($0) { (-c) {//MODE $C -$chanmode($C)}; (-k) {//MODE $C -k $key($C)}; (-1) {//MODE $C +inst-lmpmk $key($C)}; (-2) {//MODE $C +nst-ilmkpm $key($C)}; (-3) {//MODE $C +nt-ilmkspm $key($C)}; () (*) {//MODE $C $*}; }; }; ALIAS m {//MSG $*}; ALIAS n {//NOTICE $*}; ALIAS j { SWITCH ($0) { () {IF (I) {//JOIN -I}{//JOIN};}; (-*) {//JOIN $*}; (*) {IF (ischannel($0)) {//JOIN $*}{//JOIN #$*};}; }; }; ALIAS join {j $*}; ALIAS leave { @ :serv = servernum(); SWITCH ($0) { () { _proc.channel_remove $serv $C; //PART *; }; (-a) { FE ($mychannels()) chan {_proc.channel_remove $serv $chan}; //JOIN 0; }; (*) {IF (ischannel($0)) { _proc.channel_remove $serv $0; //PART $*; }{ _proc.channel_remove $serv #$0; //PART #$*; };}; }; }; ALIAS l {leave $*}; ALIAS part {leave $*}; ALIAS cycle { @ :c.ch = @ ? (ischannel($0) ? [$0] : [#$0]) : C; UNLESS (rmatch($c.ch $mychannels()) == 0) { leave $c.ch; WAIT -CMD //JOIN $c.ch $key($c.ch); }{//JOIN $c.ch;}; }; ALIAS chg { leave; IF (@) {WAIT -CMD JOIN $0-}; }; ALIAS w { SWITCH ($0) { () {//WHO *}; (-*) {//WHO $0 * $1-}; (*) {//WHO $*}; }; }; ALIAS topic IF (ischannel($0)) {//TOPIC $*;}{//TOPIC $C $*}; ALIAS t { IF (ischannel($0)) { IF (strlen($1) || !strlen($chan_topic[$chanwin($0)$hash_32bit($0)])) { //TOPIC $*; }{ XECHO -W $chanwin($0) $fmt.banner_chan() $fmt.topic_set($chan_topic[$chanwin($0)$hash_32bit($0)])}; }{ IF (strlen($0) || !strlen($chan_topic[$chanwin($C)$hash_32bit($C)])) { //TOPIC $C $*; }{ XECHO -W $chanwin($C) $fmt.banner_chan() $fmt.topic_set($chan_topic[$chanwin($C)$hash_32bit($C)])}; }; }; ALIAS offers {//CTCP ${@?[$0]:C} XDCC LIST}; ALIAS ver {//CTCP ${@?[$0]:C} VERSION}; ALIAS ping {//PING ${@?[$0]:C}}; ALIAS p {ping $*}; ALIAS chat { @ :who = @ ? [$0] : queue.head(DQCHAT); IF (strlen($who)) { FE ($myservers()) name { @ :serv = servernum($name); IF (isconnected($serv)) {_proc.tab_add $serv =$who}; }; DCC CHAT $who; }; }; ALIAS nochat {//DCC CLOSE CHAT $0}; ALIAS dop { ^ASSIGN mode_list $*; _proc.loop_mode $winserv() - o $C mode_list; }; ALIAS op { ^ASSIGN mode_list $*; _proc.loop_mode $winserv() + o $C mode_list; }; ALIAS dhop { ^ASSIGN mode_list $*; _proc.loop_mode $winserv() - h $C mode_list; }; ALIAS hop { ^ASSIGN mode_list $*; _proc.loop_mode $winserv() + h $C mode_list; }; ALIAS reop { ^ASSIGN mode_list $remw($N $chops($C)) $*; _proc.loop_mode $winserv() + o $C mode_list; }; ALIAS voice { ^ASSIGN mode_list $*; _proc.loop_mode $winserv() + v $C mode_list; }; ALIAS quiet { ^ASSIGN mode_list $*; _proc.loop_mode $winserv() - v $C mode_list; }; ALIAS ar { IF (@) {@lice.set(main.buf $*)}; IF (lice.get(main.buf)) { iecho Auto-reply buffer activates on words matching $lice.get(main.buf); }{ iecho Auto-reply buffer is empty; }; }; ALIAS rar { IF (lice.get(main.buf)) { iecho Removed $lice.get(main.buf) from your auto-reply buffer; @lice.del(main.buf); }{ iecho Auto-reply buffer is empty; }; }; ALIAS stime { @ :it.hr = strftime(%H) - left(3 $strftime(%z)) - 1; @ :it.rhr = (it.hr >= 24) ? it.hr - 24 : (it.hr < 0) ? it.hr + 24 : it.hr; @ :it.ts = (it.rhr * 3600) + (strftime(%M) * 60) + strftime(%S); ^SET FLOATING_POINT_MATH ON; @ :it.tot = (it.ts * 1000) / 86400; ^SET FLOATING_POINT_MATH OFF; @ uni.time = before(. $it.tot\.); }; ALIAS itime {iecho Swatch Internet Time is currently @$uni.time beats.}; ALIAS sbar {iecho Your current MAIN-togs are set to\: \"$lice.get(main.set)\"}; ALIAS mbar {iecho Your current MSG-togs are set to\: \"$lice.get(main.mset)\"}; ALIAS dbar {iecho Your current DCC-togs are set to\: \"$lice.get(main.dset)\"}; ALIAS wbar {iecho Your current WIN-togs are set to\: \"$lice.get(main.wset)\"}; ALIAS hold SET HOLD_MODE TOGGLE; # ALIAS log SET LOG TOGGLE; ALIAS beep SET BEEP TOGGLE; ALIAS ansi SET DISPLAY_ANSI TOGGLE; ### END Small commands # TABREPLY - Fast message replier. ALIAS _proc.tab_add (serv,nick) { IF (serv < 0) {RETURN;}; @ :text = remw($nick $tabnick[$serv]); @ tabnick[$serv] = nick ## [ ] ## leftw(7 $text); }; # Assign purge (Orig. by Daemon) ALIAS purge { FOREACH $0 _purge {purge $0.$_purge}; ^ASSIGN -$0; }; # # STACK functions ALIAS queue.add { WHILE (numitems($0) >= [$1]) {@ delitem($0 0)}; @ FUNCTION_RETURN = setitem($0 $numitems($0) $2-); }; ALIAS queue.head { @ FUNCTION_RETURN = getitem($0 0); @ delitem($0 0); }; ALIAS queue.tail { @ :q_tail = numitems($0) - 1; @ FUNCTION_RETURN = getitem($0 $q_tail); @ delitem($0 $q_tail); }; # # TODO replace first two mask 1's with 11, when fixed by EPIC. tjh ALIAS makeban { SWITCH ($0) { (BN) (B) {@ :ban = mask(1 $1)}; (BA) {@ :ban = mask(1 $before(@ $1)\@$nametoip($after(@ $1)))}; (BC) {@ :ban = [*!*@*] ## rest($rindex(. $1) $1)}; (BF) {@ :ban = mask(10 $1)}; (BG) {@ :ban = mask(3 $1)}; (BH) {@ :ban = mask(2 $1)}; (BI) {@ :ban = mask(4 $nametoip($after(@ $1)))}; (BP) {@ :ban = mask(4 $1)}; (BS) {@ :ban = mask(4 $1)}; (BU) { @ :uhm = pass(! $1) ? word(1 $split(!@ $1)) ##[@*] : before(@ $1) ##[@*]; @ :ban = mask(1 $uhm); }; # TODO replace with mask 11 (*) {@ :ban = mask(1 $0)}; }; RETURN $ban; }; # # Whois/Whowas wrapper @ temp.whois_away = 0; ALIAS _proc.on_whois { @ temp.whois_away++; ECHO $fmt.whois_top($0-3); ECHO $fmt.whois_mid(Ircname $5-); IF (isdigit($right(1 $3))) { IF (isset(H)) {dns $3}; }{ IF (isset(T)) {whoiz $3;dom $3}; }; FE ($getarrays()) lista { IF (left(4 $lista) == [USER] || left(4 $lista) == [SHIT]) { @ :hand = (getrmatches($lista $1!$2@$3) >= 0 && isdigit($rest(4 $lista))) ? rest(4 $lista) : []; }; IF (strlen($hand)) { @ :ulista = left(4 $lista) == [USER] ? [Userlist] : [Shitlist]; #FOR (@:cnt=0, numitems($ulista) > cnt, @ :cnt++) { FE ($jot(0 ${numitems($ulista)-1})) cnt { @ :handle = getitem($ulista $cnt); IF (hash_32bit($handle) == hand) { @ :this #= [$handle ]; BREAK; }; }; }; }; IF (strlen($this)) {ECHO $fmt.whois_mid($ulista handle$plural($numwords($this)) \" $this\")}; }; # END Whois/Whowas wrapper ### format aliases ALIAS mecho { IF (winnum(MW) != -1) { XECHO -W MW $*; }{ XECHO $*; }; }; ALIAS dmecho { IF (winnum(CW) != -1) { XECHO -W CW $*; }{ XECHO $*; }; }; ALIAS uecho { ECHO $fmt.banner_usage() $*; }; ALIAS iecho { ECHO $fmt.banner_info() $*; }; ALIAS cecho { ECHO $fmt.banner_chan() $*; }; ALIAS echo.recursive { @ :_w = word(0 $geom()) - (ismset(T) ? strlen($lice.get(main.tsfmt)) + 3 : 0); @ :words_per_line = _w / 11; FE ($*) _x { @ :total++; @ :cnt++; IF (output) {@ :output #= [ $[10]_x]}{@ :output = [$[10]_x]}; IF (cnt == words_per_line || numwords($*) == total) { ECHO $output; @ :cnt = []; @ :output = []; }; }; }; ALIAS plural {@ FUNCTION_RETURN = ([$0] == 1) ? [] : [s]}; ALIAS ch {RETURN $left($CHANNEL_NAME_WIDTH $0)}; ALIAS uh {@ FUNCTION_RETURN = ismset(V) ? [$0!] ## userhost() : [$0]}; ALIAS ts {@ FUNCTION_RETURN = ismset(T) ? [\[] ## strftime($lice.get(main.tsfmt)) ## [\] ] : []}; ALIAS isset {@ FUNCTION_RETURN = !!pass($0 $lice.get(main.set))}; ALIAS iscset {@ FUNCTION_RETURN = !!pass($0 $lice.get(chan[$1][S]))}; ALIAS ismset {@ FUNCTION_RETURN = !!pass($0 $lice.get(main.mset))}; ALIAS iswset {@ FUNCTION_RETURN = !!pass($0 $lice.get(main.wset))}; ALIAS isdset {@ FUNCTION_RETURN = !!pass($0 $lice.get(main.dset))}; ALIAS isset.show {@ FUNCTION_RETURN = ([$0]) ? [On] : [Off]}; ### END format aliases ### Flood protection ON #^FLOOD -13 * { @ :serv = servernum(); @ :host = userhost(); IF (ischannel($2)) { @ :hash = hash_32bit($2); IF ((!iscset(C $hash) && !iscset(F $hash)) || (iscset(O $hash) && ischanop($0 $2)) || (iscset(V $hash) && ischanvoice($0 $2))) {RETURN}; @ :mode = get_cookie(User $2 $0 $hash); IF (mode & 2) {RETURN}; _proc.flood_chan $1 $0 $host $serv $2 $hash; }{ IF (isset(F) && strlen($host)) { _proc.flood_nick $1 $0 $host $serv; }; }; }; ### END Flood protection # cleans up expired lists ALIAS _proc.purge_lists (now) { FOR (@:x1=0, numitems(NSL) > x1, @:x1++) { @ :x2 = word(2 $getitem(NSL $x1)); IF ((now - x2) > (lice.get(main.nst) * 60)) {@ delitem(NSL $x1)}; }; FOR (@:x1=0, numitems(AUTOUNBAN) > x1, @:x1++) { @ :x2 = getitem(AUTOUNBAN $x1); IF (now > word(0 $x2)) { @ :serv = word(1 $x2); @ :chan = word(2 $x2); @ :hash = hash_32bit($chan); @ :patt = word(3 $x2); IF (ischanop($servernick($serv) $chan) && matchitem(B$serv\-$hash *$patt*) > -1) { XEVAL -S $serv { _proc.mode_add $serv $chan -b $patt; _proc.mode_flush $serv $chan; }; }; @ delitem(AUTOUNBAN $x1); }; }; FOREACH mass_lamer x1 { FOREACH mass_lamer.$x1 x2 { @ :x3 = word(0 $mass_lamer[$x1][$x2]); IF ((now - x3) > 60) {^ASSIGN -mass_lamer[$x1][$x2]}; }; }; FOREACH cycle_lamer x1 { FOREACH cycle_lamer.$x1 x2 { @ :x3 = cycle_lamer[$x1][$x2]; IF ((now - x3) > 30) {^ASSIGN -cycle_lamer[$x1][$x2]}; }; }; }; # # gets nicks matching a u@h pattern # $0=channel $1=pattern $2=list ALIAS get_user_match (chan,mask,list) { @ $list = []; FE ($chanusers($chan)) gm.1 { IF (pattern($mask $gm.1!$userhost($gm.1))) {PUSH $list $gm.1}; }; }; # gets user@host for nick ALIAS get_uh (nick) { WAIT FOR { USERHOST $nick -CMD { @ :uh = ([$3] == []) ? [] : [$3@$4]; BLESS; @FUNCTION_RETURN = uh; }; }; }; # ### Mode parsers. ON #-MODE_STRIPPED -13 * { UNLESS (ischannel($1)) {RETURN}; @ :m.serv = servernum(); @ :m.nick = servernick($m.serv); @ oper.test = ischanop($m.nick $1); @ self.test = ([$0] == m.nick); @ :m.x = hash_32bit($1); IF (strlen($3)) { @ :m.h = pass(. $0) ? [SERVER] : userhost($0); ^HOOK MODE$2 $0 $m.h $1 $m.serv $3 $m.x; }{ IF (!self.test && oper.test && iscset(L $m.x)) { @ :mode = get_cookie(User $1 $0 $m.x); UNLESS (mode & 4) { @ :m.m = right(1 $2); IF (left(1 $2) == [+]) { UNLESS (pass($m.m $lice.get(chan[$m.x][L]))) {_proc.mode_add $m.serv $1 -$m.m}; }{ IF (pass($m.m $lice.get(chan[$m.x][L]))) {_proc.mode_add $m.serv $1 +$m.m}; }; }; }; }; _proc.mode_flush $m.serv $1; }; ON #^HOOK -13 "MODE-e *" {@ delitem(E$4\-$6 $finditem(E$4\-$6 $5))}; ON #^HOOK -13 "MODE-I *" {@ delitem(I$4\-$6 $finditem(I$4\-$6 $5))}; ON #^HOOK -13 "MODE-b *" { @ delitem(B$4\-$6 $matchitem(B$4\-$6 *$5*)); IF (!oper.test || self.test || !iscset(B $6)) {RETURN}; @ :mode = find_in_chan(Shit $3 $6 $5); IF (mode & 2) { @ :mode = get_cookie(User $3 $1 $6); UNLESS (mode & 2) { _proc.mode_add $4 $3 +b $5; IF (!isset(Q) && [$2]!=[SERVER]) { _proc.quote_add $4 NOTICE $1 :Sorry [$5] is in my permanent banlist. $randread($main.reason_error); }; }; }; }; ON #^HOOK -13 "MODE+e *" {@ setitem(E$4\-$6 $numitems(E$4\-$6) $5)}; ON #^HOOK -13 "MODE+I *" {@ setitem(I$4\-$6 $numitems(I$4\-$6) $5)}; ON #^HOOK -13 "MODE+b *" { @ setitem(B$4\-$6 $numitems(B$4\-$6) $5); #${ismset(V)?[$1!$2]:[$1]}; IF (!oper.test || self.test || [$2]==[SERVER]) {RETURN}; @ :m.nick = servernick($4); IF (match($5 $m.nick!$X $m.nick!%@$temp.my_ip_address)) { _proc.mode_add $4 $3 -ob $1 $5; _proc.quote_add $4 KICK $3 $1 :Hey DONT ban $5 asshole! That's *ME*!; XECHO -W $chanwin($3) $fmt.banner_alert() $1 banned you on $ch($3) with \"$5\"; IF (ismset(U)) {_proc.away_save LiCe licelogd [$3] $1 banned you using hostmask $5}; }{ @ :ban.test = 0; IF (iscset(P $6)) { @ :mode = get_cookie(User $3 $1 $6); UNLESS (mode & 4) { @ :mode = find_in_chan(User $3 $6 $5); IF (mode & 320) { @ :ban.test = 1; _proc.mode_add $4 $3 -b $5; }; IF (mode & 128) { @ :ban.test = 1; IF (ischanop($1 $3)) {_proc.mode_add $4 $3 -o $1}; _proc.mode_add $4 $3 +b $mask(11 $2); UNLESS (isset(Q)) { _proc.quote_add $4 NOTICE $1 :Ban $5: $randread($main.reason_revenge); }; }; }; }; IF (!ban.test && iscset(D $6)) { get_user_match $3 $5 mk_list; IF (strlen($mk_list)) { @ mk_reason = [[Banned] $5]; _proc.loop_kick $4 $3 mk_list mk_reason; }; }; get_user_match $3 $5 ec_list; IF (#ec_list > 1) { XECHO -W $chanwin($3) $fmt.banner_alert() Alert: $5 banned $#ec_list${ismset(V) ? [\: $ec_list] : []}; }; }; }; ON #^HOOK -13 "MODE-v *" { IF (!oper.test || self.test || [$2]==[SERVER]) {RETURN}; #flood_check DEOP $2 $1 $3 $m.serv; IF ([$1]!=[$5] && iscset(P $6)) { @ :mode = get_cookie(User $3 $1 $6); UNLESS (mode & 4) { @ :mode = get_cookie(User $3 $5 $6); IF ((mode & 544) == 544) {_proc.mode_add $4 $3 +v $5}; IF (mode & 128) { _proc.mode_add $4 $3 -o $1; UNLESS (isset(Q)) { _proc.quote_add $4 NOTICE $1 :QUIET $5: $randread($main.reason_revenge); }; }; }; }; }; ON #^HOOK -13 "MODE-o *" { IF (!oper.test || self.test || [$2]==[SERVER] || [$1]==[$5]) {RETURN}; @ :mode = get_cookie(User $3 $1 $6); @ :test = _proc.mass_check($2 $6); IF (test && !(mode & 2) && (iscset(C $6) || iscset(F $6))) {_proc.flood_chan DEOP $1 $2 $4 $3 $6}; IF (iscset(P $6) && !(mode & 4)) { @ :mode = get_cookie(User $3 $5 $6); IF ((mode & 128) && !test) { _proc.mode_add $4 $3 -o $1; UNLESS (isset(Q)) { _proc.quote_add $4 NOTICE $1 :DEOP $5: $randread($main.reason_revenge); }; }; IF ((mode & 96) == 96) {_proc.mode_add $4 $3 +o $5}; }; IF (servernick($4) == [$5] && ismset(U)) { _proc.away_save LiCe licelogd [$3] $1 \($userhost()\) dared to DEOP you!; }; }; ON #^HOOK -13 "MODE+o *" { IF (!oper.test || self.test) {RETURN}; @ :deop.test = 0; IF ([$2]==[SERVER]) { @ :split = iscset(N $6) ? matchitem(NSL % $3 *@$5*) : 1; IF (split < 0) { @ :mode = get_cookie(User $3 $5 $6); UNLESS ((mode & 32) || iscset(P $6)) { @ :deop_test = 1; _proc.mode_add $4 $3 -o $5; }; }; }{ IF (!self.test && iscset(G $6)) { @ :mode = get_cookie(User $3 $1 $6); UNLESS (mode & 4) { @ :mode = get_cookie(User $3 $5 $6); UNLESS (mode & 32) { @ :deop.test = 1; _proc.mode_add $4 $3 -o $5; }; }; }; }; IF (!self.test && !deop.test && iscset(B $6)) { @ :mode = get_cookie(Shit $3 $5 $6); IF (mode & 8) {_proc.mode_add $4 $3 -o $5}; }; }; ON #^HOOK -13 "MODE+k *" { IF (!oper.test || self.test || !iscset(K $6)) {RETURN}; UNLESS ([$2]==[SERVER]) { IF (iscset(M $6) && stripcrap(ALL $5) != [$5]) { _proc.quote_add $4 KICK $3 $1 :Bogus key detected!; _proc.mode_add $4 $3 -k $5; }; }{ IF (iscset(N $6)) {_proc.mode_add $4 $3 -k $5}; }; }; # check lamers that cycle. ALIAS _proc.cyc_check (host,hash) { @ :indx = hash_32bit($host); @ :test = cycle_lamer[$hash][$indx]; IF (strlen($test)) { @ :diff = (time() - when) % 60; IF (diff < 4) { ^ASSIGN -cycle_lamer[$hash][$indx]; RETURN 1; }{ @ cycle_lamer[$hash][$indx] = time(); RETURN 0; } }{ @ cycle_lamer[$hash][$indx] = time(); RETURN 0; }; }; # check lamers that are mass-deopping/kick. ALIAS _proc.mass_check (uh,hash) { @ :indx = hash_32bit($uh); @ :test = mass_lamer[$hash][$indx]; IF (strlen($test)) { @ :when = word(0 $test); @ :many = word(1 $test) + 1; @ :diff = (time() - when) % 60; #@ :diff = time() - when; IF (diff < 60 && many >= FLOOD_AFTER) {RETURN 1}; }{ @ :when = time(); @ :many = 1; }; @ mass_lamer[$hash][$indx] = when ## [ ] ## many; RETURN 0; }; # # $0=server $1=channel $2=mode $3=modearg ALIAS _proc.mode_add (serv,chan,mode,rest) { @ :hash = hash_32bit($chan); IF (strlen($chan_mode[$serv$hash]) >= (lice.get(main.mnm) * 2)) { _proc.quote_add $serv MODE $chan $chan_mode[$serv$hash] $chan_rest[$serv$hash]; ^ASSIGN -chan_mode[$serv$hash]; ^ASSIGN -chan_rest[$serv$hash]; }; @ chan_mode[$serv$hash] #= mode; PUSH chan_rest[$serv$hash] $rest; }; # $0=server $1=channel ALIAS _proc.mode_flush (serv,chan) { @ :hash = hash_32bit($chan); IF (strlen($chan_mode[$serv$hash])) { _proc.quote_add $serv MODE $chan $chan_mode[$serv$hash] $chan_rest[$serv$hash]; ^ASSIGN -chan_mode[$serv$hash]; ^ASSIGN -chan_rest[$serv$hash]; ^ASSIGN -delayed_modes[$serv][$hash]; }; _proc.quote_flush $serv; }; # $0=server $1=message ALIAS _proc.quote_add (serv,text) { @ :len = strlen($text); IF ((strlen($quote[$serv]) + len) >= $lice.get(main.qbuff)) {_proc.quote_flush $serv}; @ quote[$serv] #= text ## chr(13); }; # $0=server ALIAS _proc.quote_flush (serv) { XQUOTE -S $serv $quote[$serv]; ^ASSIGN -quote.$serv; }; ### END Modes parser. ### KICK parser. ON #-KICK -13 * { @ :serv = servernum(); @ :nick = servernick($serv); IF ([$0] == nick) { _proc.channel_remove $serv $2; IF (ismset(U)) {_proc.away_save LiCe licelogd [$2] $1 \($userhost()\) kicked you [$3-]}; RETURN; }; IF (nick != [$1] && [$0]!=[$1] && ischanop($nick $2)) { @ :hash = hash_32bit($2); @ :mode = get_cookie(User $2 $1 $hash); # XXX - Should we always kick for KICK floods? # @ :test = _proc.mass_check($userhost($1) $hash); # IF (test && !(mode & 2) && (iscset(C $hash) || iscset(F $hash))) { # _proc.flood_chan KICK $1 $userhost($1) $serv $2 $hash; # }; IF (iscset(P $hash) && !(mode & 4)) { @ :mode = get_cookie(User $2 $0 $hash); IF (mode & 64) {_proc.quote_add $serv INVITE $0 $2}; IF (mode & 128) {_proc.quote_add $serv KICK $2 $1 :$0: $randread($main.reason_revenge)}; _proc.quote_flush $serv; }; }; _proc.cookies_remove $2 $0; }; ### END KICK parser. ### JOIN/PART PARSING ROUTINES ON #-CHANNEL_SYNC -13 * { _proc.channel_remove $2 $0; _proc.channel_create $2 $hash_32bit($0) $0; XECHO -W $chanwin($0) $fmt.banner_chan() Channel $0 has synched in $1s \(Sets\: \+$lice.get(chan[$hash_32bit($0)][S])\); }; ON #-JOIN -13 * { UNLESS ([$0] == servernick()) { ^ASSIGN join.test 0; @ :serv = servernum(); @ :hash = hash_32bit($1); IF (ischanop($servernick() $1)) { IF (iscset(B $hash)) {_proc.join_shit $0 $2 $1 $hash $serv}; IF (iscset(D $hash) && !join.test) {_proc.join_bans $0 $2 $1 $hash $serv}; IF (iscset(P $hash) && !join.test) {_proc.join_usr1 $0 $2 $1 $hash $serv}; }{ IF (iscset(P $hash)) {_proc.join_usr2 $0 $2 $1 $hash $serv}; }; IF (iscset(H $hash) && !join.test) {_proc.join_ip $0 $2 $1}; IF (iscset(J $hash) && !join.test) { IF (iscset(2 $hash)) {_proc.join_socks $0 $2 $1 $hash $serv}; _proc.join_clones $0 $2 $1 $hash $serv; }; IF (iscset(E $hash)) {_proc.note_get $0}; }{ UNLESS (strlen($temp.my_ip_address)) {@ temp.my_ip_address = nametoip($after(@ $2))}; UNLESS (lice.get(main.cch) == 0) { ^TIMER -REF SYNC[$hash] $lice.get(main.cch) { UNLESS (strlen($lice.get(chan[$hash_32bit($1)][S])) || !onchannel($servernick() $1)) { leave $1; WAIT -CMD WINDOW $winchan($1) CHANNEL "$1 $key($1)"; }; }; }; }; }; ON #-PART -13 * { @ :serv = servernum(); UNLESS ([$0] == servernick($serv)) {_proc.cookies_remove $1 $0}; }; ALIAS _proc.cookies_remove (chan,nick) { @ :h_chan = hash_32bit($chan); @ :h_nick = hash_32bit($nick); ^ASSIGN -Cookie[Shit][$h_chan][$h_nick]; ^ASSIGN -Cookie[User][$h_chan][$h_nick]; }; ALIAS _proc.channel_remove (serv,chan) { @ :hash = hash_32bit($chan); @ delarray(B$serv\-$hash); @ delarray(E$serv\-$hash); @ delarray(I$serv\-$hash); ^ASSIGN -chan_mode[$serv$hash]; ^ASSIGN -chan_rest[$serv$hash]; fmt.titlebar $chan_topic[$winnum()$hash_32bit($chanwin())]; IF (numwords($myservers()) > 1) { FE ($remw($servername($serv) $myservers())) server { @ :srv = servernum($server); @ :chn = mychannels($srv); IF (rmatch($chan $chn)) {RETURN}; }; }; UNLESS (iscset(A $hash)) { IF (strlen($bw[$hash])) { ^ON #-raw_irc 26 -"% PRIVMSG $chan :*\\[$bw[$hash]\\]*"; ^ASSIGN -bw[$hash]; }; IF (strlen($bs[$hash])) { ^ON #-raw_irc 30 -"% PRIVMSG $chan :* $bs[$hash] *"; ^ASSIGN -bs[$hash]; }; purge chan.$hash; //^IGNORE $chan NONE; @lice.del(|$hash_32bit($chan)); @lice.del(chan[$hash][S]); }; }; ALIAS _proc.channel_create (serv,hash,chan) { XEVAL -S $serv { UNLESS (onchannel($servernick() $chan)) {RETURN}; @lice.set(chan[$hash][S] ${strlen($lice.get(chan[$hash][S])) ? lice.get(chan[$hash][S]) : lice.get(main.cset)}); IF (iscset(Q $hash)) {//^IGNORE $chan CTCPS TOPICS NOTICES JOINS NICKS PARTS}; IF (iscset(E $hash)) {_proc.note_get $chan}; IF (ischanop($servernick($serv) $chan)) { IF (iscset(L $hash) && strlen($lice.get(chan[$hash][L]))) {QUOTE MODE $chan $lice.get(chan[$hash][L])}; IF (iscset(T $hash) && strlen($lice.get(chan[$hash][T]))) {QUOTE TOPIC $chan :$lice.get(chan[$hash][T])}; }; @ list_mutex[B$serv$hash] = 1; QUOTE MODE $chan +b; # IrcNet +e/+I support IF (left(4 $R) == [2.10]) { @ list_mutex[E$serv$hash] = 1; @ list_mutex[I$serv$hash] = 1; QUOTE MODE $chan +e; QUOTE MODE $chan +I; }; }; }; ### END OF JOIN/PART PARSING ROUTINES ### Netsplit detection routines. ^ASSIGN temp.domains ?? com edu net org gov; ON ^CHANNEL_SIGNOFF '% % %.\\\\[\$temp.domains\\\\] %.\\\\[\$temp.domains\\\\]' { _proc.cookies_remove $0 $1; _proc.split_save $2 $3 $0 ${ischanop($1 $0)?[@]:[]}$1; }; ### END Netsplit detection routines. ### DCC REQUEST PARSING ALIAS _proc.dcc_update_queue { IF (temp.dcc_active > 0) {@ temp.dcc_active--}; }; ON #-DCC_LOST -13 "% GET *" {_proc.dcc_update_queue}; ON #-DCC_LOST -13 "% SEND *" {_proc.dcc_update_queue}; ON #-DCC_LOST -13 "% CHAT % *" { @ :id = finditem(DQCHAT $0); UNLESS (id == -1) {@ delitem(DQCHAT $id)}; }; ON ^DCC_LOST "% % % IDLE TIME EXCEEDED" { XECHO -C $fmt.banner_dcc() Auto: Closing DCC $1 to $0 after $tdiff($DCC_TIMEOUT) of wait.; }; ON #-DCC_REQUEST 13 "% CHAT *" { IF (finditem(DQCHAT $0) < 0) {queue.add DQCHAT 10 $0}; IF (L || A || chat.test) { XECHO -C $fmt.banner_dcc() DCC CHAT request from $0 ${servername($winserv()) != S ? [\($servername($servernum())\)] : []}; ECHO $fmt.banner_dcc() Type "/CHAT" to connect to $0.; }{ @ chat.test = 1; INPUT_CHAR "Connect DCC CHAT from $0 ? " { IF ([$0]==[Y]) {CHAT}{^DCC CLOSE CHAT $queue.tail(DQCHAT)}; ^ASSIGN -chat.test; }; }; }; ON #-DCC_REQUEST -13 "% SEND % % % % %" { @ :file = (left(1 $5) == [.]) ? [_] ## rest(1 $5) : [$5]; IF (isdset(C)) { WAIT -CMD //^DCC CLOSE GET $0 $file; RETURN; }; @ :nfile = ismset(V) ? toupper($0) ## [\-] ## file : file; //^DCC RENAME $0 $file $nfile; IF (isdset(R)) { @ :size = fsize($DCC_STORE_PATH/$nfile); IF (size != -1 && size < [$6]) { ##//^DCC RENAME $0 $nfile $DCC_STORE_PATH/$nfile; ##WAIT -CMD //^DCC RESUME $0 $DCC_STORE_PATH/$nfile; WAIT -CMD //^DCC RESUME $0 $nfile; IF (ismset(U)) {_proc.away_save LiCe licelogd [DCC] RESUMED $file from $0 \($userhost()\)}; RETURN; }; IF (size != -1 && size == [$6]) { @ :serv = servernum(); WAIT -CMD //^DCC CLOSE GET $0 $nfile; UNLESS (isdset(Q)) {_proc.quote_add $serv NOTICE $0 :Sorry, $file already exists.}; RETURN; }; }; @ :new_file = nfile; UNLESS (isdset(O)) { WHILE (fexist($DCC_STORE_PATH/$new_file) == 1) {@ :new_file #= [_]}; IF (finditem(DQGET $0 $new_file) < 0) {//^DCC RENAME $0 $nfile $new_file}; }; IF (isdset(G)) { queue.add DQGET $lice.get(main.dcc_get_queue) $0 $new_file; ^TIMER -REF DQLOAD 7 _proc.dcc_queue_load GET; }{ XECHO -C $fmt.banner_dcc() Incoming file from $0, type: "/DCC GET $0 \($new_file\)" to download.; IF (ismset(U)) {_proc.away_save LiCe licelogd [DCC] Pending DCC GET $new_file from $0 \($userhost()\)}; }; }; ON ^DCC_CHAT "% REDIRECT *!*@* *" { XECHO -C $fmt.banner_dcc() DCC REDIRECT GET [$5 $rightw(1 $3-)] from $before(! $2) \($after(! $2)\) via $0\...; XEVAL -S $servernum($S) PRETEND :$2 PRIVMSG $N :$chr(1)$3-$chr(1); ### XXX - not always accurate! }; ON #-DCC_REQUEST -9 "% SEND % % % % %" { @ dd.nick = [$0]; @ dd.host = [$3]; @ dd.rhost = nametoip($after(@ $get_uh($ddnick))); @ dd.port = [$4]; @ dd.file = [$5]; @ dd.size = [$6]; IF (strlen($dd.rhost) && dd.host != dd.rhost) { XECHO -C $fmt.banner_dcc() WARNING: Fake dcc handshake detected! [$dd.rhost appears to be $dd.host]; INPUT "[?] Proceed assuming $dd.nick has a misconfigured mIRC client? (y/n):" { IF (left(1 $0) == [y] || left(1 $0) == [Y]) { XEVAL -S $servernum($S) PRETEND :$dd.nick PRIVMSG $N :$chr(1)DCC SEND $dd.file $dd.rhost $dd.port $dd.file $dd.size$chr(1); }{WAIT -CMD //^DCC CLOSE GET $dd.nick}; }purge dd}; }; ### END DCC REQUEST PARSING ### MSG/NOTICE/PUBLIC PARSING - THIS WAS A PAIN!!!!! -HS # Tell me about it! Thanks fudd for helping. tjh ^ON ^PUBLIC '% % *\\\\[\$lice.get(main.buf)\\\\]*' {_proc.reply_action $userhost() $*}; ^ON ^PUBLIC_MSG '% % *\\\\[\$lice.get(main.buf)\\\\]*' {_proc.reply_action $userhost() $*}; ^ON ^PUBLIC_OTHER '% % *\\\\[\$lice.get(main.buf)\\\\]*' {_proc.reply_action $userhost() $*}; ALIAS _proc.reply_action (uh,nick,chan,text) { IF (ismset(H)) { FE ($lice.get(main.buf)) arw {@ :text = sar(gi/$arw/${arw}/$text)}; }; @ :cwin = winchan($chan); IF (cwin == -1) { XECHO -W $chan $fmt.auto_reply_other($nick $chan $text); }{ @ :lame = iscurchan($chan) ? fmt.auto_reply($nick $chan $text) : fmt.auto_reply_other($nick $chan $text); XECHO -W $chan $lame; IF (winnum() != cwin && ismset(1)) { XECHO -C $fmt.banner_info() Auto-reply in window #$cwin ${servername($winserv()) != S ? [\($chan@$servername($servernum())\)] : [\($chan\)]}; }; }; IF (ismset(P)) {_proc.away_save $nick $uh [$chan] $text}; IF (ismset(2)) {_proc.tab_add $servernum() $nick}; }; ON #-MSG 13 * { @ :serv = servernum(); IF (ismset(M)) {_proc.away_save $0 $userhost() $1-}; IF (ismset(R) && A && gone_away[$serv] && (findw($0 $tabnick[$serv]) == -1)) {QUOTE NOTICE $0 :Gone for $tdiff(${time() - gone_away[$serv]}) ${ismset(M) ? [please leave me a message.] : []}}; _proc.tab_add $serv $0; queue.add ML 7 $fmt.msg($*); }; ON #-MSG_GROUP 13 * { IF (ismset(N)) {_proc.away_save $0 $userhost() [$1] $2-}; queue.add ML 7 $fmt.msg_group($*); }; ON #-NOTICE 13 * { IF (ismset(N)) {_proc.away_save $0 $userhost() $1-}; @ :nt = match(*Wall* $1) ? [WL] : [NL]; queue.add $nt 7 $fmt.notice($*); _proc.tab_add $servernum() $0; }; ON #-ACTION 13 '% % *\\\\[\$lice.get(main.mbuf)\\\\]*' { IF (ismset(A)) {_proc.away_save $0 $userhost() [action:$1] * $0 $2-}; }; ON #-PUBLIC 13 * { IF (ismset(P) && match(** $igtype($rigmask($0!$userhost($0))))) { ^ASSIGN logd 1; _proc.away_save $0 $userhost($0) [$1] $2-; }; }; ON #-PUBLIC_NOTICE 13 * { queue.add NL 7 $fmt.public_notice($*); }; ### END MSG/NOTICE PARSING # saves msg's when away. ALIAS _proc.away_save { UNLESS (A || logd) {RETURN}; IF (temp.nrm == lice.get(main.mrm) && !delitem(AM 0)) {@ temp.nrm--}; IF (setitem(AM $temp.nrm $time() $0 $1 $2-) >= 0) {@ temp.nrm++}; IF (ismset(E)) {@ write($awayfd + $encode($getitem(AM ${temp.nrm - 1})))}; ^SET STATUS_USER1 $temp.nrm; ^ASSIGN -logd; }; ### Userlist manipulation functions # finds a host match for user, # returns the handle's hash index - 0 on failure # $0=list $1=n!u@h ALIAS find_in_list (indx,nuh) { @ :list = indx ## [list]; FOR (@ :cnt=0, numitems($list) > cnt, @ :cnt++) { @ :hand = getitem($list $cnt); @ :hash = hash_32bit($hand); @ :test = finditem($indx$hash $nuh); @ :test = (test < 0) ? rmatchitem($indx$hash $nuh) : test; ###@ :test = getrmatches($indx$hash $nuh) #IF (test >= 0) {RETURN $hash} IF (test >= 0) {PUSH FUNCTION_RETURN $hash}; }; IF (!FUNCTION_RETURN) {@ FUNCTION_RETURN = 0}; }; ## finds a channel match for user, ## returns the modes for the channel - 0 on failure ## $0=list $1=channel $2=n!u@h ALIAS find_in_chan (list,chan,hash,nuh) { @ :hand = find_in_list($list $nuh); UNLESS (hand) {RETURN 0}; @ :test = (word(0 $getitem(Chan$list$hand 0)) == [#*]) ? 0 : matchitem(Chan$list$hand $chan *); IF (test < 0) {RETURN 0}; @ :mode = word(1 $getitem(Chan$list$hand $test)); @ :nick = hash_32bit($before(! $nuh)); ^ASSIGN Cookie.User[$hash][$nick] $hand $mode; @ FUNCTION_RETURN = mode; }; ALIAS find_in_a_chan (list,chan,hash,nuh) { @ :myhand = find_in_list($list $nuh); UNLESS (myhand) {RETURN 0}; FE ($myhand) hand { @ :test = (word(0 $getitem(Chan$list$hand 0)) == [#*]) ? 0 : matchitem(Chan$list$hand $chan *); IF (test < 0) {CONTINUE}; @ :mode = word(1 $getitem(Chan$list$hand $test)); @ :nick = hash_32bit($before(! $nuh)); ^ASSIGN Cookie.User[$hash][$nick] $hand $mode; @ FUNCTION_RETURN = mode; }; }; ## retrives a previously saved userlist cookie. ## returns the modes for the channel - 0 on failure ## $0=list $1=channel $2=nick $3=hash ALIAS get_cookie (list,chan,nick,hash) { @ :h_nick = hash_32bit($nick); @ :mode = word(1 $Cookie[$list][$hash][$h_nick]); @ FUNCTION_RETURN = mode ? mode : find_in_a_chan($list $chan $hash $nick!$userhost($nick)); }; # ### Initialize ... #int main (int argc, char **argv, char **env) { ALIAS main_init { ^LOCAL load_list; ^WINDOW KILL_OTHERS; ^SET DISPLAY ON; @ srand(${time() + pid()}); PUSH load_list $LiCePath/lice/lice.binds $LiCePath/lice/lice.fkeys $LiCePath/lice/lice.stubs; PUSH load_list $which($lice.save_path/lice.address) $which($lice.save_path/lice.users); LOAD $load_list; IF (lice.get(main.theme) != [default]) {LOAD $which($LiCePath/themes/$lice.get(main.theme))}; # Read all settings from the database lice.readdb; # load notify list from db //^NOTIFY $lice.get(lice.notify); # start logging channels FOREACH chanlog hash { @ :chan = chanlog[$hash][C]; _proc.open_log $chan; _proc.log_p $chan; _proc.log_k $chan; _proc.log_j $chan; }; # MSG/DCC/TOPIC window IF (iswset(W)) {^WINDOW NEW NAME MW LEVEL NONE DOUBLE OFF NOSERV STATUS_FORMAT " Message Window %>-- Type /WTOG W to finish -- " LAST}; IF (iswset(C)) {^WINDOW NEW NAME CW LEVEL NONE DOUBLE OFF NOSERV STATUS_FORMAT " Chatting Window %>-- Type /WTOG C to finish -- " LAST}; IF (iswset(T)) { ^WINDOW TOPLINE 1 " -- LiCe Titlebar [tm] --"; ^WINDOW TOPLINES 1; }; # Check for updates on startup, if enabled! UNLESS (dlu == 1) { IF (isset(U)) {^TIMER -REF UPDATE 60 UPDATE}; }; # misc /set's IF (isset(Q)) { ^STACK POP SET CLIENT_INFORMATION; }{ ^STACK PUSH SET CLIENT_INFORMATION; ^SET CLIENT_INFORMATION $lice(); }; IF (isdset(R)) {^SET MIRC_BROKEN_DCC_RESUME ON}; IF (ismset(B)) {^ON #-MSG 617 * {IF (A) {BEEP}}}; # If we have saved messages, put them back into the save buffer IF (ismset(E)) { IF ((numitems(AM) == 0) && (fexist($lice.save_path/lice.awaylog) == 1)) { @ awayfd = open($lice.save_path/lice.awaylog R); @ :mcount = 0; WHILE (!eof($awayfd)) { ^ASSIGN message $read($awayfd); IF (!eof($awayfd) && leftw(1 $message) == [+]) { @ setitem(AM $mcount $decode($rightw(1 $message))); @ mcount++; CONTINUE; }; IF (!eof($awayfd) && leftw(1 $message) == [-]) { @ delitem(AM $finditem(AM $decode($rightw(1 $message)))); @ mcount--; }; }; @ temp.nrm = numitems(AM); IF (temp.nrm != 0) {ECHO $fmt.banner_alert() Loaded $temp.nrm saved message$plural($temp.nrm)}; @ close($awayfd); }; @ awayfd = open($lice.save_path/lice.awaylog W); }; ^SET STATUS_USER $lice.get(main.set); ^SET STATUS_USER1 $temp.nrm; ^SET STATUS_USER2 ??; ^SET STATUS_USER3 Idle: ?; # hack to fix the realname annoyance. @ :test = getenv(IRCNAME); IF (strlen($test) && test != REALNAME) {^SET DEFAULT_REALNAME $test}; # auto-nick setup ^ON #^NOTIFY_SIGNOFF 13 '$lice.get(main.auto_nick)' { ECHO $fmt.banner_alert() Nick $lice.get(main.auto_nick) is now available (AutoNick); IF (isset(A)) {^TIMER 5 NICK $lice.get(main.auto_nick)}; }; IF (lice.get(main.auto_nick)) {^NOTIFY $lice.get(main.auto_nick)}; # Let the user know what their autoreply buffer is set to ar; ^WINDOW NAME 1 DOUBLE ${iswset(D)?[ON]:[OFF]} BEEP_ALWAYS ${iswset(B)?[ON]:[OFF]} LEVEL ALL; IF (strlen($lice.get(main.umode))) {^TIMER -REF UMODE 7 {MODE $servernick() $lice.get(main.umode)}}; # hook to catch /SETs and write them to the db ^ON #-SET 13 * (set,data) { IF (getsets($set) && (@data)) { @lice.set(*$set $data); }; }; ^ASSIGN bench.ftime $utime(); XECHO -w 0 -v -B You got infested with LiCe $id.v in ${word(0 $bench.ftime) - word(0 $bench.stime)}.${word(1 $bench.ftime) - word(1 $bench.stime) < 0 ? [${1000000 + word(1 $bench.ftime) - word(1 $bench.stime)}] : [${word(1 $bench.ftime) - word(1 $bench.stime)}]} secs.; # clean up purge bench; ^ALIAS -main_init; }; main_init; # cag/00 # HS/04-04 # tjh/13 # tjbh/13 lice5/userhelp/0000755000175000017500000000000012126724361012056 5ustar timtimlice5/userhelp/INVITE0000644000175000017500000000031311542462257013000 0ustar timtim!INVITE  This will make me invite you to a channel (if I'm on that channel and it's possible for me to invite you). You must have INVITE access to this channel, of course. lice5/userhelp/CHAT0000644000175000017500000000020111542462257012515 0ustar timtim!CHAT  This makes me DCC CHAT you. That way you can access the partyline or fileserver if they are available. lice5/userhelp/WHOAMI0000644000175000017500000000024611542462257012773 0ustar timtim!WHOAMI  This will give you information about your registered hostnames and channels. Also, will display your access and info for each channel. lice5/userhelp/UNBAN0000644000175000017500000000026011542462257012646 0ustar timtim!UNBAN  This will make me unban you from a channel (if I'm on that channel and have ops). You must have UNBAN access to this channel, of course. lice5/userhelp/OP0000644000175000017500000000034711542462257012327 0ustar timtim!OP [channel] This will tell me to op you on any channel where I have ops and you don't. If you give a channel name, I'll just op you on that channel. You must have OP access on these channels, of course. lice5/userhelp/VOICE0000644000175000017500000000033411542462257012652 0ustar timtim!VOICE [channel] This will tell me to voice you on any channel where I can. If you give a channel name, I'll just voice you on that channel. You must have VOICE access on these channels, of course. lice5/userhelp/PASS0000644000175000017500000000024311542462257012552 0ustar timtim!PASS  This sets a password, which lets you use other commands, like IDENT. !PASS  This is how you change your password. lice5/userhelp/IDENT0000644000175000017500000000041511542462257012650 0ustar timtim!IDENT [handle] This lets me recognize you from a new address. You must use your password (the one you set with PASS) so I know it's really you. If you're using a different nickname than your original handle, you must provide the handle too. lice5/kick.reasons0000644000175000017500000004564411542462257012565 0ustar timtim"Captain, why not just give the Borg Windows 98?" - Worf "Prepare to destroy the Borg! Ensign, upload Windows!" "Windows NT Performance", on the next "In Search Of" -THE- 4.77MHz 8088 simulator: Microsoft Windows. ... 2.0 VirusScan. Windows 98 found: Remove it? (Y/n). ... Windows 2080. Finally, they got it right! 300 bps - faster than a speeding Windows! A NEW weapon against The Borg...Make them D/L Windows! Accelerate Windows, to escape velocity. Air-conditioned environment: Please do not open Windows! And all the Borg left was this copy of Windows. Any smart houseworker knows -- "Don't do Windows" Anyone that willingly runs Windows DESERVES what they get Are you using Windows, or is that just an XT? As to Windows taglines, you pick out the ones *you* think are GOOD! Bang on the LEFT side of your computer to restart Windows. Beat me! Whip me! Make me use Windows! Best way to dispose of the Borg: Give them Windows 98 Bill Gates just got divorced, His wife didn't do Windows. Boost system speed by 200% - DEL C:\WINDOWS\*.* Breaking Windows isn't just for kids anymore. Bugs come in through open Windows. Build a better Windows, and kids will still throw rocks. Can't use Windows. I have a singletasking brain and fingers. Cats crawl under gates, software under Windows. Cats like Windows, it seems to attract Mice... Coming soon from Micro$oft -- Edlin for Windows. Coming soon: Windows for Nintendo We Are LiCe. You Will Be Assimilated. Convert your 386 or 486 into a Game Boy, run Windows 98! Convert your Pentium into a Game Boy, run Windows NT! D:\PROGRAMS\FAULTY\TRASH\SICKJOKE\WINDOWS> "Damn the Prime Directive, give the Borgs Windows 98!" - Capt. Piccard Dan Quayle: a PROUD user of MicroSofte Windowse !!! Data to Picard: "No, Captain, I do NOT run Windows." Destroy the Borg? Let's give them Windows. Difference between a virus & Windows? Viruses never fail. Difference between Windows & a virus? Virus is free Difference between Windows and a Virus? A Virus works. DOS is your PC. Windows is your PC on drugs. Questions? Double your drive space! Delete Windows! Error 005: Windows 98 loading.... come back tomorrow... ERROR 167: Windows 98 loaded..... system in danger Error 132: Windows 98 not found: (C)heer (P)arty (D)ance Ever notice how fast Windows 98 runs? Neither did I ... Fer sail cheep, Windows 98 spel chekker, wurks grate. Friends don't let friends use Windows 98! Hal 9000: "Dave, put those Windows 98 disks down....Dave...DAVE!" Hal 9000: "Help me Dave, I can't run under Windows 98!" HAPPINESS (n): a computer without Windows 98 "Hard drive makers LOVE Windows 98!" "Have time to waste? Get Windows 98!" "Have you crashed your Windows 98 today?" "If speed scares you, use Windows 98." If(Windows=3DYou) then let length(YourWalk) > length(pier) "Like Windows, my brain locks up." Linux: Opens up Windows, shuts up Gates. MASOCHIST /mas-oh-kist/ (n): Windows 98 user. "Microsoft gives you Windows 98... Linux gives you the whole house." "Windows 98...from the people that brought you Edlin" "Windows 98: A torture device not yet banned by Geneva Convention." "No Bill, it's not an XT. We're just testing Windows NT" "Nothing beats Windows, it keeps loading & loading & loading..." Linux VirusScan - "Windows 98 found: Remove it? (Y/y)" Oxymoron: fast Windows 98 Oxymoron: Windows 98 accelerator Oxymoron: Microsoft Works Pick two: 1)Fast 2)Right 3)Cheap 4)Windows98 (counts as 2) "Run Windows 98? I'd rather pee on an Electric Fence" Satan: "Welcome to hell - Here's your DoubleSpaced 386SX and Windows 98" "Screw the prime directive...give the Borg a copy of Windows 98!" "Sorry! This virus requires Windows 98!" "The few, the proud, the Windows 98 & SX owners." "The Magic of Windows 98: Turns a 486 into a XT." The Windows 98 Energizer Bunny: It's STILL loading! And loading... "Windows 98 - The best $89 solitaire game you can buy." Windows NT found - (B)oot, (D)elete, (E)ject? Windows NT. One gig of RAM, one terabyte HD. Oughta' do it. Windows NT: Needs Terabytes Windows NT: Nice Try! Windows NT: No Thanks. Not Trusted, Not Today, Not Tomorrow. Windows NT: The world's only 80 meg Solitaire game! Windows 98 to CPU: "Don't rush me, don't rush me ..." Windows UPB: Unrecoverable Pain in the Butt "Windows 98, coded entirely by blondes." "Windows 98 -- for the idiot in all of us!" Windows 98: (n.)1. Something that comes with mouse you bought. Windows 98: (n.)2. The Gates of hell. Windows 98: (n.)3. The solution to a problem that didn't exist. Windows 98: (n.)4. Proof that God has a sense of humor. Windows 98? !Por Favor, No Rompa Mis Cojones! Gracias! yo momma's so poor, she goes to KFc and licks other people's fingers! yo momma's so stupid, she tripped over her cordless phone! yo momma's so stupid, she gave your uncle a blowjob to help his unemployment! yo momma's so fat, i saw the back of her neck and thought i was in a library! yo momma's so ugly when she walks into taco bell everyone runs for the border! yo momma's so fat she's protected by Green Peace! yo momma's so fat she uses a VcR for a pager! yo momma's so stupid it takes her an hour to cook minute rice! yo momma's like a doorknob: everyone gets a turn i saw your momma kicking a can down the street. i asked her what she was doin and she said 'movin!' yo momma's so stupid she sold her car for gas money! yo momma's so fat her nickname is DAMN!! yo momma's so ugly, animals at the zoo feed her! yo momma's so stupid, she went around telling all her friends that her husband was important when he couldn't get it up yo momma's so fat that when she went to the beach, Greenpeace tried to drag her fat ass back into the ocean. yo momma's ass is so fat that when she backs up, it makes bEEP bEEP noises! yo momma's is so fat she has to wear two watches 'cause she's in two : different time zones. i would have been your father but the damn dog beat me over the fence! yo momma's so fat her nickname is "DAMN" yo momma's so fat people jog around her for exercise yo momma's so fat she went to the movies and sat next to everyone yo momma's so fat you haveta roll over twice to get off her... yo momma's so fat she was floating in the ocean and spain claimed her for the new world yo momma's so fat she lay on the beach and people run around yelling Free Willy yo momma's so fat when you get on top of her your ears pop! yo momma's so fat when she has sex, she has to give directions! yo momma's so fat when she wears a yellow raincoat, people yell "taxi!" yo momma's so fat she had to go to sea World to get baptized yo momma's so fat she got to iron her pants on the driveway We Are LiCe. You Will Be Assimilated. yo momma's so fat she put on her lipstick with a paint-roller yo momma's so fat the highway patrol made her wear "Caution! Wide turn" yo momma's so fat when she sits on my face i can't hear the stereo. yo momma's so fat she fell in love and broke it. yo momma's so fat when she gets on the scale it says to be continued. yo momma's so fat when she gets on the scale it says we don't do livestock. yo momma's so fat she's got her own area code! yo momma's so fat she looks like she's smuggling a Volkswagon! yo momma's so fat whenever she goes to the beach the tide comes in! yo momma's so fat she's got Amtrak written on her leg. yo momma's so fat even bill Gates couldn't pay for her liposuction! yo momma's so fat you have to roll her ass in flour and look for the wet spot to fuck her! yo momma's so fat i had to take a train and two buses just to get on the bitches good side! yo momma's so fat when she bungee jumps she goes straight to hell! yo momma's so fat that her senior pictures had to be arial views! yo momma's so fat she's on both sides of the family! yo momma's so fat that when she hauls ass, she has to make two trips! yo momma's so fat even her clothes have stretch marks! yo momma's so fat she has a run in her blue-jeans! yo momma's so fat when she fell over she rocked herself asleep trying to get up again. yo momma's so fat that when i tried to drive around her i ran out of gas. yo momma's so fat the animals at the zoo feed her. yo momma's so fat when she dances at a concert the whole band skips. yo momma's so fat you have to grease the door frame and hold a twinkie on the other side just to get her through yo momma's so fat when the bitch goes to an all you can eat buffet, they have to install speed bumps. yo momma's so fat sets off car alarms when she walks. yo momma's so fat she put on some bVD's and by the time they reached her waist they spelled out boulevard. yo momma's so fat when she got hit by a bus, she said, "Who threw that rock?" yo momma's so fat when she stands in a left-turn lane it gives her the green arrow! yo momma's so fat that when whe was born, she gave the hospital stretch marks. yo momma's so fat the National Weather Agency has to assign names to her farts!!! yo momma's so fat we went to the drive-in and didn't have to pay because we dressed her as a chevrolet. yo momma's so stupid it took her 2 hours to watch 60 minutes yo momma's so stupid when she saw the Nc- sign, she went home and got friends yo momma's so stupid when your dad said it was chilly outside, she ran outside with a spoon yo momma's so stupid that she puts lipstick on her head just to make-up her mind yo momma's so stupid she hears it's chilly outside so she gets a bowl We Are LiCe. You Will Be Assimilated. yo momma's so stupid you have to dig for her iQ! yo momma's so stupid she got locked in a grocery store and starved! yo momma's so stupid that she tried to put M&M's in alphabetical order! yo momma's so stupid she could trip over a cordless phone! yo momma's so stupid she sold her car for gasoline money! yo momma's so stupid she thinks a quarterback is a refund! yo momma's so stupid she asked you "What is the number for 911" yo momma's so stupid when she read on her job application to not write below the dotted line she put "O.K." yo momma's so stupid she got stabbed in a shoot out. yo momma's so stupid she stole free bread. yo momma's so stupid she took a spoon to the superbowl. yo momma's so stupid she called Dan Quayle for a spell check. yo momma's so stupid she makes beavis and butt-head look like Nobel Prize winners.yo momma's so stupid she thought she needed a token to get on soul train. yo momma's so stupid when asked on an application, "Sex?", she marked, "M, F and sometimes Wednesday too." yo momma's so stupid she took the Pepsi challenge and chose Jif. yo momma's so stupid when you stand next to her you hear the ocean! yo momma's so stupid she sits on the tV, and watches the couch! yo momma's so stupid that she thought boyz ii Men was a day care center. yo momma's so stupid she bought a videocamera to record cable tv shows at home. yo momma's so stupid that under "Education" on her job apllication, she put "huked on Fonics." yo momma's so stupid she put out the cigarette butt that was heating your house. yo momma's so stupid she put lipstick on her forehead, talking about she was trying to makeup her mind. yo momma's so stupid she watches "the three stooges" and takes notes. yo momma's so ugly when she joined an ugly contest, they said "sorry, no professionals." yo momma's so ugly she looks out the window and got arrested for mooning. yo momma's so ugly just after she was born, her mother said "What a treasure!" and her father said "yes, let's go bury it." We Are LiCe. You Will Be Assimilated. yo momma's so ugly they push her face into dough to make gorilla cookies. yo momma's so ugly they filmed "Gorillas in the Mist" in her shower yo momma's so ugly they didn't give her a costume when she tried out for star Wars. yo momma's so ugly instead of putting the bungee cord around her ankle, they put it around her neck yo momma's so ugly she gets 364 extra days to dress up for halloween. yo momma's so ugly when she walks into a bank, they turn off the surveillence cameras yo momma's so ugly her mom had to be drunk to breast feed her yo momma's so ugly when she walks down the street in september, people say "Damn, is it halloween already?" yo momma's so ugly the government moved halloween to her birthday. yo momma's so ugly that if ugly were bricks she'd have her own projects. yo momma's so ugly they pay her to put her clothes on in strip joints. yo momma's so ugly she made an onion cry. yo momma's so ugly when they took her to the beautician it took hours... for a quote! yo momma's so ugly even Rice Krispies won't talk to her! yo momma's so ugly she turned Medusa to stone! yo momma's so ugly the NhL banned her for life yo momma's so ugly that when she sits in the sand on the beach, cats try to bury her. yo momma's so ugly she scares the roaches away. yo momma's so ugly that your father takes her to work with him so that he doesn't have to kiss her goodbye. yo momma's so old i told her to act her own age, and the bitch died. yo momma's so old she has Jesus' beeper number! yo momma's so old her social security number is 1! yo momma's so old that when God said let the be light, she hit the switch' yo momma's so old that when she was in school there was no history class. yo momma's so old she's in Jesus's yearbook! yo momma's so old she has a picture of Moses in her yearbook. yo momma's so old her birth certificate says expired on it. yo momma's so old she knew burger King while he was still a prince. yo momma's so old she owes Jesus a nickel. yo momma's so old she was a waitress at the Last supper. yo momma's so old she ran track with dinosaurs. yo momma's so old her birth certificate is in Roman numerals. yo momma's so old she sat behind Jesus in the third grade. We Are LiCe. You Will Be Assimilated. yo momma's so poor when i saw her kicking a can down the street, i asked her what she was doing, she said "Moving." yo momma's so poor she can't afford to pay attention! yo momma's so poor when i ring the doorbell i hear the toilet flush! yo momma's so poor when she goes to KFc, she has to lick other people's fingers!!! yo momma's so poor when i ring the doorbell she says,"DiNG!" yo momma's so poor she went to McDonald's and put a milkshake on layaway. yo momma's so poor your family ate cereal with a fork to save milk. yo momma's so poor her face is on the front of a foodstamp. yo momma's so poor she was in K-Mart with a box of hefty bags. i said, "What ya doin'?" she said, "buying luggage." yo momma's so poor she waves around a popsicle stick and calls it air conditioning. yo momma's so short she poses for trophies! yo momma's so short you can see her feet on her drivers lisence! yo momma's so short she has to use a ladder to pick up a dime. yo momma's so nasty when she goes to a hair salon, she told the stylist to cut her hair and she opened up her shirt yo momma's so nasty she gotta put ice down her drawers to keep the crabs fresh! yo momma's so nasty she made speed stick slow down. yo momma's so nasty she brings crabs to the beach yo momma's so nasty she made right guard turn left. We Are LiCe. You Will Be Assimilated. yo momma's so nasty the fishery be paying her to leave yo momma's so nasty she has to creep up on bathwater. yo momma's so nasty that her shit is glad to escape. yo momma's so nasty i called her for phone sex and she gave me an ear infection. yo momma's like potato chips-- Fri-to Lay yo momma's like a screen door, after a couple bangs she tends to loosen up! yo momma's like the pillbury doughboy - everyone gets a poke! yo momma's like a doorknob - everyone gets a turn! yo momma's like a t.V. set, even a three year old can turn her on! yo momma's like a bus, fifty cents and she's ready to ride! yo momma's like a golf course, everyone GEts a hole in one! yo momma's like the railway system, she gets laid all over the country! yo momma's like a shotgun: one cock and she blows! yo momma's like a hardware store: 4 cents a screw! yo momma's like Domino's pizza-- something for nothing yo momma's like cake mix, servings per package! yo momma's like a bowling ball. she's picked up, fingered, and then thrown in the gutter. yo momma's like a bus: Guys climb on and off her all day long. yo momma's like a toyota: "Oh what a feelin'!" yo momma's like Orange crush: "Good Vibrations!" yo momma's like a bubble-gum machine... five cents a blow. yo momma's like chinese food: sour and cheap! yo momma's so hairy you almost died of rugburn at birth! yo momma's so hairy she's got afros on her nipples! yo momma's so hairy she look like she got buckwheat in a headlock. yo momma's so hairy bigfoot is taking her picture! yo momma's so slutty she could suck-start a harley! We Are LiCe. You Will Be Assimilated. yo momma's so slutty she could suck the chrome off a trailer hitch ball! yo momma's so slutty when she got a new mini skirt, everyone commented on her nice belt! yo momma's so slutty she was on the cover of wheaties, with her legs open, and it said "breakfast of the champs" yo momma's so slutty that i could've been your daddy, but the guy in line behind me had the correct change. yo momma's so slutty she had her own "hands across her ass" charity drive yo momma's so slutty that when she heard santa claus say hO hO hO she thought she was getting it three times. yo momma's so slutty she blind and seeing another man. yo momma's so greasy she used bacon as a band-aid! yo momma's so greasy she sweats crisco! yo momma's so greasy texaco buys Oil from her yo momma teeth are so yellow traffic slows down when she smiles! yo momma teeth are so yellow she spits butter! yo momma's so skinny she hula hoops with a cheerio yo momma's so skinny she has to wear a belt with spandex. yo momma's so bald you can see whats on her mind yo momma's so bald that she took a shower and got brain-washed. yo momma's so flat she's jealous of the wall! yo momma's glasses are so thick that when she looks on a map she can see people waving. yo momma's glasses are so thick she can see into the future. We Are LiCe. You Will Be Assimilated. yo momma got so many teeth missing, it looks like her tounge is in jail. yo momma's so lazy she thinks a two-income family is where yo daddy has two jobs. yo momma wears knee-pads and yells "curb service!" yo momma feet are so big her shoes have to have license plates! yo momma aint so bad...she would give you the hair off of her back! yo momma lips so big, chap stick had to invent a spray. it took yo momma tries to get her drivers license, she couldnt get used to the front seat! you were born out of your mother's ass 'cos her cunt was too busy. yo momma's so wrinkled, she can to screw her hat on. yo momma twice the man you are. yo momma cross-eyed and watches tV in stereo. yo momma is missing a finger and can't count past 9. if my dog had a face as ugly as your momma's, i'd shave his ass and make him walk backwards. yo momma mouth so big, she speaks in surround sound. yo momma breath smell so bad when she yawns her teeth duck. yo momma house so small she has to go outside to eat a large pizza. yo momma house so small you have to go outside to change your mind. yo momma house so dirty roaches ride around on dune buggies! yo momma house so dirty she has to wipe her feet before she goes outside. lice5/lice/0000755000175000017500000000000012126724361011143 5ustar timtimlice5/lice/lice.ulw_unban0000644000175000017500000000326611542462257014006 0ustar timtim# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.codehack.com # --------------------------------------------------------------------------- # Updated for EPIC5 by tjh IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; # !UNBAN command ALIAS _proc.ulw_unban (nick,uh,serv,pass,chan) { @ :myhand = find_in_list(User $nick!$uh); UNLESS (myhand) {RETURN}; FE ($myhand) hand { UNLESS (lice.get(main_PL$hand)) { XQUOTE -S $serv NOTICE $nick :You don't have a password set. Type: /MSG $servernick($serv) !HELP PASS; RETURN; }; IF (pass != lice.get(main_PL$hand)) { XQUOTE -S $serv NOTICE $nick :Invalid password. $randread($main.reason_error); RETURN; }; @ :uip = before(@ $uh) ## [@] ## nametoip($after(@ $uh)); @ :chan_list = strlen($chan) ? chan : mychannels($serv); XEVAL -S $serv { FE ($chan_list) cn { @ :hash = hash_32bit($cn); IF (!ischanop($N $cn) || !iscset(P $hash)) {CONTINUE}; @ :test = (word(0 $getitem(ChanUser$hand 0)) == [#*]) ? 0 : matchitem(ChanUser$hand $cn *); IF (test < 0) {CONTINUE}; @ :mode = word(1 $getitem(ChanUser$hand $test)); UNLESS (mode & 256) {CONTINUE}; @ :test1 = getrmatches(B$serv\-$hash $nick!$uh); @ :test2 = getrmatches(B$serv\-$hash $nick!$uip); @ :test = uniq($test1 $test2); FE ($test) cb {PUSH ban_list $getitem(B$serv\-$hash $cb)}; _proc.loop_mode $serv - b $cn ban_list; }; }; }; _proc.quote_flush $serv; }; #tjh/09 lice5/lice/lice.wall0000644000175000017500000000250611542462257012747 0ustar timtim# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.codehack.com # --------------------------------------------------------------------------- # Updated for EPIC5 by tjh IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; # Wallop Command. ALIAS wall { IF (@) { IF (ischannel($0) && onchannel($N $0)) { ^LOCAL wall.chan $0; ^LOCAL wall.msg $1-; }{ ^LOCAL wall.chan $C; ^LOCAL wall.msg $*; } UNLESS (ischanop($N $wall.chan)) {ECHO $fmt.banner_alert() Warning: You are not channel operator on $ch($wall.chan)}; IF (left(1 $R) == [u]) { @ :wall.many = numwords($chops($wall.chan)); QUOTE NOTICE @$wall.chan :WallOp:$wall.chan\\($wall.many\) $wall.msg; }{ @ wall_list = chops($wall.chan); @ :wall.many = numwords($chops($wall.chan)); @ wall_list = remw($N $wall_list); ^ASSIGN wall_send WallOp:$wall.chan\\($wall.many\) $wall.msg; _proc.loop_send $winserv() NOTICE wall_list wall_send; }; mecho $fmt.wallop_me($wall.chan $wall.many $wall.msg); }{ uecho Usage: /WALL [channel] ; }; }; #tjh/09 lice5/lice/lice.ulw_op0000644000175000017500000000263111542462257013314 0ustar timtim# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.codehack.com # --------------------------------------------------------------------------- # Updated for EPIC5 by tjh IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; # !OP command ALIAS _proc.ulw_op (nick,uh,serv,pass,chan) { @ :myhand = find_in_list(User $nick!$uh); UNLESS (myhand) {RETURN}; FE ($myhand) hand { UNLESS (lice.get(main_PL$hand)) { XQUOTE -S $serv NOTICE $nick :You don't have a password set. Type: /MSG $servernick($serv) !HELP PASS; RETURN; }; IF (pass != lice.get(main_PL$hand)) { XQUOTE -S $serv NOTICE $nick :Invalid password. $randread($main.reason_error); RETURN; }; @ :chan_list = strlen($chan) ? chan : mychannels($serv); XEVAL -S $serv { FE ($chan_list) cn { IF (!onchannel($nick $cn) || !ischanop($servernick() $cn) || !iscset(P $hash_32bit($cn))) {CONTINUE}; @ :test = (word(0 $getitem(ChanUser$hand 0)) == [#*]) ? 0 : matchitem(ChanUser$hand $cn *); IF (test < 0) {CONTINUE}; @ :mode = word(1 $getitem(ChanUser$hand $test)); IF (mode & 32) {_proc.quote_add $serv MODE $cn +o $nick}; }; }; }; _proc.quote_flush $serv; }; #tjh/11 lice5/lice/lice.wtog0000644000175000017500000000653211542462257012773 0ustar timtim# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.codehack.com # --------------------------------------------------------------------------- # # Modified by tjh 2010 # IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; ALIAS _proc.setup_wtog { iecho +---- Current LiCe Window Toggle Settings -----------------------+; iecho | Description | Tog | Set | Default |; iecho +------------------------------------------+-----+-----+---------+; iecho Allow seperate dedicated windows.(/WTOG CW)| A | $[3]isset.show($iswset(A)) | Off; iecho Always allow beeps on hidden windows. | B | $[3]isset.show($iswset(B)) | Off; iecho Dedicated DCC CHAT window. | C | $[3]isset.show($iswset(C)) | Off; iecho Use double status bars in new windows. | D | $[3]isset.show($iswset(D)) | On; iecho Dedicated DCC transfer Status window. | E | $[3]isset.show($iswset(E)) | Off; iecho Use the global status titlebar. | T | $[3]isset.show($iswset(T)) | On; iecho Dedicated MSG window. No-scroll MSG reading| W | $[3]isset.show($iswset(W)) | Off; INPUT "Letters to change toggles (ENTER to skip): " IF (@) {wtog $*} }; ALIAS wtog { UNLESS (@) { _proc.setup_wtog; RETURN; }; FEC ($toupper($0)) _t { IF (iswset($_t)) { @ lice.set(main.wset $strip($_t $lice.get(main.wset))); if (_t == [C]) {//^WINDOW SHOW CW KILL;//^WINDOW LEVEL ALL}; if (_t == [T]) { FE ($windowctl(REFNUMS)) wn {WINDOW $wn TOPLINES 0}; }; if (_t == [E]) {//^WINDOW SHOW SDCC KILL;//^WINDOW LEVEL ALL}; if (_t == [W]) {//^WINDOW SHOW MW KILL;//^WINDOW LEVEL ALL}; }{ @ lice.set(main.wset $pass(ABCDETW $lice.get(main.wset) $_t)); if (_t == [C]) { IF (iswset(A)) { win_new CW; //^WINDOW LEVEL NONE DOUBLE OFF NOSERV STATUS_FORMAT " [Win: %W%R%F] Chat Window %>-- Type /WTOG C to finish -- "; }{ //^WINDOW NEW NAME CW LEVEL NONE DOUBLE OFF SIZE 8 NOSERV STATUS_FORMAT " Chatting Window %>-- Type /WTOG C to finish -- ";//^WINDOW LAST;//^WINDOW LEVEL ALL; }; }; if (_t == [T]) { $_proc.redraw_tl(1); }; if (_t == [E]) {//^WINDOW NEW NAME SDCC LEVEL NONE DOUBLE OFF SIZE 8 NOSERV STATUS_FORMAT " DCC transfer Status Window %>-- Type /WTOG E to finish -- ";//^WINDOW LAST;//^WINDOW LEVEL ALL}; if (_t == [W]) { IF (iswset(A)) { win_new MW; //^WINDOW LEVEL NONE DOUBLE OFF NOSERV STATUS_FORMAT " [Win: %W%R%F] Message Window %>-- Type /WTOG W to finish -- "; }{ //^WINDOW NEW NAME MW LEVEL NONE DOUBLE OFF SIZE 8 NOSERV STATUS_FORMAT " Message Window %>-- Type /WTOG W to finish -- ";//^WINDOW LAST;//^WINDOW LEVEL ALL; }; }; }; }; UNLESS (lice.get(main.wset)) {@lice.del(main.wset)}; XECHO -B Window toggles now: $lice.get(main.wset); }; #tjh/09 lice5/lice/lice.ulw_ident0000644000175000017500000000242011542462257013775 0ustar timtim# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.codehack.com # --------------------------------------------------------------------------- # Updated for EPIC5 by tjh IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; # !IDENT command ALIAS _proc.ulw_ident (nick,uh,serv,pass,handle) { @ :myhand = find_in_list(User $nick!$uh); IF (myhand) { FE ($myhand) hand { IF (pass == lice.get(main_PL$hand)) { XQUOTE -S $serv NOTICE $nick :I recognize you there.; }; }; RETURN; }; @ :test = strlen($handle) ? handle : nick; IF (finditem(Userlist $test) < 0) {RETURN}; @ :hand = hash_32bit($test); IF (pass != lice.get(main_PL$hand)) {RETURN}; @ :host = mask(0 $uh); @ :test = finditem(User$hand $host); IF (test >= 0) { XQUOTE -S $serv NOTICE $nick :I recognize you there too.; RETURN; }; IF (setitem(User$hand $numitems(User$hand) $host) >= 0) { _proc.ul_save; XQUOTE -S $serv NOTICE $nick :Added hostmask: $host; }{ XQUOTE -S $serv NOTICE $nick :Failed to add hostmask.; }; }; #tjh/09 lice5/lice/lice.rel0000644000175000017500000000275311542462257012576 0ustar timtim# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.codehack.com # --------------------------------------------------------------------------- # Updated for EPIC5 by tjh IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; ALIAS _proc.redirect_last { UNLESS (strlen($2)) { SEND $getitem($0 ${numitems($0) - 1}); RETURN; }; IF (left(2 $2) == [-l]) { IF (numitems($0) <= 0) { XECHO -B Nothing in $0\-buffer.; RETURN; }; iecho ---- Context ------------------------; FOR (@ :gg=0, numitems($0) > gg, @gg++) { iecho [$[2]{gg+1}] $getitem($0 $gg); }; }{ IF (isnumber($2)) { $1 ${strlen($3)?[$3]:C} $getitem($0 ${[$2] - 1}); }{ $1 $2 $getitem($0 ${numitems($0) - 1}); }; }; }; ALIAS relm {_proc.redirect_last ML MSG $*}; ALIAS reln {_proc.redirect_last NL MSG $*}; ALIAS relw {_proc.redirect_last WL MSG $*}; ALIAS relmk {_proc.redirect_last ML K $*}; ALIAS relnk {_proc.redirect_last NL K $*}; ALIAS relwk {_proc.redirect_last WL K $*}; ALIAS tlm {_proc.redirect_last ML T ${@?[$*]:C}}; ALIAS tln {_proc.redirect_last NL T ${@?[$*]:C}}; ALIAS tlw {_proc.redirect_last WL T ${@?[$*]:C}}; ALIAS wlm {_proc.redirect_last ML WALL ${@?[$*]:C}}; ALIAS wln {_proc.redirect_last NL WALL ${@?[$*]:C}}; #tjh/09 lice5/lice/lice.pager0000644000175000017500000000223712077113061013075 0ustar timtim# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.codehack.com # --------------------------------------------------------------------------- # Updated for EPIC5 by tjh # Works a treat. IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; # Proper pager alias - tjh - May 2012 ALIAS pager { UNLESS (@) { uecho Usage: /PAGER ; RETURN; }; IF (fexist($0) == -1) { XECHO -B File not found: $0; RETURN; }; _proc.disp_file $open($0 R); }; # Written by tjh. ALIAS _proc.disp_file (file) { @ :lines = (word(1 $geom()) - 5); IF (lines < 1) {@ :lines = 1}; IF (!eof($file)) { WHILE ((lines > 0) && !eof($file)) { ECHO $read($file); @ --lines; }; @ fd = file; IF (!eof($file)) { INPUT_CHAR "[Press any key, q to quit]" { IF ([$0] != [q]) { _proc.disp_file $fd; }{ @ close($fd); }; }; }; }{ @ close($fd); }; }; #tjh/13 lice5/lice/lice.ulw_help0000644000175000017500000000272711542462257013634 0ustar timtim# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.codehack.com # --------------------------------------------------------------------------- # Updated for EPIC5 by tjh IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; # general help on userlist commands ALIAS _proc.ulw_help (nick,uh,serv,text) { @ :hand = find_in_list(User $nick!$uh); UNLESS (hand) {RETURN}; UNLESS (strlen($text)) { ^CD $LiCePath/userhelp; @ :help_lst = glob(*); ^CD ~; _proc.quote_add $serv NOTICE $nick :MSG commands for $servernick($serv)\:; _proc.quote_add $serv NOTICE $nick :$help_lst; _proc.quote_add $serv NOTICE $nick :For help on a command, /MSG $servernick($serv) !HELP ; }{ @ :cmd = toupper($text); IF (fexist($LiCePath/userhelp/$cmd) == -1) { _proc.quote_add $serv NOTICE $nick :No help available on '$cmd'; RETURN; }; @ :help_fd = open($LiCePath/userhelp/$cmd R); UNLESS (help_fd) { _proc.quote_add $serv NOTICE $nick :Failed to open help for '$cmd'; RETURN; }; UNTIL (eof($help_fd)) { @ :help_txt = read($help_fd); IF (strlen($help_txt)) {_proc.quote_add $serv NOTICE $nick :$help_txt}; }; @ close($help_fd); }; _proc.quote_flush $serv; }; #tjh/09 lice5/lice/lice.userlist0000644000175000017500000002563411542462257013671 0ustar timtim# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.codehack.com # --------------------------------------------------------------------------- # Updated for EPIC5 by tjh IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; # # Userlist structure: # Userlist = list of user handles # User{Hand} = list of n!u@h patterns for obsfucated handle # ChanUser{Hand} = list of channels for obsfucated handle # main_PL[Hand] = password for handle # # same for Shit except the passwords. i know, it's messy but it works fast! # ALIAS ulecho {ECHO $fmt.banner_userlist() $*}; # adds a new handle to the list. ALIAS _proc.ul_add (indx,hand,patt) { UNLESS (hand) {RETURN}; @ :list = indx ## [list]; @ :test = finditem($list $hand); IF (test < 0) { IF (setitem($list $numitems($list) $hand) < 0) { ulecho $indx\list: failed to add '$hand\'.; RETURN; }; @ :host = strlen($patt) ? patt : get_uh($hand); IF (strlen($host)) { # Mask was originally 11, but appears not to work, so I've set to 0 for the moment. # Will be fixed in later epic5 release hopefully. tjh @ :host = strlen($patt) ? uhc($patt) : mask(0 $host); @ :list = indx ## hash_32bit($hand); IF (setitem($list $numitems($list) $host) >= 0) { ulecho $indx\list: added \[$hand\]$host\.; IF (!isset(Q) && !strlen($patt) && indx != [Shit]) { @ :serv = winserv(); _proc.quote_add $serv NOTICE $hand :You've been added to my LiCe Friend List!; _proc.quote_add $serv NOTICE $hand :Your handle is '$hand\', please remember this.; _proc.quote_add $serv NOTICE $hand :For help, type: /MSG $N !HELP; _proc.quote_flush $serv; }; }{ ulecho $indx\list: failed to add '$host\' to '$hand\'.; ulecho $indx\list: added \[$hand\] with no hosts.; }; }{ ulecho $indx\list: added \[$hand\] with no hosts.; }; }{ @ :hand = getitem($list $test); ulecho $indx\list: handle '$hand\' already exists. ${strlen($patt) ? [\(adding ] ## patt ## [\)] : []}; IF (strlen($patt)) {_proc.ul_chg $indx $hand $patt}; }; _proc.ul_save; }; # updates our channel cookies ALIAS _proc.ul_cookie_update (indx,chan,hand,mode) { IF (mode == [-]) { @ :oper = mode; @ :rest = []; }{ @ :oper = []; @ :rest = hand ## [ ] ## mode; } IF (chan == [#*]) { FOREACH Cookie.${indx} h_chan { FOREACH Cookie.${indx}.$h_chan nick { IF (word(0 $Cookie[$indx][$h_chan][$nick]) == hand) { ^ASSIGN ${oper}Cookie[$indx][$h_chan][$nick] $rest; }; }; }; }{ @ :h_chan = hash_32bit($chan); FOREACH Cookie.${indx}.$h_chan nick { IF (word(0 $Cookie[$indx][$h_chan][$nick]) == hand) { ^ASSIGN ${oper}Cookie[$indx][$h_chan][$nick] $rest; }; }; }; }; # deletes an existing handle ALIAS _proc.ul_del (indx,hand) { UNLESS (hand) {RETURN}; @ :mlist = indx ## [list]; @ :test = getmatches($mlist $hand); UNLESS (strlen($test)) { ulecho $indx\list: no handles matching '$hand\' were found.; RETURN; }; FE ($test) item { @ :hand = getitem($mlist $item); IF (delitem($mlist $item) >= 0) { @ :hash = hash_32bit($hand); @ :list = indx ## hash; @ delarray($list); @ delarray(Chan$list); @lice.del(main_PL$hash); _proc.ul_cookie_update $indx #* $hash -; ulecho $indx\list: deleted handle '$hand\'.; }{ ulecho $indx\list: failed to delete '$hand\'.; }; }; _proc.ul_save; }; # change host attributes for a user #XXX - should auto-remove users with no host lists (?) #ALIAS _proc.ul_chg_host (indx,hand,mode,spatt) { ALIAS _proc.ul_chg_host (indx,hand,spatt) { FE ($spatt) patt { @ :mode = pass(-+ $left(1 $patt)) ? left(1 $patt) : [+]; @ :host = pass(-+ $left(1 $patt)) ? uhc($rest(1 $patt)) : uhc($patt); @ :hash = hash_32bit($hand); @ :list = indx ## hash; @ :test = finditem($list $host); IF (mode == [-]) { IF (test < 0) { ulecho $indx\list: could not find '$host\' in '$hand\'.; #RETURN #TODO Figure out WTF is going on here. CONTINUE; }; IF (delitem($list $test)) { ulecho $indx\list: failed to delete '$host\' from '$hand\'.; RETURN; }; ulecho $indx\list: deleted '$host\' from '$hand\'.; _proc.ul_cookie_update $indx #* $hash -; }{ IF (test >= 0) { ulecho $indx\list: '$host\' already matches '$hand\'.; CONTINUE; }; @ :test.1 = getmatches($list $host); FE ($reverse($test.1)) host.1 { @ :temp.1 = getitem($list $host.1); UNLESS (delitem($list $host.1)) { ulecho $indx\list: deleted redundant host '$temp.1\' from '$hand\'.; }; }; @ :test.2 = getrmatches($list $host); FE ($reverse($test.2)) host.2 { @ :temp.2 = getitem($list $host.2); UNLESS (delitem($list $host.2)) { ulecho $indx\list: deleted redundant host '$temp.2\' from '$hand\'.; }; }; IF (setitem($list $numitems($list) $host) >= 0) { ulecho $indx\list: added \[$hand\]$host\.; }{ ulecho $indx\list: failed to add '$host\' to '$hand\'.; }; };}; _proc.ul_save; }; # converts +AOP-P to a bit-wise value # $0=type $1=new $2=old ALIAS _proc.ul_a2m (indx,text,mode) { ^LOCAL flag +; FEC ($toupper($text)) mode.1 { @ :test = index($mode.1 $temp.mode_list[$indx]); IF (test == -1) { IF (pass(+- $mode.1)) {@ :flag = mode.1}; CONTINUE; }; @ :bits = 1 << test; IF (flag == [+]) {@ :mode |= bits}{@ :mode &= ~bits}; }; @ function_return = mode; }; # converts from bit string to string array # $0=type $1=bits ALIAS _proc.ul_m2a (indx,mode) { ^LOCAL str; @ :cnt = 0; FEC ($temp[mode_list][$indx]) flag { @ :bit = 1 << cnt; IF (mode & bit) {@ :str #= flag}; @ :cnt++; }; @ FUNCTION_RETURN = str; }; # change channel attributes for a user ALIAS _proc.ul_chg_chan (indx,hand,mode,chan,flag,text) { @ :hash = hash_32bit($hand); @ :list = [Chan] ## indx ## hash; @ :test = matchitem(Chan$indx$hash $chan *); IF (mode == [+]) { IF (test < 0) { @ :mode = _proc.ul_a2m($indx $flag 0); IF (mode <= 0) { ulecho $indx\list: deleted '$chan\' from '$hand\' (no modes).; RETURN; }; IF (chan == [#*] && numitems($list)) { @ delarray($list); ulecho $indx\list: global channel #* must be unique, old channels removed.; }; IF (setitem($list $numitems($list) $chan $mode $text) < 0) { ulecho $indx\list: failed to add '$chan\' to '$hand\'.; RETURN; }; ulecho $indx\list: added '$chan\' to '$hand\'.; _proc.ul_cookie_update $indx $chan $hash -; }{ @ :prev = getitem($list $test); @ :mode = _proc.ul_a2m($indx $flag $word(1 $prev)); IF (mode) { IF (setitem($list $test $chan $mode $text) < 0) { ulecho $indx\list: failed to change '$chan\' for '$hand\'.; RETURN; }; ulecho $indx\list: changed '$chan\' for '$hand\'.; _proc.ul_cookie_update $indx $chan $hash $mode; }{ UNLESS (delitem($list $test)) { _proc.ul_cookie_update $indx $chan $hash -; ulecho $indx\list: deleted '$chan\' from '$hand\' (no modes).; }; }; }; }{ IF (test < 0) { ulecho $indx\list: could not find '$chan\' in '$hand\'.; RETURN; }; UNLESS (delitem($list $test)) { _proc.ul_cookie_update $indx $chan $hash -; ulecho $indx\list: deleted '$chan\' from '$hand\'.; }{ ulecho $indx\list: failed to delete '$chan\' from '$hand\'.; }; }; _proc.ul_save; }; # change channel/host attributes for a user ALIAS _proc.ul_chg (indx,hand,flag,text) { UNLESS (flag) {RETURN}; @ :list = indx ## [list]; @ :test = finditem($list $hand); IF (test < 0) { ulecho $indx\list: handle '$hand\' not found.; RETURN; }; @ :hand = getitem($list $test); @ :mode = left(1 $flag); IF (pass(-+ $mode)) { @ :test = rest(1 $flag); }{ ^LOCAL test $flag; ^LOCAL mode +; }; UNLESS (strlen($test)) {RETURN}; IF (ischannel($test)) { _proc.ul_chg_chan $indx $hand $mode $test $text; }{ _proc.ul_chg_host $indx $hand $mode$test $text; ###${pass(-+ $left(1 $text)) ? rest(1 $text) : text} }; _proc.ul_save; }; # display users ALIAS _proc.ul_show (indx,hand) { @ :list = indx ## [list]; UNLESS (numitems($list)) { ulecho $indx\list: no handles found.; RETURN; }; IF (strlen($hand)) { @ :test = finditem($list $hand); IF (test < 0) { ulecho $indx\list: handle '$hand\' not found.; RETURN; }; @ :hand = getitem($list $test); @ :hash = hash_32bit($hand); @ :host = numitems($indx$hash); @ :chan = numitems(Chan$indx$hash); ulecho ------- $indx Handle Information --------------------; IF (indx == [User]) { @ :hack = strlen($lice.get(main_PL$hash)) ? [With password\: ] ## lice.get(main_PL$hash) : [Without password]; ulecho Handle: $hand \($hack\); }{ ulecho Handle: $hand; }; ulecho +----- Hosts ---------------------------------------; IF (host > 0) { FOR (@ :cnt=0, host > cnt, @ cnt++) { ulecho [$[-3]{cnt + 1}] $getitem($indx$hash $cnt); }; }{ ulecho ; }; ulecho +----- Channel ------------------ Mode -------------; IF (chan > 0) { FOR (@ :cnt=0, chan > cnt, @ cnt++) { @ :item = getitem(Chan$indx$hash $cnt); @ :name = word(0 $item); @ :mode = _proc.ul_m2a($indx $word(1 $item)); @ :text = restw(2 $item); ulecho [$[-3]{cnt + 1}] $[26]name $mode; IF (text) { ulecho ${(indx == [User])?[Greet]:[Reason]}\: \"$text\"; }; }; }{ ulecho ; }; }{ ulecho ----- Handle -------- Description ----------------; FOR (@ :cnt=0, numitems($list) > cnt, @ :cnt++) { @ :user = getitem($list $cnt); @ :hash = indx ## hash_32bit($user); @ :host = numitems($hash); @ :chan = numitems(Chan$hash); ulecho [$[-3]{cnt+1}] $[15]user $center(8 $host host$plural($host)) | $chan channel$plural($chan); }; }; }; ALIAS _proc.ul_main (list,opts,text) { SWITCH ($opts) { (-A) {_proc.ul_add $list $text}; (-C) (-H) {_proc.ul_chg $list $text}; (-D) {_proc.ul_del $list $text}; (-L) {_proc.ul_show $list $text}; (*) () { @ :cmd = list == [User] ? [FRIEND] : [SHIT]; uecho Usage: /$cmd -a [host]; uecho Usage: /$cmd -c <[+|-]channel|#*> [[<-|+>modes] [greet]]; uecho Usage: /$cmd -d ; uecho Usage: /$cmd -h <[+|-]host>; uecho Usage: /$cmd -l [handle]; }; }; }; # the actual commands ALIAS friend {_proc.ul_main User $*}; ALIAS shit {_proc.ul_main Shit $*}; #tjh/11 lice5/lice/lice.ul_save0000644000175000017500000000242711542462257013450 0ustar timtim# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.codehack.com # --------------------------------------------------------------------------- # Updated for EPIC5 by tjh IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; # Save for userlist ALIAS _proc.ul_save { @ unlink($lice.save_path/lice.users); @ :usave_fd = open($lice.save_path/lice.users W); FE (User Shit) indx { @ :mlist = indx ## [list]; UNLESS (numitems($mlist)) {CONTINUE}; FOR (@ :x1=0, numitems($mlist) > x1, @ :x1++) { @ :hand = getitem($mlist $x1); @ :hash = hash_32bit($hand); @ write($usave_fd # $indx Handle: $hand); @ write($usave_fd @ SETITEM\($mlist $x1 $hand\)); @ :list = indx ## hash; FOR (@ :x2=0, numitems($list) > x2, @ :x2++) { @ write($usave_fd @ SETITEM\($list $x2 $getitem($list $x2)\)); }; @ :list = [Chan] ## indx ## hash; FOR (@ :x2=0, numitems($list) > x2, @ :x2++) { @ write($usave_fd @ SETITEM\($list $x2 $getitem($list $x2)\)); }; }; }; @ close($usave_fd); }; #tjh/11 lice5/lice/lice.define0000644000175000017500000000265611542462257013250 0ustar timtim# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.codehack.com # --------------------------------------------------------------------------- # Updated for EPIC5 by tjh IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; ALIAS define { UNLESS (@) { uecho Usage: /DEFINE ; RETURN; }; @ :def.text = ["$*"]; @ :def.fd = connect(dict.org 2628); WAIT =$def.fd; UNLESS (def.fd) { XECHO -B Connection failed.; RETURN; }; ^ON ^DCC_RAW "$def.fd % D 150 *" { @ :str = [$4 definition] ## plural($4) ## [ retrieved]; @ :wid = (word(0 $geom()) - 3) - strlen($str); @ :wid /= 2; XECHO -C $repeat($wid #) $str $repeat($wid #)\; }; ^ON ^DCC_RAW "$def.fd % D 151 *" {XECHO -C $chop(1 $4-)}; ^ON ^DCC_RAW "$def.fd % D 552 *" {XECHO -C $banner No definition found.}; ^ON ^DCC_RAW "$def.fd % D *" {UNLESS (isdigit($3)) {XECHO -C $chop(1 $3-)}}; ^ON ^DCC_RAW "$def.fd % C" { ^ON ^DCC_RAW -"$0 % D 150 *"; ^ON ^DCC_RAW -"$0 % D 151 *"; ^ON ^DCC_RAW -"$0 % D 552 *"; ^ON ^DCC_RAW -"$0 % D *"; ^ON ^DCC_RAW -"$0 % C"; }; ^DCC RAW $def.fd dict.org DEFINE * $def.text; ^DCC RAW $def.fd dict.org QUIT; }; ALIAS dict {define $*}; #tjh/09 lice5/lice/lice.invlist0000644000175000017500000000277111542462257013504 0ustar timtim# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, UNLESS specified. Visit http://lice.codehack.com # --------------------------------------------------------------------------- # Updated for EPIC5 by tjh IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; ### Ban-Invite manipulation routines. ALIAS binv { UNLESS (@) { uecho Usage: /BINV ; RETURN; }; ^LOCAL opt $1; UNLESS (rmatch($0 *!* *@* *.*)) { @ :uh = get_uh($0); UNLESS (strlen($uh)) { XECHO -B $0: No such nick; RETURN; }; _proc.inv $C $winserv() $makeban(B$toupper($opt) $uh) $0; }{ FE ($*) inv {_proc.inv $C $winserv() $inv %}; }; }; # $0 = channel, $1 = serverindex, $2 = pattern, $3 = nick, [$4 = hash] # this routine wont clean after itself. the calling procedure must do it. ALIAS _proc.inv (chan,serv,opat,nick,phash) { @ :patt = (pass(!@ $opat) == [!]) ? opat : uhc($opat); @ :hash = phash ? phash : hash_32bit($chan); @ :list = [I] ## serv ## [-] ## hash; @ :invx = getrmatches($list $patt); @ :invy = getmatches($list $patt); @ :invs = uniq($invx $invy); FE ($invs) inv { @ :str = getitem($list $inv); _proc.mode_add $serv $chan -I $str; }; _proc.mode_add $serv $chan +I $patt; _proc.mode_flush $serv $chan; }; #tjh/09 lice5/lice/lice.silence0000644000175000017500000000262111773224236013427 0ustar timtim# /silence - a more efficient interface # Written by HSOC, slightly modified to support silence toggle by tjh # Updated for EPIC5 by tjh # Updated to support callerid by tjh 06/12 IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; ALIAS silence { UNLESS (_proc.silence()) {iecho This server does not support silence.; RETURN}; IF (match($left(1 $0) + -)) { @ sil.sign = left(1 $0); @ sil.dork = rest(1 $0); UNLESS (rmatch($0 *!* *@* *.*)) { USERHOST $sil.dork -CMD UNLESS ([$4]==[] || [$4]==[]) { //SILENCE $sil.sign*@$4; //SILENCE $sil.sign$sil.dork*; }{//SILENCE $sil.sign$sil.dork*} }{//SILENCE $0} }{ @ sil.cnt = 1; # IF ([$0] == '') {@ sil.pers = [$N]} {@ sil.pers = [$0]}; # I'm not happy with this. $N can not be correct, but it *seems* to work. @ sil.pers = (@ ? [$0] : [$N]); iecho ---- Silence List for $sil.pers@$S; ^ON ^271 * { @ sil.mask = [$2]; iecho [$[2]sil.cnt] $sil.mask; @sil.cnt++; }; //SILENCE $sil.pers; } }; ON ^272 * {iecho ---- End of Silence List;purge sil}; # Verify server support for silence/callerid ALIAS _proc.silence {@:FUNCTION_RETURN = (MATCH(SILENCE $serverctl(GET $serverctl(FROM_SERVER) 005s))) > 0): 0 ? 1}; ALIAS _proc.callerid {@:FUNCTION_RETURN = (MATCH(CALLERID $serverctl(GET $serverctl(FROM_SERVER) 005s))) > 0): 0 ? 1} #tjh/12 lice5/lice/lice.kickban0000644000175000017500000000271611745673535013425 0ustar timtim# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.codehack.com # --------------------------------------------------------------------------- # Updated for EPIC5 by tjh IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; ALIAS _proc.kick_ban { UNLESS (ischanop($N $C)) { XECHO -B $ch($C)\: You're not channel operator.; RETURN; }; UNLESS (strlen($1)) { //KICK; RETURN; }; IF (rmatch($1 *.* *!* *@* %\\* \\*%)) { ^LOCAL nick %; @ :pat = uhc($1); get_user_match $C $pat kick_list; @ kick_list = remw($N $kick_list); }{ @ :pat = onchannel($1 $C) ? makeban(B$0 $userhost($1)) : [$1!*@*]; ^ASSIGN kick_list $1; ^LOCAL nick $1; }; @ kick_msg = strlen($2) ? [$2-] : randread($main.reason_kick); @ :serv = winserv(); _proc.ban $C $serv $pat $nick; _proc.loop_kick $serv $C kick_list kick_msg; IF ([$0]==[I]) { ECHO $fmt.banner_kick() Ignoring all crap from $pat; //^IGNORE $pat ALL CRAP -PUBLIC; @lice.set(|$hash_32bit($pat) $pat ALL CRAP -PUBLIC); }; }; ALIAS kb {_proc.kick_ban N $*}; ALIAS ka {_proc.kick_ban A $*}; ALIAS kh {_proc.kick_ban H $*}; ALIAS kf {_proc.kick_ban F $*}; ALIAS ku {_proc.kick_ban U $*}; ALIAS ki {_proc.kick_ban I $*}; ALIAS kbi {k}; #tjh/09 lice5/lice/lice.help0000644000175000017500000000314012126407634012730 0ustar timtim# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # lice.help written by tjh for LiCe5 for EPIC5. tjh - tim@muppetz.com # http://lice.muppetz.com - LiCe5 # --------------------------------------------------------------------------- # IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; ALIAS help (topic, topic2, path) { @ :temp.current_pwd = PWD; ^CD $LiCePath/help/; IF (!path) {@ path = LiCePath ## [/help/]}; @ isdir = 0; # Old /help functionality. IF (topic2 && (topic2 != 1)) { @ topic = LiCePath ## [/help/$topic/]; help $topic2 1 $topic; RETURN; }; IF (topic) { @ topic = tolower($topic); @ file = [$path$topic]; @ cpath = path; IF (left(1 $word(2 $stat("$file"))) == 4) { @ isdir = 1; @ newpath = LiCePath ## [/help/$topic/]; ^CD $newpath; IF (fexist($newpath$topic) == 1) {_proc.disp_file $open($newpath$topic R);}; echo.recursive $glob(*); # XECHO; INPUT "Topic? " { IF (@) { IF (fexist($newpath$0) != -1) { help $0 1 $newpath; }{ uecho No such help topic; }; }; }; }; IF (fexist($file) == -1) {uecho No such help topic;RETURN;}; IF (isdir == 0) { _proc.disp_file $open($file R); }; }{ _proc.disp_file $open($LiCePath/help/index R); INPUT "Topic? " { IF (@) {help $tolower($0)}; }; }; ^CD $temp.current_pwd; }; #tjh/11 #tjbh/13 lice5/lice/lice.exclist0000644000175000017500000000277411542462257013472 0ustar timtim# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, UNLESS specified. Visit http://lice.codehack.com # --------------------------------------------------------------------------- # Updated for EPIC5 by tjh IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; ### Ban-Exception manipulation routines. ALIAS bexc { UNLESS (@) { uecho Usage: /BEXC ; RETURN; }; ^LOCAL opt $1; UNLESS (rmatch($0 *!* *@* *.*)) { @ :uh = get_uh($0); UNLESS (strlen($uh)) { XECHO -B $0: No such nick; RETURN; }; _proc.exc $C $winserv() $makeban(B$toupper($opt) $uh) $0; }{ FE ($*) exc {_proc.exc $C $winserv() $exc %}; }; }; # $0 = channel, $1 = serverindex, $2 = pattern, $3 = nick, [$4 = hash] # this routine wont clean after itself. the calling procedure must do it. ALIAS _proc.exc (chan,serv,opat,nick,phash) { @ :patt = (pass(!@ $opat) == [!]) ? opat : uhc($opat); @ :hash = phash ? phash : hash_32bit($chan); @ :list = [E] ## serv ## [-] ## hash; @ :excx = getrmatches($list $patt); @ :excy = getmatches($list $patt); @ :excs = uniq($excx $excy); FE ($excs) exc { @ :str = getitem($list $exc); _proc.mode_add $serv $chan -e $str; }; _proc.mode_add $serv $chan +e $patt; _proc.mode_flush $serv $chan; }; #tjh/09 lice5/lice/lice.oops0000644000175000017500000000115611542462257012770 0ustar timtim# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.codehack.com # --------------------------------------------------------------------------- # Updated for EPIC5 by tjh IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; ALIAS oops { UNLESS (@) { uecho Usage: /OOPS ; RETURN; }; @ :old_msg = B; //MSG $. $randread($main.reason_oops); //MSG $0 $old_msg; }; lice5/lice/lice.refriend0000644000175000017500000000167711542462257013616 0ustar timtim# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by HSOC, unless specified. Visit http://lice.codehack.com # --------------------------------------------------------------------------- # Updated for EPIC5 by tjh. This code is written by HSOC. IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; ALIAS reuser {refriend $*}; ALIAS refriend { @ :fr_chan = @ ? [$0] : [$C]; IF (!ischanop($servernick() $fr_chan)) {RETURN}; @ :fr_hash = hash_32bit($fr_chan); @ fr_list = []; FE ($channel($fr_chan)) fr_1 { @ :fr_nick = rest(2 $fr_1); @ :fr_mode = get_cookie(User $fr_chan $fr_nick $fr_hash); IF ((fr_mode & 32) && (left(1 $fr_1) != [@])) {PUSH fr_list $fr_nick}; }; _proc.loop_mode $winserv() + o $fr_chan fr_list; purge fr; }; #tjh/09 lice5/lice/lice.tog0000644000175000017500000000643711542462257012610 0ustar timtim# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.muppetz.com # --------------------------------------------------------------------------- # # Modified by tjh 2010 # IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; ALIAS _proc.setup_tog { iecho +------- Current LiCe Toggle Settings ---------------------------+; iecho | Description | Tog | Set | Default |; iecho +------------------------------------------+-----+-----+----------; iecho Auto change to preferred nick (AutoNick). | A | $[3]isset.show($isset(A)) | On; iecho Enable actions for SHIT users. | B | $[3]isset.show($isset(B)) | On; iecho Channel Protection: Auto KICK flooders. | C | $[3]isset.show($isset(C)) | Off; iecho Flood Protection or Auto IGNORE flooders. | F | $[3]isset.show($isset(F)) | On; iecho Auto lookup IP addresses in WHOIS/WHOWAS. | H | $[3]isset.show($isset(H)) | Off; iecho Auto JOIN all channels you are invited. | I | $[3]isset.show($isset(I)) | Off; iecho Auto clone bot notification on JOIN. | J | $[3]isset.show($isset(J)) | Off; iecho NetHack Protection: AutoDEOP nethackers. | N | $[3]isset.show($isset(N)) | Off; iecho FRIEND !MSG commands (Global). | P | $[3]isset.show($isset(P)) | On; iecho QUIET MODE: LiCe runs in stealth status. | Q | $[3]isset.show($isset(Q)) | Off; iecho Auto regain ops in empty opless channels. | R | $[3]isset.show($isset(R)) | Off; iecho Auto define top-level dom in WHOIS/WHOWAS. | T | $[3]isset.show($isset(T)) | On; UNLESS (dlu == 1) { iecho Automatically check for LiCe updates/news. | U | $[3]isset.show($isset(U)) | On; }; iecho Lurking mode. No AutoAWAY or idle times. | X | $[3]isset.show($isset(X)) | Off; INPUT "Letters to change toggles (ENTER to skip): " IF (@) {tog $*} }; ALIAS tog { UNLESS (@) { _proc.setup_tog; RETURN; }; FEC ($toupper($0)) _t { IF (isset($_t)) { @ lice.set(main.set $strip($_t $lice.get(main.set))); SWITCH ($_t) { (F) {@ main.old_flood_users = FLOOD_USERS;^SET FLOOD_USERS 0}; (B) (C) (I) (J) (N) (P) { @ main.cset = strip($_t $main.cset); FOREACH chan _c {UNLESS (pass(A $chan[$_c][S])) {@ chan[$_c][S] = strip($_t $chan[$_c][S])}}; }; (Q) {^STACK PUSH SET CLIENT_INFORMATION;^SET CLIENT_INFORMATION $lice()}; }; }{ UNLESS (dlu == 1) { @ lice.set(main.set $pass(ABCFHIJNPRTQUX $lice.get(main.set) $_t)); }{ @ lice.set(main.set $pass(ABCFHIJNPRTQX $lice.get(main.set) $_t)); }; SWITCH ($_t) { (F) {^SET FLOOD_USERS $main.old_flood_users;^ASSIGN -main.old_flood_users}; (B) (C) (I) (J) (N) (P) { @ main.cset #= _t; FOREACH chan _c {UNLESS (pass($_t $chan[$_c][S]) || pass(A $chan[$_c][S])) {@ chan[$_c][S] #= _t}}; }; (Q) {^STACK POP SET CLIENT_INFORMATION}; }; }; }; UNLESS (lice.get(main.set)) {lice.del(main.set)}; XECHO -B Main toggles now: $lice.get(main.set); ^SET STATUS_USER $lice.get(main.set); }; #tjh/10 lice5/lice/lice.ulw_pass0000644000175000017500000000216311542462257013644 0ustar timtim# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.codehack.com # --------------------------------------------------------------------------- # Updated for EPIC5 by tjh IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; # !PASS command ALIAS _proc.ulw_pass (nick,uh,serv,pass,npass) { @ :myhand = find_in_list(User $nick!$uh); UNLESS (myhand) {RETURN}; FE ($myhand) hand { IF (strlen($lice.get(main_PL$hand))) { IF (pass != lice.get(main_PL$hand)) { XQUOTE -S $serv NOTICE $nick :Invalid password. $randread($main.reason_error); RETURN; }; IF (!strlen($npass) || npass == pass) { XQUOTE -S $serv NOTICE $nick :You already have a password set.; RETURN; }; @lice.set(main_PL$hand $npass); }{ @lice.set(main_PL$hand $pass); }; _proc.ul_save; XQUOTE -S $serv NOTICE $nick :Password set to '$lice.get(main_PL$hand)\'.; }; }; #tjh/11 lice5/lice/lice.fkeys0000644000175000017500000000271511542462257013133 0ustar timtim# # LICE.FKEYS v0.2 ircii script module for use with EPIC5 # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # ---------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.codehack.com # --------------------------------------------------------------------------- # Updated for EPIC5 by tjh IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; # default binding for the f1-f12 keys BIND -SYMBOLIC key_f1 PARSE_COMMAND {//WINDOW SWAP 1}; BIND -SYMBOLIC key_f2 PARSE_COMMAND {//WINDOW SWAP 2}; BIND -SYMBOLIC key_f3 PARSE_COMMAND {//WINDOW SWAP 3}; BIND -SYMBOLIC key_f4 PARSE_COMMAND {//WINDOW SWAP 4}; BIND -SYMBOLIC key_f5 PARSE_COMMAND {//WINDOW SWAP 5}; BIND -SYMBOLIC key_f6 PARSE_COMMAND {//WINDOW SWAP 6}; BIND -SYMBOLIC key_f7 PARSE_COMMAND {//WINDOW SWAP 7}; BIND -SYMBOLIC key_f8 PARSE_COMMAND {//WINDOW SWAP 8}; BIND -SYMBOLIC key_f9 PARSE_COMMAND {//WINDOW SWAP 9}; BIND -SYMBOLIC key_f10 PARSE_COMMAND {//WINDOW SWAP 10}; BIND -SYMBOLIC key_f11 PARSE_COMMAND {//WINDOW SWAP 11}; BIND -SYMBOLIC key_f12 PARSE_COMMAND {//WINDOW SWAP 12}; # These were HSOC's I suspect. I hope to add a user changeable feature for FKEYS. # You can always uncomment if you'd rather these! #BIND -SYMBOLIC key_f9 PARSE_COMMAND { CHANST }; #BIND -SYMBOLIC key_f10 PARSE_COMMAND { SC }; #BIND -SYMBOLIC key_f11 PARSE_COMMAND { SB }; #BIND -SYMBOLIC key_f12 PARSE_COMMAND { NOIG }; lice5/lice/lice.banlist0000644000175000017500000000574711542462257013456 0ustar timtim# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, UNLESS specified. Visit http://lice.codehack.com # --------------------------------------------------------------------------- # Updated for EPIC5 by tjh IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe;; ### Ban manipulation routines. ALIAS ban { UNLESS (@) { uecho Usage: /BAN [-a|-c|-h|-i|-f|-g|-p|-n|-u|-t ] ; uecho Usage: /BAN ; RETURN; }; @ :uban = lice.get(main.auto_unban); IF ([$2]) {^ASSIGN stampa 2}; WHILE (option = getopt(optopt optarg "achifgpsnt:u" $*)) { SWITCH ($option) { (a) {@ :type = strip(AU $type) ## [A]}; (i) {@ :type = strip(AI $type) ## [I]}; (c) {@ :type = strip(CHFPGSN $type) ## [C]}; (h) {@ :type = strip(HCFPGSN $type) ## [H]}; (f) {@ :type = strip(HFCPGSN $type) ## [F]}; (g) {@ :type = strip(HFCPGSN $type) ## [G]}; (p) {@ :type = strip(HFCPGSN $type) ## [P]}; (s) {@ :type = strip(HFCPGSN $type) ## [S]}; (n) {@ :type = strip(NFHCPGS $type) ## [N]}; (u) {@ :type = strip(UNA $type) ## [U]}; (t) {@ :uban = pass(0123456789 $optarg)}; }; }; UNLESS (strlen($type)) {@ :type = [N]}; @ :serv = winserv(); @ :old_uban = lice.get(main.auto_unban); @lice.set(main.auto_unban $uban); FE ($optarg) whom { IF (pass(!@. $whom)) { _proc.ban $C $serv $whom %; CONTINUE; }; @ :uh = get_uh($whom); UNLESS (strlen($uh)) { XECHO -B $whom: No such nick; CONTINUE; }; FEC ($type) opt { @ :ban = makeban(B$opt $whom!$uh); _proc.ban $C $serv $ban $whom; }; }; @lice.set(main.auto_unban $old_uban); }; # $0 = channel, $1 = serverindex, $2 = pattern, $3 = nick, [$4 = hash] ALIAS _proc.ban (chan,serv,opat,nick,phash) { @ :patt = uhc($opat); IF (patt == [*!*@*.*]) {RETURN}; XEVAL -S $serv { get_user_match $chan $patt temp_list; FE ($remw($servernick($serv) $temp_list)) ban { IF (ischanop($ban $chan)) {_proc.mode_add $serv $chan -o $ban}; }; }; #getmatches( ) #getrmatches( ) ^ASSIGN -temp_list; @ :hash = phash ? phash : hash_32bit($chan); @ :list = [B] ## serv ## [-] ## hash; @ :banx = getrmatches($list $patt); @ :bany = getmatches($list $patt*); @ :bans = uniq($banx $bany); @ :lame = 0; FE ($bans) ban { @ :str = word(0 $getitem($list $ban)); IF (str == patt) {@ :lame = 1}{_proc.mode_add $serv $chan -b $str}; }; UNLESS (lame) {_proc.mode_add $serv $chan +b $patt}; IF (stampa) { ^TIMER $stampa _proc.mode_flush $serv $chan; ^TIMER $stampa ^ASSIGN -stampa; }{_proc.mode_flush $serv $chan}; IF (lice.get(main.auto_unban) > 0) { @ setitem(AUTOUNBAN $numitems(AUTOUNBAN) ${time() + lice.get(main.auto_unban)} $serv $chan $patt); }; }; #tjh/10 lice5/lice/lice.binds0000644000175000017500000002016512126407634013105 0ustar timtim# # LICE.BINDS v1.5.6 ircii script module for use with EPIC5 # Copyright (C) 2000 SrfRoG (cag@codehack.com) # refurbished by UNKNOWN and HSOC to work with latest EPIC.4 # Refurbished cleaned and leaned by tjh to work with latest EPIC5 # # ---------------------------------------------------------------------- # Filename : LICE.BINDS # Description: emulate unix screen via ircii and some external commands. # Author : SrfRoG (cag@codehack.com) # Notes : This module was made specifically for LiCe v4.x # : tjh updated it to work specifically for LiCe v5.x # ---------------------------------------------------------------------- # All originally by code by SrfRoG, unless specified. Visit http://lice.muppetz.com # --------------------------------------------------------------------------- IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; # the various control commands. # we use ^W instead of ^A (screen) so we dont have conflicts # last win BIND ^Wa PARSE_COMMAND {//^WINDOW SWAP LAST}; BIND ^W^w PARSE_COMMAND {//^WINDOW SWAP LAST}; # balance (shared) BIND ^Wb PARSE_COMMAND { //WINDOW SHOW ${winnum()+1}; //WINDOW LAST; }; # create win BIND ^Wc PARSE_COMMAND {win_new}; BIND ^W^c PARSE_COMMAND {win_new}; # clear win BIND ^Wf {CLEAR_SCREEN}; # grow size (shared) BIND ^Wg PARSE_COMMAND {//WINDOW GROW 1}; # hide win (shared) BIND ^Wh PARSE_COMMAND {//WINDOW HIDE}; # info BIND ^Wi PARSE_COMMAND { IF (C) { echo.status \($geom()\)+$curpos() Channel: %C, Sets: $chan[$hash_32bit($C)][S], PID: $pid(); }{ echo.status \($geom()\)+$curpos() - PID: $pid(); }; }; # change win's channel BIND ^Wj PARSE_COMMAND { INPUT "Join channel [key, if needed]: " IF (@) { @ :chan = ischannel($0) ? [$0] : [#$0]; //JOIN $chan ${strlen($1) ? [$1-] : []}; win_new CHANNEL $chan NAME $chan; ^ON -WINDOW_KILL "$winnum($chan) %" { ^ASSIGN -chan_topic[$chanwin($1)$hash_32bit($1)]; IF (onchannel($servernick() $1)) {leave $1}; ^ON -WINDOW_KILL -"$0 %"; }; }; }; # kill current win BIND ^Wk PARSE_COMMAND {//WINDOW KILLSWAP}; # kill current win (shared) BIND ^WK PARSE_COMMAND {//WINDOW KILL}; # refresh win BIND ^Wl REFRESH_SCREEN; # next win BIND ^Wn PARSE_COMMAND {//WINDOW NEXT}; BIND "^W " PARSE_COMMAND {//WINDOW NEXT}; # lastmsg BIND ^Wm PARSE_COMMAND {echo.status}; # next win (shared) BIND ^WN NEXT_WINDOW; # previous win BIND ^Wp PARSE_COMMAND {//WINDOW PREVIOUS}; # previous win (shared) BIND ^WP PREVIOUS_WINDOW; # create query win BIND ^Wq PARSE_COMMAND {INPUT "Nick to query, = for CHAT: " IF (@) {win_new ADD $0 NAME $0 QUERY $0 DOUBLE OFF LEVEL NONE}}; # shrink size (shared) BIND ^Wr PARSE_COMMAND {//WINDOW SHRINK 1}; # server BIND ^Ws PARSE_COMMAND {INPUT "Server[:port[:password[:nick[:network[:IRC/IRC-SSL]]]]]: " IF (@) {win_new SERVER $0;}}; # time :) BIND ^Wt PARSE_COMMAND {echo.status Current time: $strftime($time() %a, %d \(%H:%M\) %b %Y [%Z])}; #$strftime($time() %c %Z) - http://lice.muppetz.com} # uptime / away time BIND ^Wu PARSE_COMMAND {echo.status Uptime: $tdiff2(${time() - F}) - Started: $strftime($F %c %Z)}; # list windows BIND ^Ww PARSE_COMMAND {//WINDOW LIST}; # prog version BIND ^Wv PARSE_COMMAND {echo.status LiCe v$id.v for EPIC5 - http://lice.muppetz.com }; # change win's name BIND ^Wy PARSE_COMMAND {INPUT "Set window's name to: " IF (@) {//^WINDOW NAME $0}}; # suspend BIND ^Wz STOP_IRC; # exec BIND ^W! PARSE_COMMAND {INPUT "Shell command (ENTER to cancel): " IF (@) {EXEC $*}}; # switch to another win BIND ^W' PARSE_COMMAND {INPUT "Switch to window [curr = $winnum()]: " IF (isdigit($0)) {//^WINDOW SWAP $0}}; # help BIND ^W? PARSE_COMMAND {HELP binds screen}; # opervision BIND ^Wo PARSE_COMMAND {_proc.screen_ov}; # lice partyline BIND ^WL PARSE_COMMAND {_proc.screen_pl}; # paste buffer BIND ^W> YANK_FROM_CUTBUFFER; # cut input buffer BIND ^W< ERASE_LINE; # quit BIND ^W\\\\ QUIT_IRC; # log win BIND ^WH PARSE_COMMAND {//WINDOW LOG TOGGLE}; # monitor win progress BIND ^WM PARSE_COMMAND {//WINDOW HOLD_MODE TOGGLE}; # next BIND ^W^` PARSE_COMMAND {//WINDOW NEXT}; # toggle beeping BIND ^W^G PARSE_COMMAND {//WINDOW BEEP_ALWAYS TOGGLE}; # licence BIND ^W, PARSE_COMMAND {HELP license}; # last win BIND ^W^X PARSE_COMMAND {//^WINDOW SWAP LAST}; # toggle double status for a single window BIND ^Wd PARSE_COMMAND {//^WINDOW DOUBLE TOGGLE}; # toggle double status for all windows BIND ^WD PARSE_COMMAND {FOR win in ($windowctl(REFNUMS)) {//^WINDOW $win DOUBLE TOGGLE};}; # jump to other windows BIND ^W1 PARSE_COMMAND {//^WINDOW SWAP 1}; BIND ^W2 PARSE_COMMAND {//^WINDOW SWAP 2}; BIND ^W3 PARSE_COMMAND {//^WINDOW SWAP 3}; BIND ^W4 PARSE_COMMAND {//^WINDOW SWAP 4}; BIND ^W5 PARSE_COMMAND {//^WINDOW SWAP 5}; BIND ^W6 PARSE_COMMAND {//^WINDOW SWAP 6}; BIND ^W7 PARSE_COMMAND {//^WINDOW SWAP 7}; BIND ^W8 PARSE_COMMAND {//^WINDOW SWAP 8}; BIND ^W9 PARSE_COMMAND {//^WINDOW SWAP 9}; BIND ^W0 PARSE_COMMAND {//^WINDOW SWAP 10}; # creates a window dedicated to shell ALIAS echo.status { @ temp.status_set = windowctl(GET 0 DOUBLE) ? [STATUS_FORMAT2] : [STATUS_FORMAT]; @ temp.status_data = getset($temp.status_set); ^TIMER 5 { ^STACK POP SET $temp.status_set; @ lice.set(*$temp.status_set $temp.status_data); ^ASSIGN -temp.status_set; ^ASSIGN -temp.status_data; }; ^STACK PUSH SET $temp.status_set; //^SET $temp.status_set [%R] ${@ ? [$*] : temp.last_msg}; ^ASSIGN temp.last_msg $*; }; ALIAS _proc.screen_pl { IF (winnam(PL) == [PL]) { XECHO -B There is already a Partyline window \($winnum(PL)\).; RETURN; }; win_new PL; //^WINDOW DOUBLE OFF STATUS_FORMAT "%T LiCe Partyline %>%F"; echo.status Partyline (PL) window activated. Kill window to quit.; }; ALIAS opervision {_proc.screen_ov}; ALIAS _proc.screen_ov { @ :serv = winserv(); @ :name = [OV] ## serv; IF (winnam($name) == name) { XECHO -B There is already an OperView window \($name\) for this server.; RETURN; }; win_new $name; //^WINDOW DOUBLE OFF SKIP ON LEVEL NONE STATUS_FORMAT "%T OperView on $servername($serv) %>%F"; ^ON ^WINDOW_KILL "$winnum($name) %" { //^WINDOW SWAP $rest(2 $1); @ :serv = mid(2 256 $0); echo.status OperVision (OV) on $servername($winserv()) window closed.; ^ON ^WINDOW_KILL -"$0 %"; }; echo.status OperVision (OV) window activated. Kill window to quit.; }; # to correctly swap our windows # SWITCH_WINDOWS: old screen, old window, new screen, new window ON ^SWITCH_WINDOWS * { //^WINDOW $3 LEVEL ALL; @ :chan = chanwin($3); IF (ischannel($chan)) {fmt.titlebar ${STATUS_DOES_EXPANDOS == [ON] ? [$$chan_topic[$3$hash_32bit($chan)]] : [$chan_topic[$3$hash_32bit($chan)]]}}; ^RLAG; }; ON ^SWITCH_CHANNELS * { @ :win = chanwin($2); UNLESS (isnumber($win)) {RETURN}; UNLESS (!(iswset(T)) || win == -1) { @ :hash = hash_32bit($2); IF ([$chan_topic[$win$hash]] == []) { @windowctl(SET $win TOPLINE 1 -- LiCe Titlebar [tm] --); }{ @windowctl(SET $win TOPLINE 1 $fmt.titlebar($chan_topic[$win$hash])); }; }; }; # to create new windows ON ^WINDOW_CREATE * { IF (iswset(T)) {WINDOW $0 TOPLINES 1}; //^WINDOW DOUBLE ${iswset(D)?[ON]:[OFF]} BEEP_ALWAYS ${iswset(B)?[ON]:[OFF]}; }; ALIAS win_new { //^WINDOW NEW ${@ ? (strlen($1) ? [$*] : [NAME $0]) : []} HIDE; //^WINDOW SWAP LAST; }; # Binds that make our lives easier. BIND ^[f PARSE_COMMAND {_proc.split_info}; BIND ^[e PARSE_COMMAND {_proc.split_jump 1}; BIND ^[1 PARSE_COMMAND {_proc.split_jump 1}; BIND ^[2 PARSE_COMMAND {_proc.split_jump 2}; BIND ^[3 PARSE_COMMAND {_proc.split_jump 3}; BIND ^[4 PARSE_COMMAND {_proc.split_jump 4}; BIND ^[5 PARSE_COMMAND {_proc.split_jump 5}; BIND ^X SWITCH_CHANNELS; BIND ^I PARSE_COMMAND {tab_completion}; BIND ^O PARSE_COMMAND {msg_completion /IGNORE}; BIND ^R PARSE_COMMAND {msg_completion /INVITE}; BIND ^[k PARSE_COMMAND {join $pop(temp.invite)}; #Old Skuld binds! BIND ^[l PARSE_COMMAND ppl; BIND ^[c PARSE_COMMAND CLEAR; ## it's good (HSOC wrote it) :p # I never doubted it's goodness for a second - tjh BIND ^[r PARSE_COMMAND {msg_completion /RTAB}; BIND ^[` PARSE_COMMAND {protect}; # Shortened Commands ALIAS ig {ignore $*}; ALIAS win {//WINDOW $*}; ALIAS fri {friend $*}; #HS/03 #tjh/12 #tjbh/13 lice5/lice/lice.adcc0000644000175000017500000004306411542462257012706 0ustar timtim# # LICE.ADCC v3.6.0 ircii script module for use with LiCe v4.x # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # ---------------------------------------------------------------------- # Filename : LICE.ADCC # Description: "Automated DCC" for use with ircii-EPIC5 # Handles all DCC SENDs in a queue for maximum byte rate # performance and reliability. # Author : SrfRoG (cag@codehack.com) # Notes : This code was written from scratch by me, keeping in mind # compatibility with the current XDCC/ircii-DCC standards. # It took a lot of time and testing to obtain the current # product. GIVE PROPER CREDIT IF YOU COPY. # * OR YOU WILL BURN IN HELL FOREVER! * }:> # ---------------------------------------------------------------------- # Updated for EPIC5 by tjh IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; ### Global variables used by ADCC. # Total bytes grabbed @ temp.dcc_leech_count = 0; # Transfer records. @ temp.dcc_speed_record = 0; # This command-list string allows third-party scripts to add more # functionality to ADCC, without having to break anything. @ temp.dcc_cmd_list = [EDIT HELP LIST NOTICE OFFER PLIST QUEUE REMOVE SAVE SEND SETUP STATUS]; ### ONs used by aDCC (by SrfRoG) # These two handle our ADCC pack requests ON ^MSG "% ?D?C *" {_proc.adcc_msg_parse $0 $userhost() $2-}; ON -CTCP "% % ?D?C *" {_proc.adcc_msg_parse $0 $userhost() $3-}; ON #-DCC_LOST 13 "% SEND % % TRANSFER COMPLETE" { IF ([$3] > temp.dcc_speed_record) { ^LOCAL nick $0; ^ASSIGN temp.dcc_speed_record $3; UNLESS (isdset(Q)) { #_proc.adcc_notice ; ^NOTICE $nick You just set a new speed record! A blazing $temp.dcc_speed_record KB/sec!; }; }; }; # ALIAS dcc {adcc $*}; ALIAS adcc { UNLESS (findw($0 $temp.dcc_cmd_list) == -1) { _proc.adcc_cmd_$0 $1-; }{//DCC $*}; }; # sends notices if the quiet mode is off ALIAS _proc.adcc_notice (nick,text) { @ :serv = servernum(); UNLESS (isdset(Q)) { _proc.quote_add $serv NOTICE $nick :$text; #NOTICE $text }; _proc.quote_flush $serv; }; # checks passwords on protected packs. ALIAS _proc.adcc_proc_pass (pak,pass) { IF (isdset(S)) { @ :tmp = getitem(PAKS $pak); UNLESS (word(2 $tmp) == []) { # The following function doesn't appear to work, even in LiCe4 for older EPIC. Need to debug this. TODO # @FUNCTION_RETURN = isset(P) ? setitem(PAKS $pak ${word(0 $tmp) + 1} $restw(1 $tmp)) : (word(2 $tmp) == pass) ? setitem(PAKS $pak ${word(0 $tmp) + 1} $restw(1 $tmp)) : -1; }{ @FUNCTION_RETURN = setitem(PAKS $pak ${word(0 $tmp) + 1} $restw(1 $tmp)); }; }{ @FUNCTION_RETURN = -1; }; }; # byte count ALIAS bytecount (bytes) { IF (bytes >= 1024) { ^STACK PUSH SET FLOATING_POINT_MATH; ^SET FLOATING_POINT_MATH ON; @ :xx = bytes / 1024.0; # @FUNCTION_RETURN = (xx >= 1024.0) ? (xx >= 1048576.0) ? trunc(3 ${xx / 1048576.0}) ## [GB] : trunc(3 ${xx / 1024.0}) ## [MB] : trunc(3 $xx) ## [KB]; # I think this is right! TODO - Check. @FUNCTION_RETURN = (xx >= 1024.0) ? ((xx >= 1048576.0) ? (trunc(3 ${xx / 1048576.0}) ## [GB]) : trunc(3 ${xx / 1024.0}) ## [MB]) : trunc(3 $xx) ## [KB]); ^STACK POP SET FLOATING_POINT_MATH; }{ @FUNCTION_RETURN = bytes ## [B]; }; }; # display pack list ALIAS _proc.adcc_cmd_list { iecho ------- aDCC Offer Pack Information -----------------------------------; iecho Num. Description; FOR (@ :xx = 0, numitems(PAKS) > xx, @ :xx++) { @ :pak = getitem(PAKS $xx); @ :tot = numitems(PAK$xx); @ :get = word(0 $pak); iecho [$[-2]{xx + 1}] \"$restw(3 $pak)\"; iecho $tot file$plural($tot)\, $bytecount($word(1 $pak)), $get get$plural($get)\, password=\"$word(2 $pak)\"; }; }; # HELP! ALIAS _proc.adcc_cmd_help {HELP adcc}; # DCC SEND files (wildcards and spaces allowed) ALIAS _proc.adcc_cmd_send { UNLESS (strlen($1)) { //DCC SEND; XECHO -B Wildcarded filenames are valid. Filenames with spaces must be "enclosed in quotes".; RETURN; }; ^LOCAL nick $0; @ :list = glob($1-); IF (strlen($list)) { FE ($list) xx { @ :file = urlencode($xx); @ :test = finditem(DQSEND $nick $file); IF (test >= 0) {@ delitem(DQSEND $test)}; queue.add DQSEND $main.dcc_send_queue $nick $file; }; @ :test = numwords($list); ECHO $fmt.banner_dcc() Auto: DCC QSEND $test file$plural($test) to $nick; UNLESS (isdset(Q)) { ###^NOTICE _proc.adcc_notice $nick You have $test file$plural($test) queued for DCC AutoSEND...; _proc.adcc_notice $nick To view your queue: /MSG $N aDCC QUEUE, to cancel files: /MSG $N aDCC CANCEL; }; _proc.dcc_queue_check; }{ XECHO -B No matching files where found.; }; }; # creates file offer packs. ALIAS _proc.adcc_cmd_offer { INPUT "Offer path/files (ENTER cancels): " IF (@) { # @ :list = uniq($glob($*)); @ :list = glob($*); UNLESS (strlen($list)) { XECHO -B No matching files found.; RETURN; }; INPUT "Pack description (ENTER cancels): " IF (@) { @ :desc = [$*]; @ :size = 0; @ :paks = numitems(PAKS); FE ($list) xx { @ :yy = fsize(\"$xx\"); IF (setitem(PAK$paks $numitems(PAK$paks) $urlencode($xx) $yy) >= 0) { @ :size += yy; }; }; @ :file = numitems(PAK$paks); INPUT "Password for pack #${paks + 1} (ENTER skips): " { @ :pass = @ ? left(8 $0) : []; IF (setitem(PAKS $paks 0 $size $pass $desc) >= 0) { iecho ------- Details of aDCC Pack #$[2]{paks + 1} --------------------------------------; iecho Description : $desc; iecho Files : $bytecount($size) in $file file$plural($file); iecho Password : \"$pass\"; }{ @delarray(PAK$paks); XECHO -B An error occurred while creating the pack. Aborted.; }; }; }{ XECHO -B No pack description given, pack creation aborted.; }; }; }; # edit the fields of any offer pack. ALIAS _proc.adcc_cmd_edit { UNLESS (numitems(PAKS)) { XECHO -B There are no packs offered.; _proc.adcc_cmd_offer; RETURN; }; _proc.adcc_cmd_list; INPUT "Pack # to edit (ENTER to cancel): " IF (isnumber($0) && [$0] <= numitems(PAKS)) { @ :tmp1 = pass(0123456789 $0) - 1; @ :tmp2 = getitem(PAKS $tmp1); @ :gets = word(0 $tmp2); @ :size = word(1 $tmp2); @ :pass = word(2 $tmp2); @ :desc = restw(3 $tmp2); INPUT "New description for pack (ENTER to skip): " IF (@) {@ :desc = [$*]}; INPUT "New offer path/files (ENTER to skip): " IF (@) { # @ :list = uniq($glob($*)) @ :list = glob($*); IF (strlen($list)) { @ :size = 0; FE ($list) xx { @ :yy = fsize(\"$xx\"); IF (setitem(TMP$tmp1 $numitems(TMP$tmp1) $urlencode($xx) $yy) >= 0) { @ :size += yy; }; }; @ :gets = 0; }{ XECHO -B No matching files found. Old list unchanged.; }; }; INPUT_CHAR "Reset get counter? (y/n): " IF ([$0]==[Y]) {@ :gets = 0}; INPUT "New password for pack (ENTER to skip, * to delete): " { IF (@) {@ :pass = ([$0]==[*]) ? [] : left(8 $0)}; IF (setitem(PAKS $tmp1 $gets $size $pass $desc) >= 0) { IF (numitems(TMP$tmp1) > 0) { @ delarray(PAK$tmp1); FE ($jot(0 ${numitems(TMP$tmp1) - 1})) xx { @ setitem(PAK$tmp1 $xx $getitem(TMP$tmp1 $xx)); }; @ :file = numitems(PAK$tmp1); }; iecho ------- Details of aDCC Pack #$[2]{tmp1 + 1} --------------------------------------; iecho Description : $desc; iecho Files : $bytecount($size) in $file file$plural($file); iecho Password : \"$pass\"; }{ XECHO -B An error occurred while editing the pack. Aborted.; }; @ delarray(TMP$tmp1); }; }{ XECHO -B That pack does not exists; }; }; # removes any pack created previously ALIAS _proc.adcc_cmd_remove { UNLESS (numitems(PAKS)) { XECHO -B There are no packs offered.; RETURN; }; _proc.adcc_cmd_list; INPUT "Pack # to remove, * for all (ENTER to cancel): " IF (@) { IF (isnumber($0)) { IF ([$0] <= numitems(PAKS)) { @ :tmp1 = pass(0123456789 $0) - 1; XECHO -B Removing aDCC offer pack #${tmp1 + 1}\...; @ delarray(PAK$tmp1); @ delitem(PAKS $tmp1); }{ XECHO -B Invalid pack number, range is 1 - $numitems(PAKS); } }{ INPUT_CHAR "Confirm to purge all offer packs? (y/n) " IF ([$0]==[Y]) { @ :tot = numitems(PAKS); FE ($jot(0 ${tot - 1})) xx {@ delarray(PAK$xx)}; @ delarray(PAKS); XECHO -B A total of $tot pack$plural($tot) removed.; }{ XECHO -B No packs removed.; }; }; }; }; # saves offer pack list for later use. ALIAS _proc.adcc_cmd_save { UNLESS (numitems(PAKS)) { XECHO -B There are no packs created.; RETURN; }; INPUT "Path/file to save offerlist (ENTER cancels): " IF (@) { @ :path = pass(/ $0) ? [$0] : twiddle(~/$0); XECHO -B Saving pack list: $path; ^EXEC -close %save_paks; ^EXEC -name save_paks cat > $path; ^EXEC -in %save_paks XECHO -B Recreating file packs...; ^EXEC -in %save_paks # Offerfile created on: $stime($time()); ^EXEC -in %save_paks DO FE \(\$jot\(0 \${numitems(PAKS) - 1}\)\) xx \{@ delarray\(PAK\$xx\)\}; ^EXEC -in %save_paks @ delarray(PAKS); @ :tmp1 = numitems(PAKS) - 1; FE ($jot(0 $tmp1)) xx { @ :tmp2 = numitems(PAK$xx) - 1; FE ($jot(0 $tmp2)) yy { ^EXEC -in %save_paks @ setitem\(PAK$xx $yy $getitem(PAK$xx $yy)\); }; ^EXEC -in %save_paks @ setitem\(PAKS $xx $getitem(PAKS $xx)\); }; ^EXEC -in %save_paks XECHO -B Done. $numitems(PAKS) pak$plural($numitems(PAKS)) recreated.; ^EXEC -in %save_paks ^ASSIGN temp.dcc_leech_count $temp.dcc_leech_count; ^EXEC -in %save_paks ^ASSIGN temp.dcc_speed_record $temp.dcc_speed_record; ^EXEC -close %save_paks; XECHO -B Save done. To use this save file, type: "/LOAD $path\"; }; }; # sends a notice to your current channel(s) that you have files offered. ALIAS _proc.adcc_cmd_plist { UNLESS (numitems(PAKS)) { XECHO -B There are no packs created.; RETURN; }; # @ :cmd = @ ? ([$0]==[*]) ? [MSAY] : [^MSG $0] : [SAY]; ## Messy, but it works! TODO if (@) { if ([$0] == "*") {@:cmd = [MSAY]}{@:cmd=[MSG $0]}; }{ @:cmd = [MSAY]; }; ### TODO learn to format the above! @ :slots = main.dcc_active_limit - temp.dcc_active; IF (slots < 0) {@ :slots = 0}; @ :queue = main.dcc_send_queue - numitems(DQSEND); IF (queue < 0) {@ :queue = 0}; @ :tot = numitems(PAKS); IF (temp.dcc_active < main.dcc_active_limit) { $cmd ## $tot pack$plural($tot) offered: /msg $N adcc send n for pack [n]; $cmd ## slots ${slots}/$main.dcc_active_limit : queue ${queue}/$main.dcc_send_queue : leeched $bytecount($temp.dcc_leech_count)\ : record $temp.dcc_speed_record\KB/s; @ tot--; FE ($jot(0 $tot)) xx { @ :tmp = getitem(PAKS $xx); $cmd # [${xx + 1}] $numitems(PAK$xx)\f/$bytecount($word(1 $tmp))/$word(0 $tmp)\x $restw(3 $tmp); }; }{ $cmd ## $tot pack$plural($tot) offered: /msg $N adcc list for list; $cmd ## slots ${slots}/$main.dcc_active_limit : queue ${queue}/$main.dcc_send_queue : leeched $bytecount($temp.dcc_leech_count)\ : record $temp.dcc_speed_record\KB/s; }; }; ALIAS _proc.adcc_cmd_notice { @ :old_dcc_active = temp.dcc_active; @ temp.dcc_active = 99999; _proc.adcc_cmd_plist $*; @ temp.dcc_active = old_dcc_active; }; # lists contents of the ADCC QUEUE and allows removal of items ALIAS _proc.adcc_cmd_queue { UNLESS (numitems(DQSEND)) { XECHO -B No items set for DCC SEND in queue.; RETURN; }; IF (left(2 $0) == [-r]) { @ :pat = strlen($1) ? [$1-] : [*]; @ :cnt = 0; WHILE (:item = getitem(DQSEND $cnt)) { IF (match($pat $item)) {@delitem(DQSEND $cnt)}{@:cnt++}; }; iecho Removed all items matching \"$pat\" from DCC AutoSEND queue.; }{ iecho ------- aDCC AutoSEND Queue Status ------------------------------------; iecho Num. Whom What; iecho ----+---------+-----------------------------------; @ :cnt = numitems(DQSEND); FE ($jot(0 ${cnt - 1})) cq1 { @ :tmp = getitem(DQSEND $cq1); @ :fn = urldecode($word(1 $tmp)); iecho [$[-2]{cq1 + 1}] $[9]word(0 $tmp) $fn $bytecount($fsize(\"$fn\")); }; }; }; # shows your current configuration. ALIAS _proc.adcc_cmd_status { UNLESS (@) { if (numitems(PAKS)) {_proc.adcc_cmd_list}; }; iecho ------- Current aDCC Configuration ------------------------------------; iecho [ 1] AutoSEND timeout : $tdiff($DCC_TIMEOUT); iecho [ 2] Active DCC limit : $main.dcc_active_limit transfer$plural($main.dcc_active_limit); iecho [ 3] AutoSEND queue limit: $main.dcc_send_queue file$plural($main.dcc_send_queue); iecho [ 4] AutoGET queue limit : $main.dcc_get_queue file$plural($main.dcc_get_queue); iecho [ 5] Download path : $twiddle($dcc_store_path); }; # change the ADCC configuration. ALIAS _proc.adcc_cmd_setup { INPUT "[ 1] AutoSEND/GET timeout (in minutes): " IF (isnumber($0) && [$0] > 0) {^SET DCC_TIMEOUT ${[$0] * 60}}; INPUT "[ 2] Active DCC limit: " IF (isnumber($0) && [$0] > 0) {^ASSIGN main.dcc_active_limit $0}; INPUT "[ 3] AutoSEND queue limit: " IF (isnumber($0)) {^ASSIGN main.dcc_send_queue $0}; INPUT "[ 4] AutoGET queue limit: " IF (isnumber($0)) {^ASSIGN main.dcc_get_queue $0}; INPUT "[ 5] DCC GET download path: " IF (@) {^SET DCC_STORE_PATH $*}; _proc.adcc_cmd_status NO; }; # All ADCC MSG commands for FileServer (Orig. SrfRoG) # main command parser ALIAS _proc.adcc_msg_parse { IF (!numitems(PAKS) && !numitems(DQSEND)) {RETURN}; UNLESS (findw($2 CANCEL LIST QUEUE SEND) == -1) {_proc.adcc_msg_$2 $0 $1 $3 $4}{ IF (!isdset(Q) && !ischannel($0)) { @ :serv = servernum(); @ :nick = servernick($serv); _proc.quote_add $serv NOTICE $0 :/MSG $nick aDCC LIST - list you my offered packs; IF (temp.dcc_active > main.dcc_active_limit) { _proc.quote_add $serv NOTICE $0 :/MSG $nick aDCC SEND  - to send you offer pack ; }; IF (numitems(DQSEND) > 0) { _proc.quote_add $serv NOTICE $0 :/MSG $nick aDCC CANCEL - cancel all queued AutoSEND requests; _proc.quote_add $serv NOTICE $0 :/MSG $nick aDCC QUEUE - lists any files you have queued; }; _proc.quote_flush $serv; ECHO $fmt.banner_dcc() aDCC HELP requested from $0 \($1\); }; }; }; # allows users to close pending DCC SENDs that were queued. ALIAS _proc.adcc_msg_cancel (nick,uh,pak,pass) { UNLESS (numitems(DQSEND)) { _proc.adcc_notice $nick No files queued for DCC SEND for you.; RETURN; }; @ :num = 0; @ :cnt = 0; WHILE (:item = getitem(DQSEND $cnt)) { IF (nick == word(0 $item)) {@delitem(DQSEND $cnt);@:num++}{@:cnt++}; }; IF (num > 0) { _proc.adcc_notice $nick A total of $num queued file$plural($num) canceled.; ECHO $fmt.banner_dcc() aDCC CANCEL request \($num file$plural($num)\) from $nick \($uh\); }{ _proc.adcc_notice $nick No files queued for DCC SEND for you.; }; }; # lists your file offer packs to someone. ALIAS _proc.adcc_msg_list (nick,uh,pak,pass) { IF (isdset(Q)) { ECHO $fmt.banner_dcc() aDCC LIST pack request from $nick denied by QUIET MODE.; }{ _proc.adcc_cmd_plist $nick; ECHO $fmt.banner_dcc() aDCC LIST pack request from $nick \($uh\); }; }; # shows a user's position in queue ALIAS _proc.adcc_msg_queue (nick,uh,pak,pass) { IF (isdset(Q)) { ECHO $fmt.banner_dcc() aDCC QUEUE list request from $nick denied by QUIET MODE.; RETURN; }; @ :serv = servernum(); @ :tot = numitems(DQSEND); @ :fm = getmatches(DQSEND $nick *); FE ($midw(0 5 $fm)) xx { @ :fn = urldecode($word(1 $getitem(DQSEND $xx))); @ :fp = chr(2) ## mid(${rindex(/ $fn) + 1} 256 $fn) ## chr(2); _proc.quote_add $serv NOTICE $nick :Slot ${xx+1}/$tot \"$fp\" \($bytecount($fsize(\"$fn\"))\); }; IF (numwords($fm) == 0) { _proc.quote_add $serv NOTICE $nick :No queued AutoSENDs for you.; } ELSIF (numwords($fm) > 5) { _proc.quote_add $serv NOTICE $nick :You queue has 5+ items \($numwords($fm)\) - list truncated; }; _proc.quote_flush $serv; ECHO $fmt.banner_dcc() aDCC QUEUE list request from $nick \($uh\); }; # sends pack(s) to someone ALIAS _proc.adcc_msg_send (nick,uh,pak,pass) { IF (ischannel($nick)) {RETURN}; @ :qsend = numwords($getmatches(DQSEND $nick *)); @ :idx = pass(0123456789 $pak) - 1; IF (!qsend && numitems(PAKS) > idx) { IF (_proc.adcc_proc_pass($idx $pass) >= 0) { @ :tot = numitems(PAK$idx) - 1; ECHO $fmt.banner_dcc() aDCC SEND #${idx + 1} request from $nick \($uh\); FE ($jot(0 $tot)) xx { @ :file = word(0 $getitem(PAK$idx $xx)); @ :test = finditem(DQSEND $nick $file); IF (test >= 0) {@ delitem(DQSEND $test)}; queue.add DQSEND $main.dcc_send_queue $nick $file; @ :test = urldecode($file); @ temp.dcc_leech_count += fsize(\"$test\"); @ :qsend++; }; _proc.dcc_queue_check; ECHO $fmt.banner_dcc() Auto: DCC QSEND $qsend file$plural($qsend) to $nick; }{ IF (isdset(S)) {_proc.adcc_notice $nick You are not authorized to get pak #${idx + 1}}; }; }; IF (qsend > 0 && !isdset(Q)) { ###^NOTICE _proc.adcc_notice $nick You have $qsend file$plural($qsend) queued for DCC AutoSEND...; _proc.adcc_notice $nick To view your queue: /MSG $servernick() aDCC QUEUE, to cancel send: /MSG $servernick() aDCC CANCEL; }; }; # we need the queue routines LOAD -pf $LiCePath/lice/lice.dcclist; lice5/lice/lice.tab_comp0000644000175000017500000000544511542462257013601 0ustar timtim# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.codehack.com # --------------------------------------------------------------------------- # Updated for EPIC5 by tjh IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; #XXX - TODO: sub-command layers. ie., /DCC SE -> /DCC SEND # Nick completion layer ALIAS nick_comp (word) { @ :list = pattern(${word}* $chanusers($C)); @FUNCTION_RETURN = strlen($list) ? list : file_comp($word); }; # Channel completion layer ALIAS chan_comp (word) { @ :list = pattern(${word}* $mychannels()); @FUNCTION_RETURN = strlen($list) ? list : file_comp($word); }; # File completion layer ALIAS file_comp (word) {@FUNCTION_RETURN = glob(\"${word}*\")}; # Operations for files ALIAS isfile (fn) {@FUNCTION_RETURN = !!pass(+=\$'\;%!@*~/,.:\"#&? $fn)}; ALIAS file_prefix (word) { @ :ret = prefix($word); @ :ret = (index(" " $word(0 $word)) == -1) ? ret : [\"] ## ret ## [\"]; @FUNCTION_RETURN = ret; }; ALIAS my_prefix (wn) {@FUNCTION_RETURN = isfile($wn) ? file_prefix($wn) : prefix($wn)}; # This splits our input line and inserts the completion ALIAS word_completion (pos) { ^LOCAL oline $L; @ :wpos = indextoword(${pos - 1} $oline); @ :word = word($wpos $^\oline); @ :s_bot = rest($pos $oline); @ :s_top = mid(0 $wordtoindex($wpos $oline) $oline); IF (ischannel($word)) { @ :comp = chan_comp($word); @ :num = numwords($comp); @ :word = (num > 1) ? my_prefix($comp) : comp; } ELSIF (isfile($word)) { @ :comp = file_comp($word); @ :num = numwords($comp); @ :word = (num > 1) ? file_prefix($comp) : comp; } ELSE { @ :comp = nick_comp($word); @ :num = numwords($comp); @ :word = num ? ((num > 1) ? my_prefix($comp) : (strlen($s_top) || isfile($comp)) ? comp : fmt.talk_reply($comp) # [ ]) : comp; }; UNLESS (num) {RETURN}; PARSEKEY ERASE_LINE; @ :nline = s_top ## word ## s_bot; XTYPE -L $nline; IF (num == 1) {RETURN}; XECHO -B Possible matches:; IF (maxlen($comp) > 10) { FE ($comp) x1 {ECHO $pad(4 " ") $x1}; }{ echo.recursive $comp; }; }; # msg completion module ALIAS msg_completion (cmd) { @ :serv = winserv(); IF (serv < 0) {RETURN}; @ :nick = shift(tabnick[$serv]); IF (strlen($nick)) { PUSH tabnick[$serv] $nick; PARSEKEY ERASE_LINE; @ :nick #= [ ]; XTYPE -L $cmd $nick; }; }; # tab completion routine # XXX - we can go more broad here by adding # command-specific options. ALIAS tab_completion { IF (!L || (word(0 $L) == [/MSG] && numwords($L) == 2)) { msg_completion /MSG; }{ word_completion $curpos(); }; }; #tjh/09 lice5/lice/lice.ulw_invite0000644000175000017500000000263711542462257014202 0ustar timtim# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.codehack.com # --------------------------------------------------------------------------- # Updated for EPIC5 by tjh IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; # !INVITE command ALIAS _proc.ulw_invite (nick,uh,serv,pass,chan) { @ :myhand = find_in_list(User $nick!$uh); UNLESS (myhand) {RETURN}; FE ($myhand) hand { UNLESS (lice.get(main_PL$hand)) { XQUOTE -S $serv NOTICE $nick :You don't have a password set. Type: /MSG $servernick($serv) !HELP PASS; RETURN; }; IF (pass != lice.get(main_PL$hand)) { XQUOTE -S $serv NOTICE $nick :Invalid password. $randread($main.reason_error); RETURN; }; @ :chan_list = strlen($chan) ? chan : mychannels($serv); XEVAL -S $serv { FE ($chan_list) cn { IF (onchannel($nick $cn) || !ischanop($servernick() $cn) || !iscset(P $hash_32bit($cn))) {CONTINUE}; @ :test = (word(0 $getitem(ChanUser$hand 0)) == [#*]) ? 0 : matchitem(ChanUser$hand $cn *); IF (test < 0) {CONTINUE}; @ :mode = word(1 $getitem(ChanUser$hand $test)); IF (mode & 16) {_proc.quote_add $serv INVITE $nick $cn}; }; }; }; _proc.quote_flush $serv; }; #tjh/09 lice5/lice/lice.epic50000644000175000017500000005572012122766142013016 0ustar timtim# This is just a bunch of the default scripts that came with epic5-1.0 # Original authors names are intact and I claim no credit for this. # Thanks to all the epic contributors for this. # # The copyrights are all intact but I have removed all extra comments. if (word(2 $loadinfo()) != [pf]) { load -pf $word(1 $loadinfo()); return; }; # Silence DCC Noise! ^ON ^WINDOW '% \$BANNER A\ non-blocking\ connect*' #; # Written by David B. Kratter (BlackJac@EFNet) # Version: 1.0.2005.06.25.1 alias addset (name, type, ...) { if (@name && type) { @ symbolctl(create $name); @ symbolctl(set $name 1 builtin_variable type $type); if (@) { @ symbolctl(set $name 1 builtin_variable script $*); }; }; }; alias delset (name, void) { if (@name) { @ symbolctl(delete $name builtin_variable); @ symbolctl(check $name); }; }; # Copyright (c) 2007 BlackJac@EFNet # Version: 1.2.2007.09.28.1 alias history (index, void) { xecho -b -c Command History:; if (index > (:numitems = numitems(array.history)) || !index) { @ index = numitems; }; if (index > 0) { fe ($jot(0 ${index - 1} 1)) hh { @ :item = getitem(array.history $hh); xecho -c $hh${getset(history_timestamp) == 'on' ? " \[$word(3 $stime($word(0 $item)))\] " : "\: "}$restw(1 $item); }; }; }; alias history.add (...) { if (@) { if (getset(history_remove_dupes) == 'on') { @ delitems(array.history $getmatches(array.history % $*)); @ delitems(array.history $getmatches(array.history % $* )); }; if (numitems(array.history) == history) { @ delitem(array.history 0); }; @ setitem(array.history $numitems(array.history) $time() $*); @ history.index = ''; }; }; alias history.erase (void) { @ history.index = ''; parsekey reset_line; }; alias history.get (direction, void) { if (direction == 1) { if (@L && @history.index == 0) { history.add $L; }; if ((history.index == (:numitems = numitems(array.history) - 1) || @history.index == 0)) { if (getset(history_circleq) == 'on') { history.show 0; } else { history.erase; }; } else if (history.index < numitems && @history.index) { history.show ${history.index + 1}; }; } else if (direction == -1) { if (@L && @history.index == 0) { history.add $L; @ history.index = numitems(array.history) - 1; }; if ((history.index == 0 && getset(history_circleq) == 'on') || @history.index == 0) { history.show ${numitems(array.history) - 1}; } else if (history.index > 0) { history.show ${history.index - 1}; }; }; }; alias history.shove (void) { history.add $L; parsekey reset_line; }; alias history.show (index, void) { if (@index) { @ history.index = index; parsekey reset_line $restw(1 $getitem(array.history $history.index)); }; }; alias historyctl (action, ...) { switch ($action) { (add) { if (history) { history.add $*; return 1; }; return 0; }; (delete) { @ delitem(array.history $0); }; (get) { return $restw(1 $getitem(array.history $0)); }; (index) { if (strlen($getitem(array.history $0))) { @ history.index = *0; return 1; }; return 0; }; (read) { if ((:fd = open("${*0 ? *0 : getset(history_save_file)}" R)) > -1) { while (:line = read($fd)) { if (numitems(array.history) == history) { @ delitem(array.history 0); }; @ setitem(array.history $numitems(array.history) $line); }; @ close($fd); return $fd; }; }; (reset) { @ history.index = ''; @ delarray(array.history); }; (save) { if ((:fd = open("${*0 ? *0 : getset(history_save_file)}" W)) > -1) { fe ($jot(0 ${numitems(array.history) - 1} 1)) hh { @ write($fd $getitem(array.history $hh)); }; @ close($fd); return $fd; }; }; (set) { ^set history $0; return 1; }; }; }; alias sendline (...) { if (@) { history.add $*; //sendline $*; }; }; @ bindctl(function BACKWARD_HISTORY create "history.get -1"); @ bindctl(function ERASE_HISTORY create history.erase); @ bindctl(function FORWARD_HISTORY create "history.get 1"); @ bindctl(function SHOVE_TO_HISTORY create history.shove); fe (N [OB [[B) hh { @ bindctl(sequence ^$hh set forward_history); }; fe (P [OA [[A) hh { @ bindctl(sequence ^$hh set backward_history); }; @ bindctl(sequence ^U set erase_history); ^on ^input "/!*" { @ :find = after(! $0); if (isnumber($find)) { if (:found = getitem(array.history $find)) { xtype -l $restw(1 $found)${*1 ? "$1-" : ""}; } else { xecho -b -c No such history entry: $find; }; } else if (:found = getmatches(array.history % /$find*) ## ' ' ## getmatches(array.history % $find*)) { @ :index = rightw(1 $numsort($found)); if (getset(history_save_position) == 'on') { @ history.index = index; }; xtype -l $restw(1 $getitem(array.history $index))${*1 ? " $1-" : ""}; } else { xecho -b -c No match; }; }; addset history int { if (*0 == 0) { @ delarray(array.history); @ history.index = ''; ^bind ^] nothing; ^on #input 2 -"*"; ^on #input 2 -"/!*"; } else if (@) { if (numitems(array.history) > history) { until (numitems(array.history) == history) { @ delitem(array.history 0); }; }; ^bind ^] shove_to_history; ^on #-input 2 "*" { history.add $*; }; ^on #-input 2 "/!*" #; }; }; set history 150; addset history_circleq bool; set history_circleq on; addset history_persistent bool { if (*0 == 'on') { ^on #-exit 2 "*" { @ historyctl(save $getset(history_save_file)); }; } else if (@) { ^on #exit 2 -"*"; }; }; set history_persistent off; addset history_save_file str; set history_save_file ~/.epic_history; addset history_remove_dupes bool; set history_remove_dupes off; addset history_save_position bool; set history_save_position on; addset history_timestamp bool; set history_timestamp off; if (getset(history_persistent) == 'on' && fexist("$getset(history_save_file)") == 1) { @ historyctl(read $getset(history_save_file)); }; # Copyright (c) 2007 BlackJac@EFNet # Version: 1.9.2007.09.28.2 alias bye (...) { //quit $*; }; alias date (...) { //time $*; }; alias exit (...) { //quit $*; }; alias host (...) { //userhost $*; }; alias irchost (...) { //hostname $*; }; alias ircname (...) { //^set realname $*; }; alias ircuser (...) { //^set default_username $*; }; alias leave (...) { //part $*; }; alias realname (...) { //set realname $*; }; alias signoff (...) { //quit $*; }; alias whowas (nick, args default "$getset(num_of_whowas)") { //whowas $nick $args; }; # FUNCTIONS # alias b64decode (...) { return $xform(-B64 $*); }; alias b64encode (...) { return $xform(+B64 $*); }; alias decode (...) { return $xform(-ENC $*); }; alias encode (...) { return $xform(+ENC $*); }; alias igmask (pattern, void) { return $ignorectl(pattern $pattern); }; alias igtype (pattern, void) { fe ($ignorectl(get $ignorectl(refnum $pattern) levels)) ii { push function_return ${ii =~ [+*] ? [$rest(1 $ii)] : sar(#/##$sar(#^#DONT-#$ii))}; }; }; alias lastserver (void) { return $serverctl(last_server); }; alias myservers (arg, void) { fe ($serverctl(omatch *)) mm { if (serverctl(get $mm connected)) { push :servers $mm; }; }; fe ($servers) nn { push function_return ${@arg ? nn : servername($nn)}; }; }; alias notifywindows (void) { fe ($windowctl(refnums)) nn { if (windowctl(get $nn notified)) { push function_return $nn; }; }; }; alias rigmask (pattern, void) { return $ignorectl(rpattern $pattern); }; alias rigtype (...) { return $ignorectl(with_type $*); }; alias sedcrypt (encode, who, ...) { if (!(:val = encryptparm(who))) { return; }; @ :key = word(1 $val); if (encode == 1) { return $xform(+SED $key $who $*); } else if (encode == 0) { return $xform(-SED $key $who $*); }; return; }; alias servergroup (refnum default "$serverctl(from_server)", void) { if (:group = serverctl(get $refnum group)) { return $group; }; return ; }; alias servername (refnum default "$serverctl(from_server)", void) { if (:name = serverctl(get $refnum itsname)) { return $name; }; return ; }; alias servernick (refnum default "$serverctl(from_server)", void) { return $serverctl(get $refnum nickname); }; alias servernum (refnum default "$serverctl(from_server)", void) { if ((:num = serverctl(refnum $refnum)) >= -1) { return $num; }; return -1; }; alias serverourname (refnum default "$serverctl(from_server)", void) { if (:ourname = serverctl(get $refnum name)) { return $ourname; }; return ; }; alias servertype (refnum default "$serverctl(from_server)", void) { return $serverctl(get $refnum protocol); }; alias servports (refnum default "$serverctl(from_server)", void) { return $serverctl(get $refnum port) $serverctl(get $refnum localport); }; alias sha256 (...) { return $xform(+SHA256 $*); }; alias urldecode (...) { return $xform(-URL $*); }; alias urlencode (...) { return $xform(+URL $*); }; alias winbound (winnum default 0, void) { return; }; alias wincursorline (winnum default 0, void) { if ((:cursorline = windowctl(get $windowctl(refnum $winnum) cursor)) >= -1) { return $cursorline; }; return -1; }; alias winlevel (winnum default 0, void) { return $windowctl(get $windowctl(refnum $winnum) window_level); }; alias winline (linenum, winnum default 0, void) { if ((:line = windowctl(get $windowctl(get refnum $winnum) line $linenum)) >= -1) { return $line; }; return -1; }; alias winnam (winnum default 0, void) { return $windowctl(get $windowctl(refnum $winnum) name); }; alias winnicklist (winnum default 0, void) { return $windowctl(get $windowctl(refnum $winnum) nicklist); }; alias winnum (winnum default 0, void) { if (:num = windowctl(get $windowctl(refnum $winnum) refnum)) { return $num; }; return -1; }; alias winquery (winnum default 0, void) { return $windowctl(get $windowctl(refnum $winnum) query); }; alias winrefs (void) { return $windowctl(refnums); }; alias winscreen (winnum default 0, void) { if ((:screen = windowctl(get $windowctl(refnum $winnum) screen)) >= -1) { return $screen; }; return -1; }; alias winscrollbacksize (winnum default 0, void) { if ((:scrollbacksize = windowctl(get $windowctl(refnum $winnum) display_buffer_size)) >= -1) { return $scrollbacksize; }; return -1; }; alias winserv (winnum default 0, void) { if ((:serv = windowctl(get $windowctl(refnum $winnum) server)) >= -2) { return $serv; }; return -1; }; alias winsize (winnum default 0, void) { return $windowctl(get $windowctl(refnum $winnum) display_size); }; alias winstatsize (winnum default 0, void) { if ((:statsize = windowctl(get $windowctl(refnum $winnum) double)) > -1) { return ${statsize + 1}; }; return -1; }; alias winvisible (winnum default 0, void) { if ((:visible = windowctl(get $windowctl(refnum $winnum) visible)) >= -1) { return $visible; }; return -1; }; # HOOKS # ^on ^send_public "*" { echo ${!iscurchan($0) ? (*) : ''}> $1-; }; # SETS # # AUTO_NEW_NICK # Copyright (c) 2005 David B. Kratter (BlackJac@EFNet) # Version: 1.0.2005.05.16.1 alias newnick.mangle (nick, void) { @ :length = getset(auto_new_nick_length); return ${@nick < length ? nick ## getset(auto_new_nick_char) : right(1 $nick) ## mid(0 ${length - 1} $nick)}; }; ^on ^new_nickname "*" { if (getset(auto_new_nick) == [on]) { if (:nicklist = getset(auto_new_nick_list)) { if (!(:nick = word(${findw($2 $nicklist) + 1} $nicklist))) { @ :nick = newnick.mangle($2); }; } else { @ :nick = newnick.mangle($2); }; xeval -s $0 nick $nick; } else { input "Nickname: " { nick $0; }; }; }; addset auto_new_nick bool; set auto_new_nick on; addset auto_new_nick_char char; set auto_new_nick_char _; addset auto_new_nick_length int; set auto_new_nick_length 9; addset auto_new_nick_list str; # AUTO_REJOIN, AUTO_REJOIN_DELAY addset auto_rejoin bool; set auto_rejoin off; addset auto_rejoin_delay int; set auto_rejoin_delay 0; ^on #-kick 1 '$$servernick() *' { if (getset(auto_rejoin) == 'on') { if (:delay = getset(auto_rejoin_delay)) { timer -w $winnum() $delay join $2; } else { defer join $2; }; }; }; # AUTO_UNMARK_AWAY addset auto_unmark_away bool; set auto_unmark_away off; ^on #-input 1 "*" { if (getset(auto_unmark_away) == 'on' && serverctl(get $servernum() away) && ([$0])) { away; }; }; ^on #-input 1 "/*" { if (getset(auto_unmark_away) == 'on' && serverctl(get $servernum() away) && findw($0 /m /n /me /msg /notice /say) > -1) { away; }; }; # AUTO_WHOWAS addset auto_whowas bool; set auto_whowas on; ^on #-401 1 "*" { if (getset(auto_whowas) == 'on' && !ischannel($1)) { whowas $1; }; }; # BEEP_ON_MSG addset beep_on_msg str; set beep_on_msg none; ^on #-action 1 "*" { if (getset(beep_on_msg) == 'all' || findw(action $getset(beep_on_msg)) > -1) { beep; }; }; ^on #-channel_sync 1 "*" { if (getset(beep_on_msg) == 'all' || findw(crap $getset(beep_on_msg)) > -1) { beep; }; }; ^on #-ctcp 1 "*" { if (getset(beep_on_msg) == 'all' || findw(ctcp $getset(beep_on_msg)) > -1) { beep; }; }; ^on #-dcc_activity 1 "*" { if (getset(beep_on_msg) == 'all' || findw(dcc $getset(beep_on_msg)) > -1) { beep; }; }; ^on #-dcc_connect 1 "*" { if (getset(beep_on_msg) == 'all' || findw(dcc $getset(beep_on_msg)) > -1) { beep; }; }; ^on #-dcc_list 1 "*" { if (getset(beep_on_msg) == 'all' || findw(dcc $getset(beep_on_msg)) > -1) { beep; }; }; ^on #-dcc_lost 1 "*" { if (getset(beep_on_msg) == 'all' || findw(dcc $getset(beep_on_msg)) > -1) { beep; }; }; ^on #-dcc_offer 1 "*" { if (getset(beep_on_msg) == 'all' || findw(dcc $getset(beep_on_msg)) > -1) { beep; }; }; ^on #-dcc_request 1 "*" { if (getset(beep_on_msg) == 'all' || findw(dcc $getset(beep_on_msg)) > -1) { beep; }; }; ^on #-join 1 "*" { if (getset(beep_on_msg) == 'all' || findw(crap $getset(beep_on_msg)) > -1) { beep; }; }; ^on #-mail 1 "*" { if (getset(beep_on_msg) == 'all' || findw(crap $getset(beep_on_msg)) > -1) { beep; }; }; ^on #-mode 1 "*" { if (getset(beep_on_msg) == 'all' || findw(crap $getset(beep_on_msg)) > -1) { beep; }; }; ^on #-msg 1 "*" { if (getset(beep_on_msg) == 'all' || findw(msgs $getset(beep_on_msg)) > -1) { beep; }; }; ^on #-notice 1 "*" { if (getset(beep_on_msg) == 'all' || findw(notices $getset(beep_on_msg)) > -1) { beep; }; }; ^on #-numeric 1 "*" { if (getset(beep_on_msg) == 'all' || findw(crap $getset(beep_on_msg)) > -1) { beep; }; }; ^on #-oper_notice 1 "*" { if (getset(beep_on_msg) == 'all' || findw(opnotes $getset(beep_on_msg)) > -1) { beep; }; }; ^on #-pong 1 "*" { if (getset(beep_on_msg) == 'all' || findw(crap $getset(beep_on_msg)) > -1) { beep; }; }; ^on #-public 1 "*" { if (getset(beep_on_msg) == 'all' || findw(public $getset(beep_on_msg)) > -1) { beep; }; }; ^on #-server_notice 1 "*" { if (getset(beep_on_msg) == 'all' || findw(snotes $getset(beep_on_msg)) > -1) { beep; }; }; ^on #-wallop 1 "*" { if (getset(beep_on_msg) == 'all' || findw(wallops $getset(beep_on_msg)) > -1) { beep; }; }; ^on #-who 1 "*" { if (getset(beep_on_msg) == 'all' || findw(crap $getset(beep_on_msg)) > -1) { beep; }; }; set beep_on_msg none; # COMMAND_MODE addset command_mode bool; set command_mode off; ^on ^input "*" { //sendline ${getset(command_mode) == 'on' ? '/' : ''}$*; }; ^on ^input "'*" { //send ${getset(command_mode) == 'on' ? rest(1 $*) : (*)}; }; ^on ^input "/*" { //sendline $*; }; # DCC_TIMEOUT addset dcc_timeout int; set dcc_timeout 3600; ^on #-timer 1 "*" { if (:timeout = getset(dcc_timeout)) { fe ($dccctl(refnums)) dd { if (time() - word(0 $dccctl(get $dd lasttime)) >= timeout) { @ :nick = dccctl(get $dd user); @ :type = dccctl(get $dd type); shook dcc_lost $nick $type $urlencode($dccctl(get $dd description)) IDLE TIME EXCEEDED; dcc close $type $nick; }; }; }; }; # FULL_STATUS_LINE addset full_status_line bool { if (*0 == 'on') { ^set status_format $before(-1  $status_format); ^set status_format1 $before(-1  $status_format1); ^set status_format2 $before(-1  $status_format2); } else { ^set status_format $status_format; ^set status_format1 $status_format1; ^set status_format2 $status_format2; }; }; set full_status_line on; # NUM_OF_WHOWAS addset num_of_whowas int; set num_of_whowas 1; # REALNAME ^on %set "REALNAME *" { ^set default_realname $1-; }; # SHOW_END_OF_MSGS addset show_end_of_msgs bool; set show_end_of_msgs on; fe (219 232 262 315 318 347 349 365 366 368 369 374 394) ss { ^on ?$ss "*" { return ${getset(show_end_of_msgs) == 'on' ? 0 : 1}; }; }; # SHOW_WHO_HOPCOUNT addset show_who_hopcount bool; set show_who_hopcount on; ^on ?who "*" { if (getset(show_who_hopcount) == 'on') { echo $[15]0 $[9]1 $[3]2 $3@$4 \($7-\); return 1; }; return 0; }; # VERBOSE_CTCP addset verbose_ctcp bool; set verbose_ctcp on; ^on ?ctcp "*" { return ${getset(verbose_ctcp) == 'on' ? 0 : 1}; }; # hop's script to return the old epic4 way of shortened commands... on ?unknown_command "*" (cmd, args) { @ :bonly = 0; if (left(2 $cmd) == [//]) { @ :bonly = 1; @ :cmd = rest(2 $cmd); }; @ :matches = symbolctl(pmatch builtin_command $cmd*); if (!bonly) { push matches $symbolctl(pmatch alias $cmd*); }; @ :matches = uniq($matches); @ :num = #matches; if (num > 1) { xecho -b Ambiguous ${bonly ? [builtin ] : []}command $cmd. Matches \($num\): $unsplit(", " $leftw(5 $matches))${num > 5 ? [, ...] : []}; return 1; }; if (num == 1) { $matches $args; return 1; }; return 0; }; # Inform about SAVE's removal ALIAS SAVE {XECHO -B Save isn't needed in LiCe 5.2+ anymore! Please read /help changelog}; if (word(2 $loadinfo()) != [pf]) { load -pf $word(1 $loadinfo()); return; }; # AUTO_RECONNECT addset auto_reconnect bool; addset auto_reconnect_retries int; addset auto_reconnect_delay int; # whether reconnect is enabled at all set auto_reconnect on; # how many failed reconnect attempts in a row before giving up, # 0 means infinite set auto_reconnect_retries 0; # delay in seconds between reconnect attempts set auto_reconnect_delay 60; alias _reconn.svkey (ref, void) { ^local gr; @ gr = servergroup($ref); if (gr == [] || gr == []) { return sv $ref; }; return gr $gr; }; alias _reconn.hook.disconn { if ([$1] != [CLOSING] && getset(auto_reconnect) == [ON]) { if (serverctl(GET $0 ADDRSLEFT)) { return; }; @ :egr = encode($_reconn.svkey($0)); if (reconn[$egr][lastserver] == []) { xeval -s $0 { fe ($tolower($mychannels($0))) i { if ((:win = winchan($i)) != -1) { push arr[$win] $i $key($i); }; }; }; foreach arr i { @ windowctl(SET $i TOPLINE 9 $arr[$i]); ^assign -arr[$i]; }; @ reconn[$egr][retries] = getset(auto_reconnect_retries) - 1; } else { if (reconn[$egr][retries] > -1) { @ reconn[$egr][retries]--; if (reconn[$egr][retries] <= 0) { _reconn.purge $0; xecho -b Number of retries for server $servername($0) exceeded; return; }; }; }; @ reconn[$egr][lastserver] = [$0]; xecho -b Reconnecting to $servername($0) in $getset(auto_reconnect_delay) seconds. Type /rmreconnect to cancel.${ reconn[$egr][retries] != -1 ? [ \($reconn[$egr][retries] retries left\).] : [] }; ^timer -ref _reconn$egr $getset(auto_reconnect_delay) _reconn.server $egr; }; }; fe (ERROR EOF) i { on #-SERVER_STATUS 27 "% % $i" { _reconn.hook.disconn $*; }; }; on #-SERVER_STATUS 27 "% % CLOSING" { if ([$1] != [EOF] && [$1] != [ERROR]) { _reconn.purge $0; }; }; on #-SERVER_STATUS 27 "% % ACTIVE" { fe ($winrefs()) i { if (winserv($i) == [$0]) { fe ($windowctl(GET $i TOPLINE 9)) ch k { window $i channel "$ch $k"; }; }; }; _reconn.purge $0; }; on #-SERVER_STATUS 27 "% % DELETE" { _reconn.sweep $0; }; #_reconn.purge #ref: server reference #Remove all references to the server and the server group it is in alias _reconn.clearentry (name, void) { ^assign -reconn[$name][timeout]; ^assign -reconn[$name][retries]; ^assign -reconn[$name][lastserver]; ^timer -delete _reconn$name; }; alias _reconn.purge (ref, void) { @ :gr = _reconn.svkey($ref); @ :egr = encode($gr); _reconn.clearentry $egr; if (word(0 $gr) == [gr]) { # it is a server, but it suddenly gained a group @ :str = encode(sv $ref); _reconn.clearentry $str; }; _reconn.clrtoplines $ref; }; alias _reconn.clrtoplines (ref, void) { fe ($winrefs()) i { if (ref == -1 || winserv($i) == ref) { @ windowctl(SET $i TOPLINE 9 ); }; }; }; alias _reconn.sweep (ref, void) { ^local str,type,item,gr,svs; _reconn.clrtoplines $ref; @ str = encode(sv $ref); _reconn.clearentry $str; foreach reconn i { @ str = decode($i); @ type = word(0 $str); @ item = word(1 $str); if (type == [sv]) { @ gr = servergroup($item); # it is a server, but it suddenly gained a group if (gr != [] && gr != []) { _reconn.clearentry $i; }; } elif (type == [gr]) { @ svs = serverctl(GMATCH $item); # there are no servers || the only server is the one that's being deleted if (svs == [] || svs == ref) { _reconn.clearentry $i; }; }; }; }; alias _reconn.server (sg,void) { ^local win,found,str,type,item,lastsv,next,svs,i; @ str = decode($sg); @ type = word(0 $str); @ item = word(1 $str); @ lastsv = reconn[$sg][lastserver]; @ svs = serverctl(GMATCH $item); if (lastsv == []) { _reconn.clearentry $sg; return; }; if (type == [gr] && item != [] && item != []) { fe ($svs) i { if (isconnected($i)) { _reconn.clearentry $sg; return -1; }; }; }; fe ($winrefs()) win { if (winserv($win) == lastsv) { PUSH found $win; }; }; if (found != []) { if (type == [gr]) { @ next = _reconn.nextserv($lastsv $item); } else { @ next = lastsv; }; if (next != -1 && !isconnected($next)) { fe ($found) j { window $j SERVER $next; }; } else { _reconn.clearentry $sg; }; } else { _reconn.clearentry $sg; }; }; alias rmreconnect { ^local i,st; foreach reconn i { @ :ref = reconn[$i][lastserver]; xecho -b Cancelling reconnect to $servername($ref) \(refnum $ref\); _reconn.clearentry $i; ^timer -delete _reconn$i; }; fe ($serverctl(OMATCH *)) i { @ st = serverctl(GET $i STATUS); switch ($st) { (dns) (connecting) (registering) (syncing) (ssl_connecting) { xecho -b Disconnecting from $servername($i) \(refnum $i); //^disconnect $i; }; }; }; }; alias _reconn.nextserv (ref, group, void) { if (group == []) { return -1; }; @ :servers = serverctl(GMATCH $group); @ :num = numwords($servers); if (num == 0) { # shouldn't happen return -1; }; @ :found = findw($ref $servers); if (found == -1) { return $word(0 $servers); }; @ num--; if (num == found) { return $word(0 $servers); } else { return $word(${found+1} $servers); }; }; _reconn.clrtoplines -1; #weirdo & kreca'2k6 lice5/lice/lice.db0000644000175000017500000000565511756143022012376 0ustar timtim# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # lice.db written by tjh for LiCe5.2.0+ for EPIC5. tjh - tim@muppetz.com # # This file opens the database file in which variables are stored and creates # some aliases to easily manage the variables in the DB. # It also handles the reload of all settings (lice.readdb) # # Autosave of # * /SETs # * /IGNOREs # * /SERVERs # * /NOTIFYs # * LiCe Script Settings # # is handled by this file. # # http://lice.muppetz.com - LiCe5 # --------------------------------------------------------------------------- # IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; @ mkdir($lice.save_path); # open database @ lice.fd = dbmctl(OPEN STD $(lice.save_path)/lice.db); # check we got the db open and if not, die. IF (lice.fd == -1) { CLEAR; XECHO; XECHO [LiCe System Message]; XECHO; XECHO ERROR: Unable to open $(lice.save_path)/lice.db - Please check this path is valid!; XECHO ; XECHO Unable to continue.; XECHO ; XECHO 5Exiting in 5 seconds.; ^PAUSE 5; //^QUIT; }; ### database routines ALIAS lice.add (varname, data) {@ dbmctl(ADD $lice.fd "$tolower($varname)" $data)}; ALIAS lice.set (varname, data) {@ dbmctl(CHANGE $lice.fd "$tolower($varname)" $data)}; ALIAS lice.get (varname) {@ FUNCTION_RETURN = dbmctl(READ $lice.fd "$tolower($varname)")}; ALIAS lice.del (varname) {@ dbmctl(DELETE $lice.fd "$tolower($varname)")}; # Small alert if the DB is still open. IF (lice.get(db.status) == 1) {TIMER 2 uecho Warning: The LiCe database is already marked open! Are you already running LiCe?}; # mark database as open @lice.set(db.status 1); # Erase old client state @lice.del(*CLIENT_INFORMATION); # restore database state. ALIAS lice.readdb { FE ($sort($dbmctl(ALL_KEYS $lice.fd))) dbi { @ :type = left(1 $dbi); SWITCH ($type) { (\\*) { @ :val = lice.get($dbi); UNLESS (val == []) { //^SET $after(* $dbi) $val; }; }; (|) {//^IGNORE $lice.get($dbi)}; (!) {^ASSIGN Chanlog$after(! $dbi) $lice.get($dbi)}; (&) {//^SERVER -ADD $lice.get($dbi)}; }; }; }; # save servers routine ALIAS lice.saveservers { FE ($dbmctl(ALL_KEYS $lice.fd)) ls { @ :sid= after(& $ls); UNLESS (strlen($sid) == 0) { @lice.del($ls); }; }; FE ($serverctl(GMATCH *)) id { # work around epic5 bug - $serverctl(GMATCH *)) currently returns servers that have been deleted! IF (serverctl(GET $id NAME)) { @lice.add(&server$(id) $serverctl(GET $id FULLDESC)); }; }; }; # Auto save of notify ALIAS notify { //NOTIFY $*; @lice.set (lice.notify $notify()); }; # Auto save of servers ALIAS server { //SERVER $*; IF (([$0] =~ [-D*]) || ([$0] =~ [-U*])) {lice.saveservers}; }; ^ON ^CONNECT * {^TIMER 5 {lice.saveservers}}; #tjh/12 lice5/lice/lice.floodlist0000644000175000017500000000522212126407634014002 0ustar timtim# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.codehack.com # --------------------------------------------------------------------------- # Updated for EPIC5 by tjh IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; #Options: #MSGS WALLS WALLOPS INVITES NOTICES NOTES #CTCPS TOPICS NICKS JOINS PARTS CRAP PUBLIC # Description: flood protection routines ALIAS _proc.flood_nick (type,nick,uh,serv,cf) { UNLESS (match(*$type* $igtype($rigmask($nick!$uh))) || match(*ALL* $igtype($rigmask($nick!$uh)))) { UNLESS (rmatch(*!*@*.* $igmask(*))) { ^ASSIGN ignore.test 1; //^IGNORE *!*@* MSGS CTCPS INVITES NOTICES NOTES NICKS; IF (_proc.silence()) { //^SILENCE +*@*; }; XECHO -W $winnum() $fmt.banner_alert() Alert: Isolating client due to flood for $lice.get(main.isolate)\s; }; //^IGNORE $mask(3 $nick!$uh) $type REASON "$type FLOOD" ${lice.get(main.auto_noig) > 0 ? [TIMEOUT $lice.get(main.auto_noig)] : []}; ECHO $fmt.banner_alert() Alert: $type flood detected from $nick \($uh\); UNLESS (isset(Q) || type == [PUBLICS] || type == [NICK] || type == [JOIN] || type == [PART]) { XQUOTE -S $serv NOTICE $nick :$type Flood! You'll be ignored now. $randread($main.reason_error); }; IF (ismset(U) && cf != 1) {_proc.away_save LiCe licelogd $type FLOOD from $nick \($uh\)}; IF (ignore.test == 1) { IF (_proc.silence()) { ^TIMER -REF SISOLATE $lice.get(main.isolate) //^SILENCE -*@*; }; ^TIMER -REF ISOLATE $lice.get(main.isolate) //^IGNORE *!*@* NONE; ^ASSIGN -ignore.test; }; }; }; ALIAS _proc.flood_chan (type,nick,uh,serv,chan,hash) { IF (ischanop($servernick($serv) $chan)) { IF (iscset(F $hash) || type == [JOINS] || type == [PARTS]) { @ :ban = iscset(1 $hash) ? mask(4 $uh) : mask(2 $uh); _proc.ban $chan $serv $ban $nick $hash; }; IF (iscset(C $hash)) { _proc.quote_add $serv KICK $chan $nick :[$type FLOOD]; _proc.quote_flush $serv; }; XECHO -W $chanwin($chan) $fmt.banner_alert() Alert: [$chan] $type flood detected from $nick \($uh\); }{ _proc.flood_nick $type $nick $uh $serv 1; }; IF (iscset(S $hash)) { @ :ban = iscset(1 $hash) ? mask(3 $uh) : mask(1 $uh); ^_proc.ul_add Shit $nick $ban; ^_proc.ul_chg_chan Shit $nick + $chan FK AutoShit on $strftime(%x) for $type FLOOD!; _proc.ul_save; }; IF (ismset(U)) {_proc.away_save LiCe licelogd [$chan] $type FLOOD from $nick \($uh\)}; }; #tjh/12 #tjbh/13 lice5/lice/lice.dom0000644000175000017500000002120711542462257012566 0ustar timtim# ---------------------------------------------------------------------- # Filename : LICE.DOM # Description: A complete array describing top-level domains. # Author : SrfRoG (cag@codehack.com) # ---------------------------------------------------------------------- # Updated for EPIC5 by tjh IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE DOM; ^ASSIGN domain.AD Andorra; ^ASSIGN domain.AE United Arab Emirates; ^ASSIGN domain.AF Afghanistan; ^ASSIGN domain.AG Antigua and Barbuda; ^ASSIGN domain.AI Anguilla; ^ASSIGN domain.AL Albania; ^ASSIGN domain.AM Armenia; ^ASSIGN domain.AN Netherlands Antilles; ^ASSIGN domain.AO Angola; ^ASSIGN domain.AQ Antarctica; ^ASSIGN domain.AR Argentina; ^ASSIGN domain.AS American Samoa; ^ASSIGN domain.AT Austria; ^ASSIGN domain.AU Australia; ^ASSIGN domain.AW Aruba; ^ASSIGN domain.AZ Azerbaijan; ^ASSIGN domain.BA Bosnia and Herzegovina; ^ASSIGN domain.BB Barbados; ^ASSIGN domain.BD Bangladesh; ^ASSIGN domain.BE Belgium; ^ASSIGN domain.BF Burkina Faso; ^ASSIGN domain.BG Bulgaria; ^ASSIGN domain.BH Bahrain; ^ASSIGN domain.BI Burundi; ^ASSIGN domain.BJ Benin; ^ASSIGN domain.BM Bermuda; ^ASSIGN domain.BN Brunei Darussalam; ^ASSIGN domain.BO Bolivia; ^ASSIGN domain.BR Brazil; ^ASSIGN domain.BS Bahamas; ^ASSIGN domain.BT Bhutan; ^ASSIGN domain.BV Bouvet Island; ^ASSIGN domain.BW Botswana; ^ASSIGN domain.BY Belarus; ^ASSIGN domain.BZ Belize; ^ASSIGN domain.CA Canada; ^ASSIGN domain.CC Cocos (Keeling) Islands; ^ASSIGN domain.CF Central African Republic; ^ASSIGN domain.CG Congo; ^ASSIGN domain.CH Switzerland; ^ASSIGN domain.CI Cote D'Ivoire (Ivory Coast); ^ASSIGN domain.CK Cook Islands; ^ASSIGN domain.CL Chile; ^ASSIGN domain.CM Cameroon; ^ASSIGN domain.CN China; ^ASSIGN domain.CO Colombia; ^ASSIGN domain.CR Costa Rica; ^ASSIGN domain.CS Czechoslovakia (former); ^ASSIGN domain.CU Cuba; ^ASSIGN domain.CV Cape Verde; ^ASSIGN domain.CX Christmas Island; ^ASSIGN domain.CY Cyprus; ^ASSIGN domain.CZ Czech Republic; ^ASSIGN domain.DE Germany; ^ASSIGN domain.DJ Djibouti; ^ASSIGN domain.DK Denmark; ^ASSIGN domain.DM Dominica; ^ASSIGN domain.DO Dominican Republic; ^ASSIGN domain.DZ Algeria; ^ASSIGN domain.EC Ecuador; ^ASSIGN domain.EE Estonia; ^ASSIGN domain.EG Egypt; ^ASSIGN domain.EH Western Sahara; ^ASSIGN domain.ER Eritrea; ^ASSIGN domain.ES Spain; ^ASSIGN domain.ET Ethiopia; ^ASSIGN domain.FI Finland; ^ASSIGN domain.FJ Fiji; ^ASSIGN domain.FK Falkland Islands (Malvinas); ^ASSIGN domain.FM Micronesia; ^ASSIGN domain.FO Faroe Islands; ^ASSIGN domain.FR France; ^ASSIGN domain.FX France, Metropolitan; ^ASSIGN domain.GA Gabon; ^ASSIGN domain.GB Great Britain (UK); ^ASSIGN domain.GD Grenada; ^ASSIGN domain.GE Georgia; ^ASSIGN domain.GF French Guiana; ^ASSIGN domain.GH Ghana; ^ASSIGN domain.GI Gibraltar; ^ASSIGN domain.GL Greenland; ^ASSIGN domain.GM Gambia; ^ASSIGN domain.GN Guinea; ^ASSIGN domain.GP Guadeloupe; ^ASSIGN domain.GQ Equatorial Guinea; ^ASSIGN domain.GR Greece (Hellas); ^ASSIGN domain.GS S. Georgia and S. Sandwich Isls.; ^ASSIGN domain.GT Guatemala; ^ASSIGN domain.GU Guam; ^ASSIGN domain.GW Guinea-Bissau; ^ASSIGN domain.GY Guyana; ^ASSIGN domain.HK Hong Kong; ^ASSIGN domain.HM Heard and McDonald Islands; ^ASSIGN domain.HN Honduras; ^ASSIGN domain.HR Croatia (Hrvatska); ^ASSIGN domain.HT Haiti; ^ASSIGN domain.HU Hungary; ^ASSIGN domain.ID Indonesia; ^ASSIGN domain.IE Ireland; ^ASSIGN domain.IL Israel; ^ASSIGN domain.IN India; ^ASSIGN domain.IO British Indian Ocean Territory; ^ASSIGN domain.IQ Iraq; ^ASSIGN domain.IR Iran; ^ASSIGN domain.IS Iceland; ^ASSIGN domain.IT Italy; ^ASSIGN domain.JM Jamaica; ^ASSIGN domain.JO Jordan; ^ASSIGN domain.JP Japan; ^ASSIGN domain.KE Kenya; ^ASSIGN domain.KG Kyrgyzstan; ^ASSIGN domain.KH Cambodia; ^ASSIGN domain.KI Kiribati; ^ASSIGN domain.KM Comoros; ^ASSIGN domain.KN Saint Kitts and Nevis; ^ASSIGN domain.KP Korea (North); ^ASSIGN domain.KR Korea (South); ^ASSIGN domain.KW Kuwait; ^ASSIGN domain.KY Cayman Islands; ^ASSIGN domain.KZ Kazakhstan; ^ASSIGN domain.LA Laos; ^ASSIGN domain.LB Lebanon; ^ASSIGN domain.LC Saint Lucia; ^ASSIGN domain.LI Liechtenstein; ^ASSIGN domain.LK Sri Lanka; ^ASSIGN domain.LR Liberia; ^ASSIGN domain.LS Lesotho; ^ASSIGN domain.LT Lithuania; ^ASSIGN domain.LU Luxembourg; ^ASSIGN domain.LV Latvia; ^ASSIGN domain.LY Libya; ^ASSIGN domain.MA Morocco; ^ASSIGN domain.MC Monaco; ^ASSIGN domain.MD Moldova; ^ASSIGN domain.MG Madagascar; ^ASSIGN domain.MH Marshall Islands; ^ASSIGN domain.MK F.Y.R.O.M; ^ASSIGN domain.ML Mali; ^ASSIGN domain.MM Myanmar; ^ASSIGN domain.MN Mongolia; ^ASSIGN domain.MO Macau; ^ASSIGN domain.MP Northern Mariana Islands; ^ASSIGN domain.MQ Martinique; ^ASSIGN domain.MR Mauritania; ^ASSIGN domain.MS Montserrat; ^ASSIGN domain.MT Malta; ^ASSIGN domain.MU Mauritius; ^ASSIGN domain.MV Maldives; ^ASSIGN domain.MW Malawi; ^ASSIGN domain.MX Mexico; ^ASSIGN domain.MY Malaysia; ^ASSIGN domain.MZ Mozambique; ^ASSIGN domain.NA Namibia; ^ASSIGN domain.NC New Caledonia; ^ASSIGN domain.NE Niger; ^ASSIGN domain.NF Norfolk Island; ^ASSIGN domain.NG Nigeria; ^ASSIGN domain.NI Nicaragua; ^ASSIGN domain.NL Netherlands; ^ASSIGN domain.NO Norway; ^ASSIGN domain.NP Nepal; ^ASSIGN domain.NR Nauru; ^ASSIGN domain.NT Neutral Zone; ^ASSIGN domain.NU Niue; ^ASSIGN domain.NZ New Zealand (Aotearoa); ^ASSIGN domain.OM Oman; ^ASSIGN domain.PA Panama; ^ASSIGN domain.PE Peru; ^ASSIGN domain.PF French Polynesia; ^ASSIGN domain.PG Papua New Guinea; ^ASSIGN domain.PH Philippines; ^ASSIGN domain.PK Pakistan; ^ASSIGN domain.PL Poland; ^ASSIGN domain.PM St. Pierre and Miquelon; ^ASSIGN domain.PN Pitcairn; ^ASSIGN domain.PR Puerto Rico; ^ASSIGN domain.PT Portugal; ^ASSIGN domain.PW Palau; ^ASSIGN domain.PY Paraguay; ^ASSIGN domain.QA Qatar; ^ASSIGN domain.RE Reunion; ^ASSIGN domain.RO Romania; ^ASSIGN domain.RU Russian Federation; ^ASSIGN domain.RW Rwanda; ^ASSIGN domain.SA Saudi Arabia; ^ASSIGN domain.SB Solomon Islands; ^ASSIGN domain.SC Seychelles; ^ASSIGN domain.SD Sudan; ^ASSIGN domain.SE Sweden; ^ASSIGN domain.SG Singapore; ^ASSIGN domain.SH St. Helena; ^ASSIGN domain.SI Slovenia; ^ASSIGN domain.SJ Svalbard and Jan Mayen Islands; ^ASSIGN domain.SK Slovak Republic; ^ASSIGN domain.SL Sierra Leone; ^ASSIGN domain.SM San Marino; ^ASSIGN domain.SN Senegal; ^ASSIGN domain.SO Somalia; ^ASSIGN domain.SR Suriname; ^ASSIGN domain.ST Sao Tome and Principe; ^ASSIGN domain.SU USSR (former); ^ASSIGN domain.SV El Salvador; ^ASSIGN domain.SY Syria; ^ASSIGN domain.SZ Swaziland; ^ASSIGN domain.TC Turks and Caicos Islands; ^ASSIGN domain.TD Chad; ^ASSIGN domain.TF French Southern Territories; ^ASSIGN domain.TG Togo; ^ASSIGN domain.TH Thailand; ^ASSIGN domain.TJ Tajikistan; ^ASSIGN domain.TK Tokelau; ^ASSIGN domain.TM Turkmenistan; ^ASSIGN domain.TN Tunisia; ^ASSIGN domain.TO Tonga; ^ASSIGN domain.TP East Timor; ^ASSIGN domain.TR Turkey; ^ASSIGN domain.TT Trinidad and Tobago; ^ASSIGN domain.TV Tuvalu; ^ASSIGN domain.TW Taiwan; ^ASSIGN domain.TZ Tanzania; ^ASSIGN domain.UA Ukraine; ^ASSIGN domain.UG Uganda; ^ASSIGN domain.UK United Kingdom; ^ASSIGN domain.UM US Minor Outlying Islands; ^ASSIGN domain.US United States; ^ASSIGN domain.UY Uruguay; ^ASSIGN domain.UZ Uzbekistan; ^ASSIGN domain.VA Vatican City State (Holy See); ^ASSIGN domain.VC Saint Vincent and the Grenadines; ^ASSIGN domain.VE Venezuela; ^ASSIGN domain.VG Virgin Islands (British); ^ASSIGN domain.VI Virgin Islands (U.S.); ^ASSIGN domain.VN Viet Nam; ^ASSIGN domain.VU Vanuatu; ^ASSIGN domain.WF Wallis and Futuna Islands; ^ASSIGN domain.WS Samoa; ^ASSIGN domain.YE Yemen; ^ASSIGN domain.YT Mayotte; ^ASSIGN domain.YU Yugoslavia; ^ASSIGN domain.ZA South Africa; ^ASSIGN domain.ZM Zambia; ^ASSIGN domain.ZR Zaire; ^ASSIGN domain.ZW Zimbabwe; ^ASSIGN domain.COM US Commercial; ^ASSIGN domain.EDU US Educational; ^ASSIGN domain.GOV US Government; ^ASSIGN domain.INT International Organization; ^ASSIGN domain.MIL US Military; ^ASSIGN domain.NET Network; ^ASSIGN domain.ORG Non-Profit Organization; ^ASSIGN domain.RPA Old style Arpanet; ^ASSIGN domain.NATO NATO field; ^ASSIGN domain.AERO Aviation; ^ASSIGN domain.BIZ Business Organization; ^ASSIGN domain.COOP Co-Operative Organization; ^ASSIGN domain.INFO Open TLD; ^ASSIGN domain.MUSEUM Museum; ^ASSIGN domain.NAME Personal; ^ASSIGN domain.PRO Professional; ^ASSIGN domain.ARPA Old Style ARPANET; ALIAS dom { UNLESS (@) { uecho Usage: /DOM ; RETURN; } @ :dot = pass(. $0) ? mid(${rindex(. $0)+1} 3 $0) : [$0]; @ :dot = toupper($dot); @ :dom = domain[$dot] ? domain[$dot] : [Unknown]; IF (temp.whois_away > 0) { # ECHO $fmt.whois_mid(Domain ".$dot\" is "$dom\"); ECHO $fmt.whois_mid(Domain ".$dot\" is $dom); }{ # iecho Top-level domain '.$dot' is '$dom\'.; iecho Top-level domain '$dot' is $dom\.; }; }; ALIAS country {dom $*}; lice5/lice/lice.rk0000644000175000017500000000210211542462257012414 0ustar timtim# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.codehack.com # --------------------------------------------------------------------------- # Updated for EPIC5 by tjh IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; # Random kicks (Orig. by YaZoO, rewritten by SrfRoG) ALIAS rk { WHILE (option = getopt(optopt optarg "alo" $*)) { SWITCH ($option) { (a) { @ :rk.l = remw($N $chanusers($C)) }; (l) { @ :rk.l = nochops($C) }; (o) { @ :rk.l = remw($N $chops($C)) }; (!) {uecho Usage: /RK - [kick reason]}; }; }; UNLESS (rk.l) { uecho Usage: /RK - [kick reason]; RETURN; }; @ :rk.m = strlen($1) ? [$1-] : randread($main.reason_kick); @ :rk.n = rand(${#rk.l}); //KICK $C $word($rk.n $rk.l) [Random Kick] $rk.m; ECHO $fmt.banner_kick() Random kick: $word($rk.n $rk.l); }; #tjh/09 lice5/lice/lice.show_list0000644000175000017500000000267511542462257014032 0ustar timtim# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.codehack.com # --------------------------------------------------------------------------- # Updated for EPIC5 by tjh IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; ALIAS _proc.show_list { IF ([$2]==[-f]) { MODE ${ischannel($3)?[$3]:C} +$1; RETURN; }; @ :chan = ischannel($2) ? [$2] : C; UNLESS (onchannel($N $chan)) { MODE $chan +$1; RETURN; }; @ :list = left(1 $0) ## winserv() ## [-] ## hash_32bit($chan); IF (numitems($list) <= 0) { XECHO -B No $0s found on $chan\.; RETURN; }; IF ([$0] == [Ban]) { cecho ---------- Channel $ch($chan) $0list ----------; FOR (@ :cnt=0, numitems($list) > cnt, @cnt++) { @ :str = getitem($list $cnt); IF (!ismset(V) && pass(! $word(2 $str))) {@ :str = sar(/$word(2 $str)/$before(! $word(2 $str))/$str)}; cecho [$[2]{cnt + 1}] $str; }; }{ cecho ---------- Channel $ch($chan) $0list ----------; FOR (@ :cnt=0, numitems($list) > cnt, @cnt++) { @ :str = getitem($list $cnt); cecho [$[2]{cnt + 1}] $str; }; }; }; ALIAS sb {_proc.show_list Ban b $*}; ALIAS se {_proc.show_list Exc e $*}; ALIAS si {_proc.show_list Inv I $*}; #tjh/09 lice5/lice/lice.theme0000644000175000017500000000374611745316023013113 0ustar timtim# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.codehack.com # --------------------------------------------------------------------------- # Updated for EPIC5 by tjh - http://lice.muppetz.com # Updated so that theme change will redraw toplines correctly. 11/06/10 - tjh IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; # XXX - lame hack added to protect the innocent ALIAS THEME { IF (@) { @ :theme = which($LiCePath/themes/$0); UNLESS (strlen($theme)) {RETURN}; @ lice.set(main.theme $0); # reset term translation (just in case) XECHO -RAW $chr(27)\(B; ^UNLOAD LiCeTheme; ^LOAD $LiCePath/themes/default $theme; IF (iswset(T)) {$_proc.redraw_tl(0)} iecho Default color theme now: $0; }{ iecho Current Theme: $lice.get(main.theme); IF (fexist($LiCePath/themes) == 1) { ^CD $LiCePath/themes; @ :theme.list = glob(*); ^CD ~; IF (strlen($theme.list)) { iecho Your theme collection:; echo.recursive $theme.list; uecho Usage: /THEME [name]; }{ XECHO -B No themes found!; }; }{ XECHO -B Path not found: $twiddle($LiCePath/themes); IF (mkdir($LiCePath/themes)) { XECHO -B Failed to create: $twiddle($LiCePath/themes); }; XECHO -B No themes found!; }; }; }; # Redraw the toplines. If activate is set, also redisplay (called from lice.wtog for /wtog t) ALIAS _proc.redraw_tl (activate) { FOR win in ($windowctl(REFNUMS)) { IF (activate) {WINDOW $win TOPLINES 1}; @ :hash = hash_32bit($winchan($win)); IF ([$chan_topic[$win$hash]] == []) { @windowctl(SET $win TOPLINE 1 -- LiCe Titlebar [tm] --); }{ @windowctl(SET $win TOPLINE 1 $fmt.titlebar($chan_topic[$win$hash])); }; }; }; #tjh/12 lice5/lice/lice.ulw_voice0000644000175000017500000000264011542462257014003 0ustar timtim# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.codehack.com # --------------------------------------------------------------------------- # Updated for EPIC5 by tjh IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; # !VOICE command ALIAS _proc.ulw_voice (nick,uh,serv,pass,chan) { @ :myhand = find_in_list(User $nick!$uh); UNLESS (myhand) {RETURN}; FE ($myhand) hand { UNLESS (lice.get(main_PL$hand)) { XQUOTE -S $serv NOTICE $nick :You don't have a password set. Type: /MSG $servernick($serv) !HELP PASS; RETURN; }; IF (pass != lice.get(main_PL$hand)) { XQUOTE -S $serv NOTICE $nick :Invalid password. $randread($main.reason_error); RETURN; }; @ :chan_list = strlen($chan) ? chan : mychannels($serv); XEVAL -S $serv { FE ($chan_list) cn { IF (!onchannel($nick $cn) || !ischanop($servernick() $cn) || !iscset(P $hash_32bit($cn))) {CONTINUE}; @ :test = (word(0 $getitem(ChanUser$hand 0)) == [#*]) ? 0 : matchitem(ChanUser$hand $cn *); IF (test < 0) {CONTINUE}; @ :mode = word(1 $getitem(ChanUser$hand $test)); IF (mode & 512) {_proc.quote_add $serv MODE $cn +v $nick}; }; }; }; _proc.quote_flush $serv; }; #tjh/09 lice5/lice/lice.pic0000644000175000017500000000270311706131207012550 0ustar timtim# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # Description : ASCII pics for LiCe # Sources : kendi/mozy, CKeeper, alt.ascii.cow, DeadelviS. # Code : SrfRoG (cag@codehack.com) # --------------------------------------------------------------------------- # Updated for EPIC5 by tjh IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; ALIAS PIC { IF (@) { @ :pic.trg = strlen($1) ? [$1] : C; @ :pic.file = which($LiCePath/pics/$0); UNLESS (strlen($pic.file)) {RETURN}; @ :pic.fd = open($pic.file R); UNLESS (pic.fd) { XECHO -B Could not open "$0\"; RETURN; }; UNTIL (eof($pic.fd)) { @ :pic.str = read($pic.fd); IF (pic.str) {MSG $pic.trg $pic.str}; }; @ close($pic.fd); IF (strlen($2)) {MSG $pic.trg ** $2-} }{ IF (fexist($LiCePath/pics) == 1) { CD $LiCePath/pics; @ :pic.list = glob(*); ^CD ~; UNLESS (strlen($pic.list)) { XECHO -B No pictures found; RETURN; }; iecho Your picture collection:; echo.recursive $pic.list; uecho Usage: /PIC [target] [message]; }{ XECHO -B Path not found: $LiCePath/pics; IF (mkdir($LiCePath/pics)) { XECHO -B Failed to create: $LiCePath/pics; }; }; }; }; #tjh/12 lice5/lice/lice.party0000644000175000017500000005076511542462257013161 0ustar timtim# # LICE.PARTY v3.3 ircii-EPIC5 script module for use with LiCe v5.x # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # ---------------------------------------------------------------------- # Filename : LICE.PARTY # Description: Use of DCC CHAT/RAW to connect to partylines. # Author : SrfRoG (cag@codehack.com) -- one and only! # Edited by : HSOC (hsoc@irc.gr) -- there are many of us :p # EPIC5'd by : tjh (tim@muppetz.com) -- The lowest of the low! # ---------------------------------------------------------------------- IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; EVAL UNLESS (main.pset) { # Name of our partyline @ main.pnme = [LiCe Partyline]; # Maximum users to be connected to your hub @ main.pmaxu = 12; # Partyline settable options. # Sets: # C - Console status. # F - Continuous lines to consider flood # I - Remote invites. # J - Remote jupes (disconnects). # P - Password-protected remote links # B - Allow remote boots. # W - Receive WALLOPs. # @ main.pset = [CFIBPW]; @ main.chat = [8]; # Listening port for incoming hub connections @ main.pport = rand(59999); WHILE (main.pport < 2048) {@ main.pport = rand(59999)}; # Local hub password ^ASSIGN main.ppass party$rand(999); # Ping timeout for remote links ^ASSIGN main.pping 60; }; # Current people connected / invited # Connected @ chat.curr = 0; # Invited @ chat.invites = []; # Remote password @ chat.rpass = [ ]; # Partyline's topic ^ASSIGN chat.tnick SrfRoG; ^ASSIGN chat.ttext Visit http://lice.muppetz.com; @ chat.ttime = time(); # Internal routines. # DCC CHAT Section EVAL UNLESS (winnam(PL)) { XECHO -C $fmt.banner_tip() Tip: Use a dedicated Partyline window to reduce window noise.; XECHO -C $fmt.banner_tip() See "/HELP BINDS" for details.; }; ON ^DCC_CHAT * { IF (c_user[$hash_32bit($0)]) { chat.cmd.parse $*; }{ #mecho =$0= $1-; dmecho $fmt.dcc_chat($*); }; }; ON ^DCC_CHAT "% .CHAT" { UNLESS (c_user[$hash_32bit($0)]) { IF (main.pmaxu > chat.curr) { chat.init $0; }{ ^MSG =$0 *** Sorry, the partyline is full \($chat.curr users\); }; }{ ^MSG =$0 *** You are already connected! $randread($main.reason_error); }; }; ON #-DCC_LOST 26 "% CHAT *" { @ :hash = hash_32bit($0); IF (c_user[$hash]) { ^ASSIGN -c_user[$hash]; @ chat.curr--; chat.say *** $0 lost connection \($2-\); chat.net.say dummy STATUS $N $0 lost connection \($2-\); }; ^ASSIGN -c_chat[$hash]; }; ON #-DCC_CONNECT 26 "% CHAT *" { @ :idx = findw($0 $chat.invites); IF (idx != -1) { @ chat.invites = notw($idx $chat.invites); chat.init $0; }; }; ON #-DCC_REQUEST 13 -"% CHAT *"; ON #^DCC_REQUEST 26 "% CHAT *" { @ n_user[$hash_32bit($0)] = userhost() ## [ ] ## time(); IF (findw($0 $chat.invites) != -1) { WAIT -CMD //^DCC CHAT $0; }{ IF (finditem(DQCHAT $0) < 0) {queue.add DQCHAT 10 $0}; IF (L || A || chat.test) { XECHO -C $fmt.banner_dcc() DCC CHAT request from $0 ${servername($winserv()) != S ? [\($servername($servernum())\)] : []}; ECHO $fmt.banner_dcc() Type "/CHAT" to connect to $0.; }{ @ chat.test = 1; INPUT_CHAR "Connect DCC CHAT from $0 ? " { IF ([$0]==[Y]) {CHAT}{^DCC CLOSE CHAT $queue.tail(DQCHAT)}; ^ASSIGN -chat.test; };}; }; }; # DCC RAW Section ON ^DCC_RAW "% % D SYN" { IF (chat.set(C)) {pecho #$1# SYN received, sending ACK...}; //^DCC RAW $0 $1 ACK $encode(${chat.rpass}); }; ON ^DCC_RAW "% % D ACK %" { IF (decode($4) == main.ppass || !chat.set(P)) { IF (chat.set(C)) {pecho #$1# ACK received, checking ident...}; //^DCC RAW $0 $1 IDENT; }{ //^DCC CLOSE RAW $0; IF (chat.set(C)) {pecho #$1# Wrong ACK password. Closed connection.}; }; }; ON ^DCC_RAW "% % D IDENT" { IF (chat.set(C)) {pecho #$1# Ident requested...}; //^DCC RAW $0 $1 IDENT $N; }; ON ^DCC_RAW "% % D IDENT %" { IF (chat.set(C)) {pecho #$1# Ident received, connecting hub...}; //^DCC RAW $0 $1 RLINK $N ${main.pnme}; ^ASSIGN c_link[$0] $1 $4; }; ON ^DCC_RAW "% % D RLINK % *" { ^ASSIGN c_link[$0] $1 $4; //^DCC RAW $0 $1 LLINK $N ${main.pnme}; chat.say *** Remote connection \($4\) : $5-; chat.net.say $0 STATUS $N Remote connection \($4\) : $5-; }; ON ^DCC_RAW "% % D LLINK % *" { chat.say *** Remote connection \($4\) : $5-; chat.net.say $0 STATUS $N Remote connection \($4\) : $5-; }; ON ^DCC_RAW "% % D JUPE % % %" { IF ([$5] == N) { IF (chat.set(J)) { @ :jupe = []; FOREACH c_link fd { IF (word(1 $c_link[$fd]) == [$6]) { @ :jupe = fd; BREAK; }; }; IF (jupe) { ^ASSIGN -c_link[$jupe]; //^DCC CLOSE RAW $jupe; chat.say *** Remote link to $word(1 $c_link[$jupe]) juped by $4; chat.net.say dummy STATUS $N Remote link to $word(1 $c_link[$jupe]) juped by $4; }{ IF (chat.set(C)) {pecho #$4# Failed remote jupe for $6 (not linked)}; }; }{ IF (chat.set(C)) {pecho #$4# Failed remote jupe for $6\, remote jupes are disabled.}; }; }{ chat.net.say $0 $3-; }; }; ON ^DCC_RAW "% % D RBOOT % %@%" { @ :bhub = after(@ $5); IF (bhub == N) { @ :busr = before(@ $5); IF (chat.set(B)) { @ :who = hash_32bit($busr); IF (c_user[$who]) { chat.say *** $word(0 $c_user[$who]) was booted off by $4 ${strlen($6) ? [\($6-\)] : []}; chat.kill $busr; chat.net.say dummy STATUS $N $busr was booted off by $4 ${strlen($6) ? [\($6-\)] : []}; }{ IF (chat.set(C)) {pecho #$4# Failed boot for $busr (not connected)}; }; }{ IF (chat.set(C)) {pecho #$4# Attempted remote boot of $busr\, but remote boots are disabled}; }; }{ chat.net.say $0 $3-; }; }; ON ^DCC_RAW "% % D RWALL % *" { IF (chat.set(W)) {pecho [WallOp: $4] $5-}; chat.net.say $0 $3-; }; ON ^DCC_RAW "% % D RINV % % % %" { IF ([$7] == N) { IF (chat.set(I)) { chat.cmd.invite $5@$4 $6; IF (chat.set(C)) {pecho #$4# Remote invite $6 from $5}; }{ IF (chat.set(C)) {pecho #$4# Attempted remote invite of $6 by $5, but remote invites are disabled}; }; }{ chat.net.say $0 $3-; }; }; ON ^DCC_RAW "% % D RMSG %@% %@% *" { @ :mhub = after(@ $5); IF (mhub == N) { @ :musr = before(@ $5); IF (musr == N) { pecho [Msg: $4] $6-; }{ @ :who = hash_32bit($musr); IF (c_user[$who]) { ^MSG =$word(0 $c_user[$who]) [Msg: $4] $6-; }{ IF (chat.set(C)) {pecho #$4# Failed msg for $musr (not connected)}; }; }; }{chat.net.say $0 $3-}; }; ON ^DCC_RAW "% % D PUB *" { chat.say <$5@$4> $6-; chat.net.say $0 $3-; }; ON ^DCC_RAW "% % D ACT *" { chat.say * $5@$4 $6-; chat.net.say $0 $3-; }; ON ^DCC_RAW "% % D STATUS *" { chat.say *** \($4\) $5-; chat.net.say $0 $3-; }; ON ^DCC_RAW "% % D RWHO % %" { //^DCC RAW $0 $1 who $N $5@$4 [LinkHub] $after(@ $X); FOREACH c_user idx { //^DCC RAW $0 $1 WHO $N $5@$4 $[9]word(0 $c_user[$idx]) $word(1 $c_user[$idx]) \(Idle\: $tdiff2(${time() - word(3 $c_user[$idx])})\); }; chat.net.say $0 $3-; }; ON ^DCC_RAW "% % D RTOP % % *" { ^ASSIGN chat.tnick $5@$4; ^ASSIGN chat.ttext $6-; @ chat.ttime = time(); chat.say *** $5@$4 changed the topic: $6-; chat.net.say $0 $3-; }; ON ^DCC_RAW "% % D RPING % %" { //^DCC RAW $0 $1 PING $N $5; }; ON ^DCC_RAW "% % D PING % %" { @ :rping = time() - [$5]; IF (rping >= main.pping) { @ :dup2 = word(1 $c_link[$0]); ^ASSIGN -c_link[$0]; //^DCC CLOSE RAW $0; chat.say *** Remote link to $dup2 timed out.; chat.net.say dummy STATUS $N Remote link to $dup2 time out.; }; }; ON ^DCC_RAW "% % D WHO % %@% *" { @ :hub = after(@ $5); IF (hub == N) { @ :usr = before(@ $5); IF (c_user[$hash_32bit($usr)]) { ^MSG =$usr $[9]4 $6-; }{ IF (usr == N) { pecho $[9]4 $6-; }; }; }{ chat.net.say $0 $3-; }; }; ON ^DCC_RAW "% % C" { IF (c_link[$0]) { @ :who = word(1 $c_link[$0]); ^ASSIGN -c_link[$0]; chat.say Closing connection: $who; chat.net.say $0 STATUS $N Closing connection: $who; }; }; ON ^DCC_RAW "% % N %" { IF ([$3] == main.pport) { IF (chat.set(C)) {pecho #$1# SYN sent...}; //^DCC RAW $0 $1 SYN; }; }; #ON ^DCC_RAW "% % E %" # Server/Internal routines. ON #-TIMER 26 * {chat.net.say dummy RPING $N $time()}; ALIAS pecho {if (winnum(PL) != -1) {XECHO -W PL $fmt.banner_party() $*} {XECHO -V $fmt.banner_party() $*}}; ALIAS chat.set @ function_return = (pass($0 $main.pset) != []); ALIAS chat.kill { ^ASSIGN -c_user[$hash_32bit($0)]; @ chat.curr--; //^DCC CLOSE CHAT $0; }; ALIAS chat.init { @ chat.curr++; @ :hash = hash_32bit($0); IF (c_chat[$hash]) { @ c_user[$hash] = c_chat[$hash]; ^ASSIGN -c_chat[$hash]; }{ @ c_user[$hash] = [$0 ] ## n_user[$hash] ## [ ] ## time(); ^ASSIGN -n_user[$hash]; }; chat.cmd.motd $0; chat.say *** $0 has joined ${main.pnme}; chat.cmd.topic $0; chat.net.say dummy STATUS $N $0 has joined ${main.pnme}; }; ALIAS chat.cmd.parse { @ :line = [$1-]; @ :cmd = rest(1 $word(0 $line)); IF (left(1 $line) == [.] && aliasctl(ALIAS EXISTS chat.cmd.$cmd)) { chat.cmd.$cmd $0 $restw(1 $line); }{ UNLESS (flood_check == flood_check.[$0]) {^ASSIGN -flood_check}; IF (flood_check < main.chat) { @ flood_check.[$0] = flood_check.[$0] ? flood_check.[$0] : 0; @ flood_check.[$0]++; @ c_user[$hash_32bit($0)] = notw(3 $c_user[$hash_32bit($0)]) ## [ ] ## time(); chat.say <$0> $line; chat.net.say dummy PUB $N $0 $line; @ flood_check = flood_check.[$0]; ^TIMER 4 @ flood_check.[$0]--; }{ ^ASSIGN -flood_check.[$0]; chat.say *** $0 was booted off for flooding.; chat.net.say dummy STATUS $N $0 was booted off for flooding.; chat.kill $0; };}; }; ALIAS chat.cmd.help { ^MSG =$0 : ${main.pnme} Commands:; ^MSG =$0 : .INVITE [nick [hub]] : invite someone, view invites.; ^MSG =$0 : .ME : do an action on the partyline.; ^MSG =$0 : .NAMES : shows who's connected to your hub.; ^MSG =$0 : .QUIT : detach from partyline, stay in DCC CHAT.; ^MSG =$0 : .CHAT : retach back to partyline, from DCC CHAT.; ^MSG =$0 : .TOPIC [topic] : set or view current topic.; ^MSG =$0 : .WHO : shows who's connected thru all hubs.; ^MSG =$0 : .MSG : sends a msg to .; ^MSG =$0 : .WALL : send a msg to only the people on $N\.; }; ALIAS chat.cmd.motd { ^MSG =$0 : :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::; ^MSG =$0 : : @..@ \( Welcome to the LiCe partyline on $[9]N \) :; ^MSG =$0 : : (\--/) / :; ^MSG =$0 : : (.>__<.) Use '.HELP' for command help. :; ^MSG =$0 : : ^^^ ^^^ Send all comments to SrfRoG (cag@codehack.com) :; ^MSG =$0 : :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::; }; ALIAS chat.cmd.quit { chat.say *** $0 has left ${main.pnme}; @ :hash = hash_32bit($0); @ c_chat[$hash] = c_user[$hash]; @ chat.curr--; ^ASSIGN -c_user[$hash]; chat.net.say dummy STATUS $N $0 has left ${main.pnme}; }; ALIAS chat.cmd.me { @ c_user[$hash_32bit($0)] = notw(3 $c_user[$hash_32bit($0)]) ## [ ] ## time(); chat.say * $0 $1-; chat.net.say dummy ACT $N $0-; }; ALIAS chat.cmd.topic { IF (strlen($1)) { ^ASSIGN chat.tnick $0; ^ASSIGN chat.ttext $1-; @ chat.ttime = time(); chat.say *** $0 changed the topic: $chat.ttext; chat.net.say dummy RTOP $N $0 $chat.ttext; }{ IF (chat.ttime > 0) { ^MSG =$0 *** Topic: $chat.ttext; ^MSG =$0 *** Topic set by $chat.tnick\ on $strftime($chat.ttime %c %Z); }{ ^MSG =$0 *** No topic set.; }; }; }; ALIAS chat.cmd.invite { IF (strlen($1)) { IF (strlen($2) && [$2] != N) { chat.net.say dummy RINV $N $0 $1 $2; IF (chat.set(C)) {pecho #$0# INVITE $1@$2}; }{ IF (!c_user[$hash_32bit($1)] && [$1] != N) { IF (main.pmaxu > (chat.curr + 1)) { IF (findw($1 $chat.invites) == -1) { PUSH chat.invites $1; chat.say *** $0 Invited $1 to ${main.pnme}; chat.net.say dummy STATUS $N $0 Invited $1 to ${main.pnme}; }{ IF ([$0] == N) { pecho *** Already inviting $1! $main.dem; }{^MSG =$0 *** Already inviting $1! $main.dem}; }; QUOTE NOTICE $1 :$0 invites you to ${main.pnme}; QUOTE NOTICE $1 :Type: /DCC CHAT $N\ to connect.; }{ IF ([$0] == N) { pecho *** Sorry, the partyline is full \($chat.curr\); }{^MSG =$0 *** Sorry, the partyline is full \($chat.curr\)}; }; }{ IF ([$0] == N) { pecho *** $1 is already here!; }{^MSG =$0 *** $1 is already here!}; }; }; }{ ^MSG =$0 *** Usage: .INVITE [nick [hub]]; IF (chat.invites) {^MSG =$0 *** Invites pending: [$#chat.invites] $chat.invites}; }; }; ALIAS chat.cmd.wall { IF (strlen($1)) { chat.say [Wall: $0] $1-; }{ ^MSG =$0 *** Usage: .WALL ; }; }; ALIAS chat.cmd.msg { IF (strlen($2)) { @ :who = hash_32bit($1); IF (c_user[$who]) { ^MSG =$word(0 $c_user[$who]) [Msg: $0] $2-; IF ([$0] == N) { pecho [Msg->$word(0 $c_user[$who])] $2-; }{^MSG =$0 [Msg->$word(0 $c_user[$who])] $2-}; IF (chat.set(C)) {pecho #$0# MSG $1}; }{ IF ([$1] == N) { IF ([$0] == N) { pecho [Msg->$word(0 $1)] $2-; }{^MSG =$0 [Msg->$word(0 $1)] $2-}; pecho [Msg: $0] $2-; }{ chat.net.say dummy RMSG $0@$N $1-; IF (chat.set(C)) {pecho #$0# MSG $1}; }; }; }{ ^MSG =$0 *** Usage: .MSG ; }; }; ALIAS chat.cmd.names { ^MSG =$0 *** Names on $N: ${main.pnme}; @ :cnt = 1; FOREACH c_user id { ^MSG =$0 [$[2]cnt] $[9]word(0 $c_user[$id]) $word(1 $c_user[$id]) \(online $tdiff2(${time() - word(2 $c_user[$id])})\); @ cnt++; }; IF (chat.set(C)) {pecho #$0# NAMES}; }; ALIAS chat.cmd.who { ^MSG =$0 Hub Nick Remote Address; ^MSG =$0 $[9]N [LinkHub] $after(@ $X); FOREACH c_user id { ^MSG =$0 $[9]N $[9]word(0 $c_user[$id]) $word(1 $c_user[$id]) \(Idle\: $tdiff2(${time() - word(3 $c_user[$id])})\); }; chat.net.say dummy RWHO $N $0; IF (chat.set(C)) {pecho #$0# WHO}; }; ALIAS chat.say (out) { FOREACH c_user id { @ :who = word(0 $c_user[$id]); ^MSG =$who $out; }; pecho $out; }; ALIAS chat.net.say (sock,out) { FOREACH c_link fd { IF (fd == sock) {CONTINUE}; //^DCC RAW $fd $word(0 $c_link[$fd]) $out; }; }; # Root routines/commands. ALIAS . { chat.say <$N\> $*; chat.net.say dummy PUB $N $N $*; }; ALIAS .me { chat.say * $N $*; chat.net.say dummy ACT $N $N $*; }; ALIAS .names { pecho Names on $N: ${main.pnme}; @ :cnt = 1; FOREACH c_user id { pecho [$[2]cnt] $[9]word(0 $c_user[$id]) $word(1 $c_user[$id]) \(online $tdiff2(${time() - word(2 $c_user[$id])})\); @ cnt++; }; }; ALIAS .who { pecho Nick Remote Address; pecho $[9]N LocalHost $after(@ $X) \(port\: $main.pport\); FOREACH c_user id { pecho $[9]word(0 $c_user[$id]) $word(1 $c_user[$id]) \(Idle\: $tdiff2(${time() - word(3 $c_user[$id])})\); }; chat.net.say dummy RWHO $N $N; }; ALIAS .msg { IF (strlen($1)) { chat.cmd.msg $N $*; }{ uecho Usage: /.MSG ; }; }; ALIAS .invite { IF (@) { chat.cmd.invite $N $*; }{ uecho Usage: /.INVITE [nick [hub]]; IF (chat.invites) {pecho Invites pending: [$#chat.invites] $chat.invites}; }; }; ALIAS .link { IF (isnumber($1) && strlen($2)) { ^ASSIGN chat.rpass $2; @ :r_conn = connect($0 $1); WAIT =$r_conn; IF (chat.set(C)) { IF (r_conn > 0) { pecho Connected to $0:$1; }{ pecho Remote connect to $0:$1 failed; }; }; }{ uecho Usage: /.LINK ; }; }; ALIAS .unlink { IF (@) { FOREACH c_link kfd { @ :old = word(1 $c_link[$kfd]); IF (old == [$0] || old == [*]) { ^ASSIGN -c_link[$kfd]; //^DCC CLOSE RAW $kfd; chat.say *** Closed remote connection to $old; chat.net.say dummy STATUS $N Closed remote connection to $old; }; }; }{ uecho Usage: /.UNLINK ; }; }; ALIAS .listen { @ listen($main.pport); IF (chat.set(C)) {pecho Listening TCP connection to port ${main.pport}}; }; ALIAS .close { //DCC CLOSE RAW_LISTEN $main.pport; IF (chat.set(C)) {pecho No longer listening to port ${main.pport}}; }; ALIAS .jupe { IF (strlen($1)) { chat.net.say dummy JUPE $N $0 $1; }{ uecho Usage: /.JUPE ; }; }; ALIAS .boot { IF (@) { IF (c_user[$hash_32bit($0)]) { chat.say *** $0 was booted off by $N ${strlen($1) ? [\($1-\)] : []}; chat.kill $0; chat.net.say dummy STATUS $N $0 was booted off by $N ${strlen($1) ? [\($1-\)] : []}; }{ chat.net.say dummy RBOOT $N $0 ${strlen($1) ? [\($1-\)] : []}; }; }{ uecho Usage: /.BOOT ; }; }; ALIAS .wallop { IF (@) { chat.say [WallOp: $N] $*; chat.net.say dummy RWALL $N $*; }{ uecho Usage: /.WALLOP ; }; }; ALIAS .wall { IF (@) { chat.say [Wall: $N] $*; }{ uecho Usage: /.WALL ; }; }; ALIAS .topic { IF (@) { chat.cmd.topic $N $*; }{ IF (chat.ttime > 0) { pecho Topic: $chat.ttext; pecho Topic set by $chat.tnick\ on $strftime($chat.ttime %c %Z); }{ pecho No topic set.; }; }; }; ALIAS .commands {.help}; ALIAS .help { pecho Commands valid on the partyline to you:; pecho . - Talk on the partyline; pecho .ME - Do an action.; pecho .NAMES - List of nicks connected to you.; pecho .WHO - Extended list of all nicks connected,; pecho on all hubs.; pecho .INVITE - Invite an outside nick to the partyline.; pecho .LINK ; pecho - Link to a remote hub. Password might not be; pecho necessary unless the remote hub requires it.; pecho .UNLINK - Unlink a hub by name, or '*' to unlink all.; pecho .LISTEN - Allow remote hub connections to you.; pecho .CLOSE - Close remote hub connection access.; pecho .BOOT ; pecho - Boot (kick equiv.) a nick from the partyline.; pecho Will be booted off any other hubs that allow; pecho remote boots.; pecho .JUPE - Disconnect a linked hub on remotely.; pecho .TOPIC [topic] - Change or view the hub's current topic.; pecho Topics are local, not shared remotely.; pecho .SETUP - Change internal settings to the partyline.; pecho .STATUS - View partyline's information.; pecho .WALL - Send a message only to local clients.; pecho .WALLOP - Send a message to local clients and hubs.; }; ALIAS .setup { INPUT "Partyline's name [curr $main.pnme]: " IF (@) {^ASSIGN main.pnme $0-}; INPUT "Max users allowed [curr $main.pmaxu]: " IF (isnumber($0) && [$0] > 0) {^ASSIGN main.pmaxu $0}; INPUT "How many continuous lines will constitute flood [curr $main.chat]: " IF (isnumber($0) && [$0] > 0) {^ASSIGN main.chat $0}; INPUT "Port to use for remote links [curr $main.pport]: " IF (isnumber($0) && [$0] > 1025) {^ASSIGN main.pport $0}; INPUT "Ping timeout for remote links [curr $main.pping]: " IF (isnumber($0) && [$0] > 10) {^ASSIGN main.pping $0}; INPUT "Password for remote links [curr $main.ppass]: " IF (@) {@ main.ppass = left(7 $0)}; INPUT "Partyline settings [curr $main.pset]: " IF (@) { FEC ($toupper($0)) xx { IF (pass($xx $main.pset)) { @ main.pset = strip($xx $main.pset); }{ IF (pass($xx CFIJPBW)) {@ main.pset = main.pset ## xx}; }; }; }; XECHO -B Partyline settings:; XECHO -B C - Console status.; XECHO -B F - Continuous lines to consider flood; XECHO -B I - Remote invites.; XECHO -B J - Remote jupes.; XECHO -B B - Remote boots.; XECHO -B P - Password protected links.; XECHO -B W - Receive WALLOPs.; }; ALIAS .status { IF (chat.ttime > 0) { pecho Topic: $chat.ttext; pecho Topic set by $chat.tnick\ on $strftime($chat.ttime %c %Z); }{ pecho No topic set.; }; pecho Current people connected: $chat.curr \(max $main.pmaxu\); pecho Current people invited: $#chat.invites; pecho Remote link port $main.pport\, password $main.ppass; pecho Active settings: $main.pset; }; ALIAS party .status; #tjh/09 lice5/lice/lice.update0000644000175000017500000000760611760743366013305 0ustar timtim# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.codehack.com # --------------------------------------------------------------------------- # Updated for EPIC5 by tjh IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; ^ASSIGN update.site http://lice.muppetz.com/sites/lice.muppetz.com/files/LiCe/updates/$id.v; ^ASSIGN update.list $lice.save_path/.lice_updates.txt; # this routine checks that the path to the local file exists, and creates new # directories as necessary. ALIAS _proc.update_checkpath (rpath) { @ :path = urldecode($rpath); @ :path = mid(2 256 $mid(0 $rindex(/ $path) $path)); @ temp.update_mess = split(/ $urldecode($path)); @ :step = $lice.save_path; @ :segm = []; DO { @ :step #= segm ## [/]; IF (fexist($step) == -1 && !mkdir($step)) {XECHO -C $fmt.banner_info() Created dir: $step}; } WHILE (:segm = shift(temp.update_mess)) }; # this routine copies the local file to its new location in the load path ALIAS _proc.update_copyfile (t_file) { _proc.update_checkpath $t_file; @ :l_file = lice.save_path ## mid(2 256 $urldecode($t_file)); @ :rv = rename($l_file $l_file\.old); @ :rv = rename($t_file $l_file); RETURN $rv; }; # this routine recursively downloads files from the remote server. # some lame statistics are displayed at the end. # XXX - WHY DO WE NEED TIMER THERE?@!??@! ALIAS _proc.update_s3 { IF (strlen($update_requests)) { @ :r_file = shift(update_requests); @ :l_file = [~/] ## urlencode($r_file); ^ON ^HOOK "WGET_STATUS $l_file DONE %" { @ :rv = _proc.update_copyfile($1); UNLESS (rv) { @ temp.update_files += 1; @ temp.update_bytes += [$3]; }; _proc.update_s3; ^ON ^HOOK -"WGET_STATUS $1 ERROR *"; ^ON ^HOOK -"WGET_STATUS $1 DONE %"; }; ^ON ^HOOK "WGET_STATUS $l_file ERROR *" { _proc.update_s3; ^ON ^HOOK -"WGET_STATUS $1 DONE %"; ^ON ^HOOK -"WGET_STATUS $1 ERROR *"; }; TIMER 0 _proc.wget_main $update.site/$r_file $l_file; XECHO -C $fmt.banner_info() Requesting file $r_file; }{ IF (temp.update_files) {XECHO -C $fmt.banner_info() Update complete: $temp.update_files file$plural($temp.update_files)\, $temp.update_bytes byte$plural($temp.update_bytes)}; ^ASSIGN -temp.update_files; ^ASSIGN -temp.update_bytes; ^ASSIGN -temp.update_mess; }; }; # this routine will check the local files with those in the list we fetches # and those files with different size will be insert to a list for download. # XXX - downloads should sort by size # XXXX - I WISH WE HAD MD5 CHECKSUMS !! ALIAS _proc.update_s2 { @ :fd = open($update.list R); UNTIL (eof($fd)) { @ :line = read($fd); IF (left(1 $line) == [#]) {CONTINUE}; IF (left(1 $line) == [!]) { XECHO -C $fmt.banner_info() $rest(1 $line); CONTINUE; }; IF (left(1 $line) == [^]) { @ :majorv = 1; CONTINUE; }; @ :r_file = word(0 $line); @ :r_size = word(1 $line); IF (!strlen($r_file) || !isnumber($r_size)) {CONTINUE}; @ :l_size = fsize(lice.save_path/$r_file); IF (r_size != l_size) {PUSH update_requests $r_file}; }; @close($fd); IF (strlen($update_requests)) { ^ASSIGN temp.update_files 0; ^ASSIGN temp.update_bytes 0; _proc.update_s3; }{ UNLESS (majorv) { XECHO -C $fmt.banner_info() No LiCe updates necessary.; }; }; }; # this routines fetches the remote update list that we'll use to check # local files. we silence errors. ALIAS _proc.update_s1 { @unlink($update.list); ^ON ^HOOK "WGET_STATUS $update.list DONE %" {_proc.update_s2}; _proc.wget_main $update.site/lice_updates.txt $update.list; }; ALIAS update {_proc.update_s1 $*}; ALIAS upgrade {update $*}; #tjh/12 lice5/lice/lice.looplist0000644000175000017500000000337011542462257013655 0ustar timtim# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.codehack.com # --------------------------------------------------------------------------- # Updated for EPIC5 by tjh IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; # $0 = server, $1 = channel, $2 = nick list, $3 = kick reason. # this routine cleans up after itself ALIAS _proc.loop_kick { ^LOCAL kick.l $($2); ^LOCAL kick.m $($3); FE ($kick.l) kick.1 { _proc.quote_add $0 KICK $1 $kick.1 :$kick.m; }; _proc.quote_flush $0; ^ASSIGN -$2; ^ASSIGN -$3; }; # $0 = server, $1 = mode, $2 = type, $3 = channel, $4 = nicks # this routine cleans up after itself ALIAS _proc.loop_mode { ^LOCAL lm.str; ^LOCAL lm.lst $($4); FE ($lm.lst) lm.1 { PUSH lm.str $lm.1; IF (#lm.str == lice.get(main.mnm)) { _proc.quote_add $0 MODE $3 $1$repeat($lice.get(main.mnm) $2) $lm.str; @ :lm.str = []; }; }; IF (strlen($lm.str)) {_proc.quote_add $0 MODE $3 $1$repeat($#lm.str $2) $lm.str}; _proc.quote_flush $0; ^ASSIGN -$4; }; # $0 = server, $1 = NOTICE/PRIVMSG, $2 = nicks, $3 = msg # this routine cleans up after itself ALIAS _proc.loop_send { ^LOCAL msg.nicks $($2); ^LOCAL msg.msg $($3); ^LOCAL msg.send; FE ($msg.nicks) msg.1 { @ :msg.send #= msg.1 ## [,]; IF (#msg.send == lice.get(main.mns)) { _proc.quote_add $0 $1 $msg.send :$msg.msg $chr(18)$rand(999); @ :msg.send = []; }; }; IF (strlen($msg.send)) {_proc.quote_add $0 $1 $msg.send :$msg.msg}; _proc.quote_flush $0; ^ASSIGN -$2; ^ASSIGN -$3; }; #tjh/10 lice5/lice/lice.kick0000644000175000017500000000167211542462257012734 0ustar timtim# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.codehack.com # --------------------------------------------------------------------------- # Updated for EPIC5 by tjh IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; ALIAS k { UNLESS (@) { uecho Usage: /K [reason]; RETURN; }; UNLESS (ischanop($N $C)) { XECHO -B $ch($C)\: You're not channel operator.; RETURN; }; IF (rmatch($0 *.* *!* *@* %\\* \\*%)) { get_user_match $C $uhc($0) kick_list; @ kick_list = remw($N $kick_list); }{ ^ASSIGN kick_list $0; }; @ kick_msg = strlen($1) ? [$1-] : randread($main.reason_kick); _proc.loop_kick $winserv() $C kick_list kick_msg; }; #tjh/09 lice5/lice/lice.chanst0000644000175000017500000000257711753642157013303 0ustar timtim# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.codehack.com # --------------------------------------------------------------------------- # Updated for EPIC5 by tjh # Updated to support halfop by tjh 13/05/2012 IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; # Description: gives some channel statistics ALIAS chanst { @ :ch.name = ischannel($0) ? [$0] : C; UNLESS (onchannel($N $ch.name)) { IF (ch.name == [0]) { XECHO -B You're not on a channel in this window.; RETURN; }; XECHO -B $ch($ch.name)\: You're not on that channel.; RETURN; }; @ :ch.o = 0; @ :ch.ho = 0; @ :ch.d = 0; @ :ch.v = 0; @ :ch.t = 0; @ :ch.h = hash_32bit($ch.name); @ :ch.b = numitems(B$winserv()\-$ch.h); FE ($channel($ch.name)) ch.1 { @ ch.t++; IF (left(1 $ch.1) == [@]) { @ ch.o++ } ELSIF (left(1 $ch.1) == [%]) { @ ch.ho++ } ELSIF (mid(1 1 $ch.1) == [+]) { @ ch.v++ }{ @ ch.d++; }; }; @ :sets = strlen($lice.get(chan[$ch.h][S])) ? [\(Sets\: \+] ## lice.get(chan[$ch.h][S]) ## [\)] : []; XECHO -B Stats $ch($ch.name)\: \($ch.t\) +o[$ch.o] +h[$ch.ho] +v[$ch.v] -o[$ch.d] +b[$ch.b] $sets; }; #tjh/12 lice5/lice/lice.sc0000644000175000017500000000356411752157556012430 0ustar timtim# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.codehack.com # --------------------------------------------------------------------------- # Updated for EPIC5 by tjh IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; ALIAS sc { IF ([$0]==[-f]) { IF (!ismset(V)) { @ :xum = 1; @ lice.set(main.mset ${lice.get(main.mset)##[V]}); }; NAMES ${ischannel($1) ? [$1] : C}; IF (xum) {WAIT -CMD @ lice.set(main.mset $strip(V $lice.get(main.mset)))}; RETURN; }; @ :chan = ischannel($0) ? [$0] : C; IF (chan == [0]) {RETURN}; UNLESS (onchannel($servernick() $chan)) { NAMES $chan; RETURN; }; @ :max = fmt.sc_max() ? fmt.sc_max() : (word(0 $geom()) - 1) / 11; @ :min = ismset(T) ? ((strlen($strftime($lice.get(main.tsfmt))) + 2) / 11) + 1 : 0; @ :max -= min; @ scn.v = scn.o = scn.l = scn.h = 0; @ :scn.list = []; ECHO $fmt.sc_top($chan); FE ($channel($chan)) nick { PUSH scn.list $_proc.scn_mode($nick); IF (numwords($scn.list) != max) {CONTINUE}; ECHO $fmt.sc_mid($scn.list); @ :scn.list = []; }; IF (strlen($scn.list)) {ECHO $fmt.sc_mid($scn.list)}; @ :scn.t = scn.v + scn.o + scn.l + scn.h; IF (aliasctl(ALIAS EXISTS fmt.sc_bot)) {ECHO $fmt.sc_bot($chan $scn.o $scn.h $scn.v $scn.l $scn.t)}; purge scn; }; ALIAS _proc.scn_mode (nick) { @ :nic = mid(2 9 $nick); IF (left(1 $nick) == [@]) { @ scn.o++; ^LOCAL mod @; } ELSIF (left(1 $nick) == [%]) { @ scn.h++; ^LOCAL mod %; } ELSIF (mid(1 1 $nick) == [+]) { @ scn.v++; ^LOCAL mod +; } ELSE { IF (strlen($nick)) {@ scn.l++}; }; @ :ret = mod ## nic; RETURN $ret; }; #tjh/12 lice5/lice/lice.redcc0000644000175000017500000000272211542462257013070 0ustar timtim# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.codehack.com # --------------------------------------------------------------------------- # Updated for EPIC5 by tjh IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; ALIAS redcc { SWITCH ($0) { () { IF (temp.redirect_dcc) { XECHO -B Redirecting all DCC GET's to $temp.redirect_dcc via DCC CHAT.; }{uecho Usage: /REDCC [-q | ]}; }; (-q) { ^ON ^RAW_IRC -'*!*@* PRIVMSG $servernick() :$chr(1)DCC SEND *$chr(1)'; XECHO -B No longer redirecting DCC GET's${temp.redirect_dcc ? [ to $temp.redirect_dcc\.] : [.]}; ^ASSIGN -temp.redirect_dcc; }; (*) { ^ASSIGN temp.redirect_dcc $0; ^ON ^RAW_IRC '*!*@* PRIVMSG $servernick() :$chr(1)DCC SEND *$chr(1)' { @ :str = chop(1 $rest(2 $3-)); ECHO $fmt.banner_dcc() Redirecting DCC GET [$5 $rightw(1 $str)] from $before(! $0) to $temp.redirect_dcc ...; STACK PUSH ON SEND_DCC_CHAT; ^ON ^SEND_DCC_CHAT * #; ^MSG =$temp.redirect_dcc REDIRECT $0 $str; ^ON ^SEND_DCC_CHAT -; STACK POP ON SEND_DCC_CHAT; }; XECHO -B Now redirecting all DCC GET's to $temp.redirect_dcc\ via DCC CHAT.; }; }; }; #tjh/09 lice5/lice/lice.chanlog0000644000175000017500000001126711542462257013427 0ustar timtim# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 whitefang (thall@magenet.com) - Broken email. # # --------------------------------------------------------------------------- # All code by whitefang, unless specified. Visit http://wolf.magenet.com # --------------------------------------------------------------------------- # Updated for EPIC5 by tjh # This was originally part of the wolf addon for LiCe4.x by whitefang # I have now merged into LiCe5. I hope you don't mind fang! tjh IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; @ mkdir($lice.save_path/logs); ALIAS chanlog { UNLESS (@) { uecho Usage: /CHANLOG -a ; uecho Usage: /CHANLOG -d ; uecho Usage: /CHANLOG -l ; RETURN; }; @ :opts = []; WHILE (opts = getopt(optopt optarg "a:d:l::" $*)) { @ :chan = optarg; @ :file = [$lice.save_path/logs/$tolower($chan)\.log]; @ :hash = hash_32bit($chan); SWITCH ($opts) { (a) { _proc.open_log $chan; _proc.log_p $chan; _proc.log_k $chan; _proc.log_j $chan; @lice.set(![$hash][C] $chan); ^ASSIGN chanlog[$hash][C] $chan; iecho Chanlog: logging $chan to $file; CONTINUE; }; (d) { IF (temp[chanlog][$hash][fd]) { @ close($temp[chanlog][$hash][fd]); ^ASSIGN -temp[chanlog][$hash][fd]; }; _proc.nolog_p $chan; _proc.nolog_k $chan; _proc.nolog_j $chan; @lice.del(![$hash][C]); ^ASSIGN -chanlog[$hash][C]; iecho Chanlog: no longer logging $chan; }; (l) { IF (chan) { UNLESS (chanlog[$hash][C]) { iecho Chanlog: channel log information not found.; } { iecho ------- Channel Log Information ------------; iecho Channel: $chan \($file\); iecho +--- Last Mofified -------+-- Size ---------; iecho $stime($ftime($lice.save_path/logs/$tolower($chan)\.log)) | $fsize($lice.save_path/logs/$tolower($chan)\.log) bytes; }; } { FOREACH chanlog hash { UNLESS (cnt) {iecho ----- Channel -------- File -----------------}; @ :cnt++; @ :chn = chanlog[$hash][C]; iecho [$[3]cnt] $chn $lice.save_path/logs/$tolower($chn)\.log; }; UNLESS (cnt) {iecho Chanlog: no logged channels found.}; }; }; }; }; }; ALIAS _proc.open_log (chan) { @ :file = [$lice.save_path/logs/$tolower($chan)\.log]; @ :hash = hash_32bit($chan); IF (temp[chanlog][$hash][fd]) {@ close($temp[chanlog][$hash][fd])}; @ temp[chanlog][$hash][fd] = open($file W); }; ALIAS _proc.putlog {@ write($temp[chanlog][$hash_32bit($0)][fd] $strftime(%b %d %X) $0 $1-)}; ALIAS _proc.log_p (chan) { ^ON #-PUBLIC 420 "% $chan *" {_proc.putlog $1 <$0> $2-}; ^ON #-PUBLIC_MSG 420 "% $chan *" {_proc.putlog $1 <$0> $2-}; ^ON #-PUBLIC_OTHER 420 "% $chan *" {_proc.putlog $1 <$0> $2-}; ^ON #-SEND_PUBLIC 420 "$chan *" {_proc.putlog $0 <$N> $1-}; ^ON #-PUBLIC_NOTICE 420 "% $chan *" {_proc.putlog $1 +$0+ $2-}; ^ON #-SEND_NOTICE 420 "$chan *" {_proc.putlog $0 +$N+ $1-}; ^ON #-ACTION 420 "% $chan *" {_proc.putlog $1 * $0 $2-}; ^ON #-SEND_ACTION 420 "$chan *" {_proc.putlog $0 * $N $1-}; ^ON #-CTCP 420 "% $chan % *" {_proc.putlog $1 *** $0 sent a CTCP $2${[$3]?[: $3-]:[]}}; }; ALIAS _proc.nolog_p (chan) { ^ON #-PUBLIC 420 -"% $chan *"; ^ON #-PUBLIC_MSG 420 -"% $chan *"; ^ON #-PUBLIC_OTHER 420 -"% $chan *"; ^ON #-SEND_PUBLIC 420 -"$chan *"; ^ON #-PUBLIC_NOTICE 420 -"% $chan *"; ^ON #-SEND_NOTICE 420 -"$chan *"; ^ON #-ACTION 420 -"% $chan *"; ^ON #-SEND_ACTION 420 -"$chan *"; ^ON #-CTCP 420 -"% $chan % *"; }; ALIAS _proc.log_k (chan) { ^ON #-KICK 420 "% % $chan *" {_proc.putlog $2 *** $0 has been kicked by $1 \($3-\)}; ^ON #-MODE 420 "% $chan *" {_proc.putlog $1 *** Mode change by $0: $2-}; ^ON #-TOPIC 420 "% $chan *" {_proc.putlog $1 *** Topic change by $0: $2-}; }; ALIAS _proc.nolog_k (chan) { ^ON #-KICK 420 -"% % $chan *"; ^ON #-MODE 420 -"% $chan *"; ^ON #-TOPIC 420 -"% $chan *"; }; ALIAS _proc.log_j (chan) { ^ON #-JOIN 420 "% $chan *" {_proc.putlog $1 *** $0 \($2\) has joined}; ^ON #-PART 420 "% $chan *" {_proc.putlog $1 *** $0 \($userhost()\) has left}; ^ON #-CHANNEL_NICK 420 "$chan % %" {_proc.putlog $0 *** $1 changed their nick to $2}; ^ON #-CHANNEL_SIGNOFF 420 "$chan % *" {_proc.putlog $0 *** Signoff by $1 \($2-\)}; }; ALIAS _proc.nolog_j (chan) { ^ON #-JOIN 420 -"% $chan % *"; ^ON #-PART 420 -"% $chan % *"; ^ON #-CHANNEL_NICK 420 -"$chan % %"; ^ON #-CHANNEL_SIGNOFF 420 -"$chan % *"; }; #tjbh/2000 #tjh/11 lice5/lice/lice.ulw_whoami0000644000175000017500000000317711542462257014170 0ustar timtim# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.codehack.com # --------------------------------------------------------------------------- # Updated for EPIC5 by tjh IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; # !WHOAMI command ALIAS _proc.ulw_whoami (nick,uh,serv,pass,void) { @ :myhand = find_in_list(User $nick!$uh); UNLESS (myhand) {RETURN}; FE ($myhand) hand { UNLESS (lice.get(main_PL$hand)) { XQUOTE -S $serv NOTICE $nick :You don't have a password set. Type: /MSG $servernick($serv) !HELP PASS; RETURN; }; IF (pass != lice.get(main_PL$hand)) { XQUOTE -S $serv NOTICE $nick :Invalid password. $randread($main.reason_error); RETURN; }; FOR (@:cnt=0, numitems(Userlist) > cnt, @ :cnt++) { @ :hn = getitem(Userlist $cnt); @ :hash = hash_32bit($hn); IF (hash == hand) { @ :handle = hn; BREAK; }; }; _proc.quote_add $serv NOTICE $nick :That host matches handle '$handle\'; @ :host = numitems(User$hand); FOR (@ :cnt=0, host > cnt, @ cnt++) { _proc.quote_add $serv NOTICE $nick :+ Host ${cnt + 1}: $getitem(User$hand $cnt); }; @ :chan = numitems(ChanUser$hand); FOR (@ :cnt=0, chan > cnt, @ cnt++) { @ :item = getitem(ChanUser$hand $cnt); @ :mode = _proc.ul_m2a(User $word(1 $item)); _proc.quote_add $serv NOTICE $nick :+ Chan ${cnt + 1}: $word(0 $item) | Mode: +$mode; }; }; _proc.quote_flush $serv; }; #tjh/09 lice5/lice/lice.boot0000644000175000017500000000162211542462257012751 0ustar timtim# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.codehack.com # --------------------------------------------------------------------------- # Updated for EPIC5 by tjh IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; # BOOT - Multiple channel kickban ALIAS boot { UNLESS (@) { uecho Usage: /BOOT ; RETURN; }; @ :nick = [$0]; @ :kmsg = strlen($1) ? [$1-] : randread($main.reason_kick); @ :serv = winserv(); @ :patt = mask(0 $get_uh($nick)); FE ($mychannels()) chan { UNLESS (onchannel($nick $chan)) {CONTINUE;}; _proc.ban $chan $serv $patt $nick; _proc.quote_add $serv KICK $chan $nick :$kmsg; }; _proc.quote_flush $serv; }; lice5/lice/lice.signoff0000644000175000017500000000165711542462257013451 0ustar timtim# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.codehack.com # --------------------------------------------------------------------------- # Updated for EPIC5 by tjh IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; ALIAS signoff { IF (@) { ECHO $fmt.banner_signoff() Signoff: $servernick() \($*\); //QUIT $*; }{ @ :signoff.msg = isset(Q) ? [Leaving] : randread($main.reason_quit); IF (strlen($signoff.msg)) { ECHO $fmt.banner_signoff() Signoff: $servernick() \($signoff.msg\); //QUIT $signoff.msg; }{ //QUIT Time wasted on IRC: $tdiff(${time() - F})\; }; }; }; ALIAS exit {signoff $*}; ALIAS quit {signoff $*}; ALIAS bye {signoff $*}; #tjh/09 lice5/lice/lice.imail0000644000175000017500000001710711747346271013112 0ustar timtim# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.codehack.com # --------------------------------------------------------------------------- # Updated for EPIC5 by tjh IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; # XXX - "attachments" could be a nice feature... # XXX - added uuencoded attachments by HS # here we try to find the location of sendmail... IF (fexist(/usr/sbin/sendmail) == 1) { @ main.mail_prog = [/usr/sbin/sendmail]; }; IF (!main.mail_prog && (fexist(/usr/lib/sendmail) == 1)) { @ main.mail_prog = [/usr/lib/sendmail]; }; # if everything else fails... UNLESS (main.mail_prog) {@ main.mail_prog = [sendmail]}; # --------------------------------------------------------------------------- # ALIAS book { SWITCH ($0) { (-a) {IF (strlen($2)) { UNLESS (matchitem(ADDR $toupper($1) *) > -1) { @ setitem(ADDR $numitems(ADDR) $toupper($1) $2); iecho Nick "$toupper($1)" added to your addressbook \($2\); _proc.save_address; }{iecho Nick "$toupper($1)" already exists in addressbook.}; };}; (-d) {IF (strlen($1) && [$1]!=[*]) { IF (matchitem(ADDR $toupper($1) *) > -1) { @ delitem(ADDR $matchitem(ADDR $toupper($1) *)); iecho Nick "$toupper($1)" deleted from your addressbook; _proc.save_address; }{iecho Nick "$1" not found in addressbook.}; };}; (-l) { UNLESS (numitems(ADDR)) { uecho You address book is currently empty.; RETURN; }; iecho ---- Nick $repeat(6 -) e-mail ----; FOR (@:cnt = 0, numitems(ADDR) > cnt, @:cnt++) { @ :show = getitem(ADDR $cnt); IF (strlen($1) && [$1]!=[*] && match(*$toupper($1)* $word(0 $show))) { iecho [$[2]{cnt+1}] $[11]word(0 $show) $word(1 $show); } ELSIF (!strlen($1)) { iecho [$[2]{cnt+1}] $[11]word(0 $show) $word(1 $show); }; };}; () (*) {uecho Usage: /BOOK -[a|d|l] }; };}; # --------------------------------------------------------------------------- # ALIAS _proc.imail_quick { ^ASSIGN im.list $*; FE ($im.list) im.1 { SWITCH ($im.1) { () {#}; (*@*) {@ im.to #= [$im.1 ]}; (*) { @ im.to = (matchitem(ADDR $toupper($im.1) *) > -1) ? word(1 $getitem(ADDR $matchitem(ADDR $toupper($im.1) *))) : strip(~ $get_uh($im.1)); UNLESS (strlen($im.to)) { XECHO -B $0: No such nick.; RETURN; }; @ im.to #= [ ]; }; }; }; UNLESS (im.to) {@ im.st = [No To address specified]}; }; ALIAS imail { @ im.st = []; IF (@) {_proc.imail_quick $*}{INPUT "Send email to (nick, email address or ircnick): " {_proc.imail_quick $*}}; INPUT "Send email from (your email address): " {^ASSIGN im.from $*}; INPUT "Reply-to address (Press ENTER to skip): " {^ASSIGN im.reply $*}; INPUT "Courtesy copy address (Press ENTER to skip): " {^ASSIGN im.cc $*}; INPUT "Blackmail copy address (Press ENTER to skip): " {^ASSIGN im.bcc $*}; INPUT "Attachment (full path) (Press ENTER to skip): " {^ASSIGN im.atch $*}; INPUT "Subject of message (Press ENTER to skip): " { @ im.subj = @ ? [$*] : [LiCe - You Got Mail!]; UNLESS (im.st) { @ im.line = 1; XECHO -B Composing new email message ...; IF (im.from) {XECHO -B From: $im.from}; XECHO -B To: $im.to; XECHO -B Subject: $im.subj; _proc.imail_compose; }{ XECHO -B Error: $im.st; }; }; }; ALIAS _proc.imail_view { XECHO -B Viewing message composition ...; IF (im.reply) {ECHO Reply-To: $im.reply}; ECHO To : $im.to; IF (im.cc) {ECHO Cc : $im.cc}; IF (im.bcc) {ECHO Bcc : $im.bcc}; IF (im.from) {ECHO From : $im.from}; ECHO Subject : $im.subj; ECHO +----------------------[Message body]-----------------------+; for (@ :imv.v = 1, strlen($im.body[$imv.v]), @imv.v++) { ECHO [$[-3]imv.v] $im.body[$imv.v]; @ :imv.t = im.body[$imv.v]; }; ECHO +-----------------------------------------------------------+; _proc.imail_compose; }; ALIAS _proc.imail_compose { IF (im.line > 0) { INPUT "Line #$im.line (!A=Abort, !H=Help): " { SWITCH ($0) { () {_proc.imail_compose}; (!S) {_proc.imail_send}; (!A) { purge im; XECHO -B Email aborted.; }; (!H) {_proc.imail_help}; (!V) {_proc.imail_view}; (/*) {$0-;_proc.imail_compose}; (*) { @ im.body[$im.line] = stripansi($*); @im.line++; _proc.imail_compose; }; }; }; }; }; ALIAS _proc.imail_send { INPUT_CHAR "Continue send? (y/n) " IF ([$0]==[Y]) { @ im.file = [/tmp/imail.] ## pid(); @ im.fd = open($im.file W); IF (im.fd) { IF (im.reply) {@ write($im.fd Reply-To: $im.reply)}; @ write($im.fd To: $im.to); IF (im.cc) {@ write($im.fd Cc: $im.cc)}; IF (im.bcc) {@ write($im.fd Bcc: $im.bcc)}; IF (im.from) {@ write($im.fd From: $im.from)}; @ write($im.fd Subject: $im.subj); @ write($im.fd Date: $strftime(%a, %d %b %Y %X \(%Z\))); @ write($im.fd X-Mailer: LiCe-Mail v$id.v); @ write($im.fd MIME-Version: 1.0); @ write($im.fd $chr(32)); FOR (@im.cnt=1, im.line > im.cnt, @im.cnt++) { UNLESS (write($im.fd $im.body[$im.cnt]) > 0) { ECHO +++ error writing line #$im.cnt; }; }; IF (fexist(~/.signature) == 1) { @ write($im.fd $chr(32)); @ im.sig = open(~/.signature R); IF (im.sig) { UNTIL (eof($im.sig)) { @ im.str = read($im.sig); IF (im.str) {@ write($im.fd $im.str);@ write($im.fd )}; }; @ close($im.sig); }{ XECHO -B Error: Could not append signature file.; }; }{ # so shoot me :) @ write($im.fd $chr(32)); @ write($im.fd ---); @ write($im.fd LiCe v$id.v | http://lice.muppetz.com); @ write($im.fd ); }; @ close($im.fd); IF (im.atch && fexist($im.atch) == 1) { EXEC -name iatch uuencode $im.atch ${pass(/ $im.atch) ? after(-1 / $im.atch) : im.atch} >> $im.file; XECHO -B Attaching: $im.atch; WAIT %iatch; }; XECHO -B Sending email ...; EXEC -name imail $main.mail_prog -t < $im.file; WAIT %imail; @ unlink($im.file); XECHO -B Done.; }{ XECHO -B Error: Could not create temporary file.; }; purge im; }{ purge im; XECHO -B Email aborted.; }; }; ALIAS _proc.imail_help { uecho IMAIL prompt commands:; uecho +------------------------------------------+; uecho | !A - To abort message composition |; uecho | !H - View this help display |; uecho | !S - Finish message, save and send email |; uecho | !V - View current message |; uecho | You can still do normal irc commands ... |; uecho | Use "/SAY " to talk to the channel |; uecho +------------------------------------------+; _proc.imail_compose; }; ALIAS _proc.save_address { @ unlink($lice.save_path/lice.address); @ :asave_fd = open($lice.save_path/lice.address W); UNLESS (numitems(ADDR)) {RETURN}; FOR (@:cnt = 0, numitems(ADDR) > cnt, @cnt++) { @ :show = getitem(ADDR $cnt); @ write($asave_fd @ SETITEM\(ADDR $cnt $show\)); }; @ close($asave_fd); }; #tjh/11 lice5/lice/lice.mass0000644000175000017500000000462611751672315012760 0ustar timtim# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.muppetz.com # --------------------------------------------------------------------------- # Updated for EPIC5 by tjh # Support for halfop added by tjh 7/5/2012 IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; # Mass commands ALIAS _proc.mass_match { get_user_match $C $1 temp_list; @ temp_list = remw($N $temp_list); FE ($temp_list) mm.1 { SWITCH ($0) { (+k) { PUSH $2 $mm.1 }; (+o) { IF (ischanop($mm.1 $C)) { PUSH $2 $mm.1 } }; (-h) { IF (ishalfop($mm.1 $C)) { PUSH $2 $mm.1 } }; (+h) { UNLESS (ishalfop($mm.1 $C)) { PUSH $2 $mm.1 } }; (-k) (-o) { UNLESS (ischanop($mm.1 $C)) { PUSH $2 $mm.1 } }; (+v) { IF (ischanvoice($mm.1 $C) == 1) { PUSH $2 $mm.1 } }; (-v) { IF (ischanvoice($mm.1 $C) == 0) { PUSH $2 $mm.1 } }; }; }; ^ASSIGN -temp_list; }; ALIAS mass { IF (@) { @ :mass.p = strlen($1) ? uhc($1) : [*!*]; SWITCH ($0) { (-d) { _proc.mass_match +o $mass.p mass_list; _proc.loop_mode $winserv() - o $C mass_list; }; (-n) { _proc.mass_match -h $mass.p mass_list; _proc.loop_mode $winserv() - h $C mass_list; }; (-k) { @ mass_msg = strlen($2) ? [$2-] : randread($main.reason_kick); _proc.mass_match +k $mass.p mass_list; _proc.loop_kick $winserv() $C mass_list mass_msg; }; (-l) { @ mass_msg = strlen($2) ? [$2-] : randread($main.reason_kick); _proc.mass_match -k $mass.p mass_list; _proc.loop_kick $winserv() $C mass_list mass_msg; }; (-o) { _proc.mass_match -o $mass.p mass_list; _proc.loop_mode $winserv() + o $C mass_list; }; (-h) { _proc.mass_match +h $mass.p mass_list; _proc.loop_mode $winserv() + h $C mass_list; }; (-q) { _proc.mass_match +v $mass.p mass_list; _proc.loop_mode $winserv() - v $C mass_list; }; (-v) { _proc.mass_match -v $mass.p mass_list; _proc.loop_mode $winserv() + v $C mass_list; }; }; }{ uecho Usage: /MASS <-d|-o|-n|-h|-q|-v> [pattern]; uecho Usage: /MASS <-k|-l> [pattern [reason]]; }; }; #tjh/12 lice5/lice/lice.rdcc0000644000175000017500000000175311542462257012726 0ustar timtim# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.codehack.com # --------------------------------------------------------------------------- # Updated for EPIC5 by tjh IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; ALIAS rdcc { UNLESS (@) { uecho Usage: /RDCC <-a|-c|-g|-s> [nick]; RETURN; }; @ rd.n = strlen($1) ? [$1] : [*]; SWITCH ($0) { (-a) {UNLESS (rd.n == [*]) { ^ON ^DCC_LIST * { IF (match(*$rd.n* $2)) {//DCC CLOSE $0 $2}; }; //DCC LIST; ^ON ^DCC_LIST -; }{//DCC CLOSEALL}; }; (-c) {//DCC CLOSE CHAT $rd.n}; (-g) {//DCC CLOSE GET $rd.n}; (-s) {//DCC CLOSE SEND $rd.n}; (*) {/rdcc -a $0}; }; ^ASSIGN -rd.n; }; #tjh/09 lice5/lice/lice.dcclist0000644000175000017500000000224611542462257013436 0ustar timtim# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.codehack.com # --------------------------------------------------------------------------- # Updated for EPIC5 by tjh IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; # DCC Auto SEND/GET Queue ALIAS _proc.dcc_queue_load (cmd) { WHILE ((numitems(DQ$cmd) > 0) && (main.dcc_active_limit > temp.dcc_active)) { @ temp.dcc_active++; @ :item = queue.head(DQ$cmd); @ :nick = word(0 $item); @ :file = (cmd == [GET]) ? word(1 $item) : [\"] ## urldecode($word(1 $item)) ## [\"]; WAIT -CMD //^DCC $cmd $nick $file; }; }; # check our queue ALIAS _proc.dcc_queue_check { IF (temp.dcc_active < 0) {@ temp.dcc_active = 0}; IF (numitems(DQGET) > 0) {^TIMER -REF DQLOAD 10 _proc.dcc_queue_load GET}; IF (numitems(DQSEND) > 0) {^TIMER -REF DQLOAD 10 _proc.dcc_queue_load SEND}; }; # heartbeat of our timed queue ON #-TIMER 13 * {^TIMER -REF DQCHK 5 _proc.dcc_queue_check}; #tjh/09 lice5/lice/lice.finger0000644000175000017500000000143611542462257013263 0ustar timtim# Finger script III by Daemon. (4/05/93) # Updated (4/10/93) # Updated for ircd2.8.3, ircII2.2.2 # Updated (3/07/96) # Updated for EPIC3 by hop # Modified for LiCe by SrfRoG (11/04/97) PACKAGE LiCe ALIAS finger { ^EXEC -close %finger SWITCH ($0) { () { uecho Usage: /FINGER [[-h] ][[user]@hostname] } (-h) { USERHOST $1 -CMD UNLESS ([$4]==[]) { EXEC -name finger finger @$4 }{ XECHO -B $1: no such nick. } } (*@*) { EXEC -name finger finger $0 } (*) { USERHOST $0 -CMD UNLESS ([$4]==[]) { EXEC -name finger finger $strip(!#^%&*~-=+<>()`'$$\\| $3)\@$4 }{ XECHO -B $0: no such nick. } } } } # lice5/lice/lice.remove_list0000644000175000017500000000713111542524507014334 0ustar timtim# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.codehack.com # --------------------------------------------------------------------------- # Updated for EPIC5 by tjh IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; # List-removal routine ALIAS _proc.remove_list1 { UNLESS (P == [@]) { XECHO -B $ch($C)\: You are not channel operator.; RETURN; }; SWITCH ($0) { () (*!*) (*.*) (*@*) (-*) (#*) {_proc.remove_list $*}; (*) { @ :uh = get_uh($0); UNLESS (strlen($uh)) { XECHO -B $0: No such nick.; RETURN; }; _proc.remove_list $0!$uh; }; }; }; ALIAS _proc.remove_list { @ :serv = winserv(); @ :list = [$[1]list[name]] ## serv ## [-] ## hash_32bit($C); IF (numitems($list) == 0) { XECHO -B No ${list.name}s found on $C \($servername($serv)\); RETURN; }; SWITCH ($0) { (*!*) (*@*) (*.*) {^LOCAL patt $uhc($0)}; (-a) {^LOCAL patt *!*@*}; (-s) {^LOCAL patt}; (-n) {^LOCAL patt $1}; (-l) {@ :patt = isnumber($1) ? [$1] : [00:00]}; (-t) {@ :patt = isnumber($1) ? [$1] : [00:00]}; (#*) {@ :patt = isnumber($rest(1 $0)) ? [$0] : []}; }; FOR (@ :cnt=0, numitems($list) > cnt, @cnt++) { @ :str = getitem($list $cnt); UNLESS (patt) {ECHO [$[-2]{cnt + 1}] $ch($C)\: $str}; IF (patt && pattern($patt $word(0 $str)) || rpattern($patt $word(0 $str))) { #HS_proc.mode_add $serv $C -$list.mode $str _proc.mode_add $serv $C -$list.mode $word(0 $str); #ECHO [$[-2]{cnt + 1}] $ch($C)\: $str }; IF (patt && (patt == word(2 $str) || patt == before(! $word(2 $str)))) { _proc.mode_add $serv $C -$list.mode $word(0 $str); }; IF (patt && isnumber($patt)) { @ :in.time = strip(\) $word(4 $str)); @ :ban_min = before(\: $in.time) * 60 + after(\: $in.time); @ :my_min = before(\: $strftime(%H:%M)) * 60 + after(\: $strftime(%H:%M)); @ :lg_min = my_min - ban_min; UNLESS (lg_min < patt) { _proc.mode_add $serv $C -$list.mode $word(0 $str); }; }; }; _proc.mode_flush $serv $C; UNLESS (patt) { INPUT "Remove ${list.name}s # (ENTER to cancel): " IF (@) { ^LOCAL text $*; @ :serv = winserv(); @ :list = [$[1]list[name]] ## serv ## [-] ## hash_32bit($C); FE ($text) foo { @ :num = pass(0123456789 $foo) - 1; @ :str = getitem($list $num); IF (str) { #HS_proc.mode_add $serv $C -$list.mode $str _proc.mode_add $serv $C -$list.mode $word(0 $str); XECHO -B Removing $list.name #${num + 1} from $C ...; }{ XECHO -B Item #${num + 1} is not valid.; }; }; _proc.mode_flush $serv $C; }; }{ IF (left(1 $patt) == [#]) { @ :num = pass(0123456789 $patt) - 1; @ :str = getitem($list $num); IF (str) { #HS-QUOTE MODE $C -$list.mode $str QUOTE MODE $C -$list.mode $word(0 $str); XECHO -B Removing $list.name $patt from $C ...; #ECHO [$[-2]{rb.1 + 1}] $ch($C)\: $str }{ XECHO -B No such $list.name $patt on $C\.; }; }; }; }; ALIAS rban { ^ASSIGN list.name Ban; ^ASSIGN list.mode b; _proc.remove_list1 $*; }; ALIAS unban {rban $*}; ALIAS rexc { ^ASSIGN list.name Exc; ^ASSIGN list.mode e; _proc.remove_list1 $*; }; ALIAS rinv { ^ASSIGN list.name Inv; ^ASSIGN list.mode I; _proc.remove_list1 $*; }; #HS unknown #tjh/09 lice5/lice/lice.trans0000644000175000017500000001103611542462257013135 0ustar timtim# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.codehack.com # Original suggestion by whitefang, based on a script by Dethnite. # --------------------------------------------------------------------------- # a BITCH to fix -by HSOC'01 # a BITCHX3 to fix -by HSOC'03 # It's broken again tjh/09 - TODO try to fix oneday. # Updated for EPIC5 by tjh IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; # Hooks for grabbing text ON #-DCC_RAW 400 "% w3.systranlinks.com D ?textarea *translation? *" { ^ASSIGN temp.trans_work 1; ^LOCAL text $3-; @ temp.trans_text = rest(${index(> $text) + 1} $text); }; ON #-DCC_RAW 400 "% w3.systranlinks.com D *" { IF (temp.trans_work) {PUSH temp.trans_text $3-}; IF (MATCH(*
* $temp.trans_text)) {^ASSIGN temp.trans_work 0}; }; #ON #-DCC_RAW 400 "% w3.systranlinks.com D
" {^ASSIGN temp.trans_work 0} #ON #-DCC_RAW 400 "% w3.systranlinks.com D
" {^ASSIGN temp.trans_work 0} # XXX - target translations should be fixed to break lines when they are larger than the buffer. ON #-DCC_RAW 400 "% w3.systranlinks.com C" { IF (strlen($temp.trans_text)) { UNLESS (strlen($temp.trans_send)) { iecho Translating text from $temp.trans_desc ...; iecho $word(0 $temp.trans_desc)\: $temp.trans_orig; iecho $word(2 $temp.trans_desc)\: $before(< $temp.trans_text); }{ XEVAL -S $servernum($S) $temp.trans_send $temp.trans_target $before(< $temp.trans_text); mecho $fmt.send_msg($temp.trans_target $before(< $temp.trans_text)); ^ASSIGN -temp.trans_send; ^ASSIGN -temp.trans_target; }; ^ASSIGN -temp.trans_text; }{ iecho Translation failed.; }; ^ASSIGN -temp.trans_orig; ^ASSIGN -temp.trans_desc; ^ASSIGN -temp.trans_work; }; ^ASSIGN trans.102 en_fr English to French; ^ASSIGN trans.103 en_de English to German; ^ASSIGN trans.112 en_pt English to Portuguese; ^ASSIGN trans.115 en_es English to Spanish; ^ASSIGN trans.105 en_it English to Italian; ^ASSIGN trans.70 fr_en French to English; ^ASSIGN trans.71 de_en German to English; ^ASSIGN trans.80 pt_en Portuguese to English; ^ASSIGN trans.83 es_en Spanish to English; ^ASSIGN trans.73 it_en Italian to English; ^ASSIGN trans.114 en_ru English to Russian; ^ASSIGN trans.82 ru_en Russian to English; ^ASSIGN trans.100 en_nl English to Dutch; ^ASSIGN trans.68 nl_en Dutch to English; ^ASSIGN trans.106 en_ja English to Japanese; ^ASSIGN trans.74 ja_en Japanese to English; ^ASSIGN trans.99 en_zh English to Simplified Chinese; ^ASSIGN trans.67 zh_en Simplified Chinese to English; # And here's the actual command. ALIAS trans { @ flag = strlen($flag) ? flag : 115; @ :opts = []; WHILE (opts = getopt(optopt optarg "FGIPSRCDJrcdjfgim:n:ops" $*)) { SWITCH ($opts) { (f) (g) (p) (s) (i) (c) (d) (j) (r) (R) (C) (D) (J)(F) (G) (P) (S) (I) {@ flag = ascii($optopt)}; (m) { ^ASSIGN temp.trans_send MSG; @ temp.trans_target = optarg; }; (n) { ^ASSIGN temp.trans_send NOTICE; @ temp.trans_target = optarg; }; (o) {^ASSIGN temp.trans_send SEND}; (-) {uecho Missing argument for "-$optopt";RETURN}; }; }; UNLESS (strlen($optarg)) { uecho Usage: /TRANS [[-cCdDfFgGiIjJpPrRsS][-o][-m ][-n ]] ; uecho Usage: Default translation is $restw(1 $trans[$flag]); RETURN; }; @ temp.trans_desc = restw(1 $trans[$flag]); ^ASSIGN temp.trans_orig $optarg; ^ASSIGN temp.trans_work 0; @ :orig = fnexist(urlencode) ? urlencode($temp.trans_orig) : msar(g/'/%27/`/%60/ /%20/$temp.trans_orig); @ :lang = word(0 $trans[$flag]); @ :sock = connect(w3.systranlinks.com 80); WAIT =$sock; //^DCC RAW $sock w3.systranlinks.com GET /systran/cgi\?translated_text=\&urltext=$orig\&lp=$lang\&partner=demo-SystranSoft-en; //^DCC RAW $sock w3.systranlinks.com User-Agent: Mozilla/7.02 [en] (X11; I; Linux 2.4.25 i686; Nav); //^DCC RAW $sock w3.systranlinks.com Referer: http://www.systransoft.com/Homepage.html; //^DCC RAW $sock w3.systranlinks.com Host: www.systranlinks.com:80; //^DCC RAW $sock w3.systranlinks.com Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, */*; //^DCC RAW $sock w3.systranlinks.com Accept-Languange: en; //^DCC RAW $sock w3.systranlinks.com Accept-Charset: iso-8859-1; //^DCC RAW $sock w3.systranlinks.com $chr(10); }; ##HS/03 #tjh/09 lice5/lice/lice.invite0000644000175000017500000000156711542462257013314 0ustar timtim# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.codehack.com # --------------------------------------------------------------------------- # Updated for EPIC5 by tjh IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; ALIAS invite { UNLESS (@) { uecho Usage: /INV [chan]; uecho Usage: /INV ; uecho Usage: /INV ; RETURN; }; IF (ischannel($0)) { @ :serv = winserv(); @ :list = ischannel($1) ? chanusers($1) : [$1-]; FE ($list) nick {_proc.quote_add $serv INVITE $nick $0}; _proc.quote_flush $serv; }{ //INVITE $0 ${ischannel($1)?[$1]:C}; }; }; #tjh/09 lice5/lice/lice.ulw_chat0000644000175000017500000000207011542462257013612 0ustar timtim# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.codehack.com # --------------------------------------------------------------------------- # Updated for EPIC5 by tjh IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; # !CHAT command ALIAS _proc.ulw_chat (nick,uh,serv,pass,text) { @ :myhand = find_in_list(User $nick!$uh); UNLESS (myhand) {RETURN}; FE ($myhand) hand { UNLESS ($lice.get(main_PL$hand)) { XQUOTE -S $serv NOTICE $nick :You don't have a password set. Type: /MSG $servernick($serv) !HELP PASS; RETURN; }; IF (pass != lice.get(main_PL$hand)) { XQUOTE -S $serv NOTICE $nick :Invalid password. $randread($main.reason_error); RETURN; }; XEVAL -S $serv { TIMER -REF $hand $rand(9) //^DCC CHAT $nick; QUOTE NOTICE $nick :DCC CHAT request sent. Type: /DCC CHAT $N; }; }; }; #tjh/09 lice5/lice/lice.splitlist0000644000175000017500000000571611542462257014045 0ustar timtim# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.codehack.com # --------------------------------------------------------------------------- # Updated for EPIC5 by tjh IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; ALIAS _proc.split_save (scurr,ssplit,chan,nick) { @ :split.test = matchitem(NSL $ssplit $chan *); IF (split.test >= 0) { @ :split.text = getitem(NSL $split.test); @ :split.time = word(2 $split.text); @ :split.nick = restw(3 $split.text); @ :split.find = findw($strip(@ $nick) $strip(@ $split.nick)); IF (split.find == -1) { @ :split.nick #= [ ] ## nick; }{ @ :split.nick = notw($split.find $split.nick) ## [ ] ## nick; }; }{ @ :split.nick = nick; @ :split.time = time(); @ :split.test = numitems(NSL); XECHO -W $chan $fmt.banner_alert() Possible netsplit: $scurr <- $ssplit \($chan\); IF (ismset(V)) {iecho Press "Esc-f", for split details.}; }; @ setitem(NSL $split.test $ssplit $chan $split.time $split.nick); }; ALIAS _proc.split_jump (number) { IF (numitems(NSL) == 0) { XECHO -B No netsplits recorded.; RETURN; }; @ :si.z = numitems(NSL) - 1; FE ($jot(0 $si.z)) si.c { @ si.t = getitem(NSL $si.c); IF (number == si.c + 1) { INPUT_CHAR "Do you want to connect using a new window ? (y/n) " { IF ([$0]==[Y]) { iecho Creating connection to $word(0 $si.t)...; win_new SERVER $word(0 $si.t):::$N$rand(99); }{ iecho Connecting to $word(0 $si.t)...; window SERVER $word(0 $si.t):::$N; };}; }; };}; ## detects netjoins + silences #channel JOINS/PARTS/CRAP temporarily ## blessing in *BIG* chans =) ON #-JOIN -81 * { UNLESS (numitems(NSL) == 0) { @ :chan = [$1]; @ :hash = hash_32bit($chan); #UNLESS (dcnt[$hash]) {@ dcnt[$hash] = 1} @ :split = matchitem(NSL % $chan *$0*); IF (split > -1 && isset(Q) && !iscset(Q $hash)) {@dcnt[$hash]++}; IF (dcnt[$hash] == 5) { XECHO -W $chan $fmt.banner_alert() Possible Netjoin in progress... \($chan\); //^IGNORE $chan JOINS PARTS CRAP; ^TIMER $lice.get(main.isolate) //^IGNORE $chan -JOINS -PARTS -CRAP NONE; ^ASSIGN -dcnt[$hash]; }; }{purge dcnt}; }; ALIAS _proc.split_info { IF (numitems(NSL) == 0) { XECHO -B No netsplit details recorded.; RETURN; }; @ :si.z = numitems(NSL) - 1; iecho -------- Netsplit details --------; FE ($jot(0 $si.z)) si.c { @ :si.t = getitem(NSL $si.c); iecho [$[2]{si.c + 1}] $word(0 $si.t) detected on $ch($word(1 $si.t)) \($tdiff2(${time() - word(2 $si.t)}) ago\); echo.recursive $restw(3 $si.t); #IF (ismset(V)) {iecho Press "Esc-e", to connect to $word(0 $si.t).} IF (ismset(V)) {iecho Press "Esc\-${si.c + 1}", to connect to $word(0 $si.t).}; }; }; #tjh/09 lice5/lice/lice.dtog0000644000175000017500000000347011542462257012746 0ustar timtim# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.codehack.com # --------------------------------------------------------------------------- # # Modified by tjh 2010 # IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; ALIAS _proc.setup_dtog { iecho +------- Current LiCe DCC Toggle Settings -----------------------+; iecho | Description | Tog | Set | Default |; iecho +------------------------------------------+-----+-----+---------+; iecho DCC AutoCLOSE all incoming GET requests. | C | $[3]isset.show($isdset(C)) | Off; iecho DCC AutoGET files sent to You. | G | $[3]isset.show($isdset(G)) | On; iecho DCC AutoSEND files offered in packs. | S | $[3]isset.show($isdset(S)) | On; iecho Overwrite files on DCC GET downloads. | O | $[3]isset.show($isdset(O)) | Off; iecho DCC QUIET MODE. Supress error notices. | Q | $[3]isset.show($isdset(Q)) | Off; iecho DCC AutoRESUME incomplete file transfers. | R | $[3]isset.show($isdset(R)) | On; INPUT "Letters to change toggles (ENTER to skip): " IF (@) {dtog $*;}; }; ALIAS dtog { UNLESS (@) { _proc.setup_dtog; RETURN; }; FEC ($toupper($0)) _t { IF (isdset($_t)) { @ lice.set(main.dset $strip($_t $lice.get(main.dset))); IF (_t == [R]) {^SET MIRC_BROKEN_DCC_RESUME OFF}; }{ @ lice.set(main.dset $pass(CGSOQR $lice.get(main.dset) $_t)); IF (_t == [R]) {^SET MIRC_BROKEN_DCC_RESUME ON}; }; }; UNLESS (lice.get(main.dset)) {@lice.del(main.dset)}; XECHO -B DCC toggles now: $lice.get(main.dset); }; #tjh/10 lice5/lice/lice.sensors0000644000175000017500000001337312011000503013456 0ustar timtim# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.codehack.com # --------------------------------------------------------------------------- # Updated for EPIC5 by tjh IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; ALIAS _proc.set_sensors (list) { FEC ($list) opts { SWITCH ($opts) { (1) {INPUT "seconds to auto remove bans [0 to disable, using: $lice.get(main.auto_unban)]: " IF (isnumber($0)) {@lice.set(main.auto_unban $0)}}; (2) {INPUT "seconds to auto remove ignores [0 to disable, using: ${lice.get(main.auto_noig) ? lice.get(main.auto_noig) : [PERMANENT]}]: " IF (isnumber($0)) {@lice.set(main.auto_noig $0)}}; (A) {INPUT "minutes idle before AutoAWAY [0 to disable, using: $lice.get(main.agn)]: " IF (isnumber($0)) {@ lice.set(main.agn $0);^SET CPU_SAVER_AFTER ${lice.get(main.agn) * 2};^SET CPU_SAVER_EVERY $0}}; (C) {INPUT "seconds before creating channels [using: $tdiff2($lice.get(main.cch))]: " IF (isnumber($0)) {@lice.set(main.cch $0)}}; (D) {INPUT "maximum simultaneaous dcc processes [using: $lice.get(main.dcc_active_limit)]: " IF (isnumber($0) && [$0] > 0) {@lice.set(main.dcc_active_limit $0)}}; (E) {INPUT "minutes before netsplit data expires [using: $lice.set(main.nst)]: " IF (isnumber($0) && [$0] > 1) {@lice.set(main.nst $0)}}; (F) {INPUT "flood after [using: $FLOOD_AFTER]: " IF (isnumber($0) && [$0] > 0) {^SET FLOOD_AFTER $0;^SET FLOOD_RATE ${[$0] / 2}}}; (I) {INPUT "isolate client on floods [using: $tdiff2($lice.get(main.isolate))]: " IF (isnumber($0)) {@lice.set(main.isolate $0)}}; (J) {INPUT "seconds before joining channels on kicks [using: $tdiff2($AUTO_REJOIN_DELAY)]: " IF (isnumber($0)) {^SET AUTO_REJOIN_DELAY $0}}; #(K) {INPUT "kicks/$tdiff($main.fint) [using: $main.kick]: " IF (isnumber($0) && [$0] > 0) {^ASSIGN main.kick $0}}; (L) {INPUT "maximum message logging [using: $lice.get(main.mrm)]: " IF (isnumber($0) && [$0] > 0) {@lice.set(main.mrm $0)}}; (M) {INPUT "maximum number of stacked messages [using: $lice.get(main.mns)]: " IF (isnumber($0) && [$0] > 0) {@lice.set(main.mns $0)}}; (N) {INPUT "preferred nickname (for AutoNick) [using: $lice.get(main.auto_nick)]: " IF (@) {^NOTIFY -$lice.get(main.auto_nick);@lice.set(main.auto_nick $0);^NOTIFY $lice.get(main.auto_nick)}}; (O) {INPUT "Auto OP delay in secs [using: $tdiff2($lice.get(main.op))]: " IF (isnumber($0)) {@lice.set(main.op $0)}}; #(P) {INPUT "Max deops per min to be considered flood [using: $main.deop]: " IF (isnumber($0) && [$0] > 0) {^ASSIGN main.deop $0}}; (Q) {INPUT "server queue buffer size (max 500) [using: $lice.get(main.qbuff)]: " IF (isnumber($0) && [$0] > 0 && [$0] <= 500) {@lice.set(main.qbuff $0)}}; (R) {INPUT "maximum number of stacked modes [using: $lice.get(main.mnm)]: " IF (isnumber($0) && [$0] > 0) {@lice.set(main.mnm $0)}}; (S) {INPUT "timestamp (strftime) format [using: $lice.get(main.tsfmt)]: " IF (@) {@lice.set(main.tsfmt $*)}}; (T) {INPUT "minutes before dccs timeout [using: $tdiff($DCC_TIMEOUT)]: " IF (isnumber($0) && [$0] > 1) {^SET DCC_TIMEOUT ${[$0] * 60}}}; (U) {INPUT "auto usermode [using: $lice.get(main.umode)]: " IF (@) {@lice.set(main.umode $0)}}; #(X) {INPUT "modes/$tdiff($main.fint) [using: $main.mode]: " IF (isnumber($0) && [$0] > 0) {^ASSIGN main.mode $0}}; }; }; }; ALIAS sensors { IF (@) { _proc.set_sensors $toupper($0); RETURN; }; iecho +--------- Current LiCe Sensor Settings -----------------------+; iecho | Description | Ref | Def | Set |; iecho +------------------------------------------+-----+-----+-------+; iecho Auto ban removal time (in seconds) | 1 | 0 | $lice.get(main.auto_unban); iecho Auto ignore removal time (in seconds) | 2 | - | ${lice.get(main.auto_noig) > 0 ? lice.get(main.auto_noig) : [PERMANENT]}; iecho Minutes idle before AutoAWAY | A | 5 | $lice.get(main.agn); iecho Seconds before creating channels | C | 15 | $lice.get(main.cch); iecho Maximum simultaneaous dcc processes | D | 10 | $lice.get(main.dcc_active_limit); iecho Minutes before netsplit data expires | E | 5 | $lice.get(main.nst); iecho Flood after (how many lines?) | F | 5 | $FLOOD_AFTER; iecho Isolate client on floods (in seconds) | I | 15 | $lice.get(main.isolate); iecho Seconds before joining channels on kicks | J | 20 | $AUTO_REJOIN_DELAY; #iecho Kicks/$tiff2($main.fint) | K | $main.kick | 20; iecho Maximum message logging | L | 100 | $lice.get(main.mrm); iecho Maximum number of stacked messages | M | 5 | $lice.get(main.mns); iecho Preferred nickname (for AutoNick) | N |none | $lice.get(main.auto_nick); iecho Auto OP delay (in seconds) | O | 10 | $lice.get(main.op); #iecho Max deops per min to be considered flood | P | 3 | $main.deop; iecho Server queue buffer size (max 500) | Q | 200 | $lice.get(main.qbuff); iecho Maximum number of stacked channel modes | R | 3 | $lice.get(main.mnm); iecho Timestamp (strftime) format | S | $lice.get(main.tsfmt); iecho Minutes before dccs timeout | T | 5 | ${DCC_TIMEOUT / 60}; iecho Default usermodes on connect | U | $lice.get(main.umode); #iecho Modes/$tdiff2($main.fint) | X | $main.mode | 5; INPUT "Letters to change sensors (ENTER to skip): " IF (@) {_proc.set_sensors $toupper($0)}; }; #tjh/11 lice5/lice/lice.memo0000644000175000017500000000164411712410106012730 0ustar timtim# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.codehack.com # --------------------------------------------------------------------------- # Updated for EPIC5 by tjh IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; # Memo saver ALIAS memo { IF (@) { @ :m_fd = open($lice.save_path/Memos W); @ write($m_fd ::: Date: $strftime($time() %c) :::); IF (write($m_fd $*) > 0) { XECHO -B Memo saved in: $lice.save_path/Memos; }; @ close($m_fd); }{ INPUT_CHAR "Review saved memos (y/n/h) ? " UNLESS ([$0]==[N]) { IF ([$0]==[Y]) { pager $open($lice.save_path/Memos R); }{ uecho Usage: /MEMO [text ...]; }; }; }; }; #tjh/12 lice5/lice/lice.news0000644000175000017500000001677011542462257012774 0ustar timtim# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.codehack.com # --------------------------------------------------------------------------- # Updated for EPIC5 by tjh IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; ^ASSIGN news_page.0 http://lice.muppetz.com/sites/lice.muppetz.com/files/updates.txt; #^ASSIGN news_page.1 http://slashdot.org/ultramode.txt; ^ASSIGN news_page.1 http://slashdot.org/slashdot.xml; @ news_page.2 = [http://www.hri.org/news/greek/mpeb/] ## strftime(%Y) ## [/last.html]; @ news_page.3 = [http://www.hri.org/news/greek/eraen/] ## strftime(%Y) ## [/last.html]; ^ASSIGN news_page.4 http://reuters.com/news.jhtml; #^ASSIGN news_page.5 http://www.nytimes.com/pages/world/index.html; #^ASSIGN news_page.5 http://www.nytimes.com/pages/world/text/index.html; #^ASSIGN news_page.5 http://www.nytimes.com/pages/aponline/world/index.html; #^ASSIGN news_page.5 http://dailynews.yahoo.com/htx/nm/wl/index.html; ^ASSIGN news_func.0 _proc.read_lice; ^ASSIGN news_func.1 _proc.read_slashdot; ^ASSIGN news_func.2 _proc.read_mpa; ^ASSIGN news_func.3 _proc.read_era; ^ASSIGN news_func.4 _proc.read_reut; #^ASSIGN news_func.5 _proc.read_times; #^ASSIGN news_func.5 _proc.read_yahoo; # Associated Press via the New York Times #ALIAS _proc.read_times (fd) { # UNLESS (eof($fd)) { # XECHO -C $center($word(0 $geom()) Associated Press International Headlines) # XECHO -C $repeat($word(0 $geom()) =) # } # @ :line = 0 # UNTIL (eof($fd)) { # @ :text = read($fd) # IF (match(Index $text)) > 0 { # @ :apnews = text #XECHO -C $text # for ( @ xx = 10, xx > 0, @ xx-- ) { #@ :rrnews = #}}} # New York Times International News #ALIAS _proc.read_times (fd) { # UNLESS (eof($fd)) { # XECHO -C $center($word(0 $geom()) New York Times International Headlines) # XECHO -C $repeat($word(0 $geom()) =) # } # @ :line = 0 # UNTIL (eof($fd)) { # @ :text = read($fd) # IF (match( * $text) > 0 && strlen($before(< $restw(4 $text)))) { # @ :line++ # #XECHO -C $cparse(%C$[2]line%n - %c$before(< $restw(4 $text))%n) # XECHO -C $cparse(%C$[2]line%n - %c$before(< ${match(*+1* $text) ? after(4 > $text) : after(2 > $text)})%n) # } # } #} # Yahoo World news #ALIAS _proc.read_yahoo (fd) { # UNLESS (eof($fd)) { # XECHO -C $center($word(0 $geom()) Yahoo World News) # XECHO -C $repeat($word(0 $geom()) =) # } # @ :cnt = 0 # UNTIL (eof($fd)) { # @ :text = read($fd) # IF (match(*dailynews.yahoo.com*font?size="1"* $text) > 0) { # XECHO -C $text # } # } #} # Reuters news ALIAS _proc.read_reut (fd) { UNLESS (eof($fd)) { XECHO -C $center($word(0 $geom()) Reuters Around the Globe); XECHO -C $repeat($word(0 $geom()) =); }; @ :cnt = 0; # @ :rcnt = 0 UNTIL (eof($fd)) { #@ :rcnt++ @ :text = read($fd); # IF (match(*"newsHeadlineLarge"* $text) > 0) { # @ :cnt++ #XECHO -C $cparse(%C$[-2]cnt%n - %c$afterw(class="bigNewslink"> $text)%n) # XECHO -C $cparse(%C$[-2]cnt%n - %c$after(> $before(< $restw(2 $text)))%n) # } # IF (match(*"alt_sideHeadline"* $text)) { # @ :cnt++ # XECHO -C $cparse(%C$[-2]cnt%n - %c$after(> $before(< $restw(2 $text))) %n) # } IF (match(*\(Reuters\)* $text) > 0) { #XECHO -C ${cnt==[1] ? cparse(%c$rest(16 $text)%n) : cparse(%c$rest(6 $text)%n)} XECHO -C $cparse(%c $text %n); }; IF (match(*"newsArticle.jhtml* $text) && !match(*valign* $text)) { @ :cnt++; XECHO -C $cparse(%C$[-2]cnt%n - %c$after(> $before(< $restw(2 $text))) %n); }; IF (match(*sectionNewsHead* $text)) { XECHO -C $cparse(%C**%n - %c$before(-3 < $after(3 > $text))); # XECHO -C $cparse(%C$[-2]cnt%n - %c$after(> $before(< $restw(2 $text))) %n) }; IF (match(*"newsDate"* $text)) { XECHO -C $cparse(%C**%n @ %c$before(< $after(> $text)) %n); }; IF (match(*Updated:* $text)) { XECHO -C $cparse(%C** - $text %n); }; # IF (strlen($afterw(class="Newslink"> $text))) { # @ :cnt++ # XECHO -C $cparse(%C$cnt%n - %c$afterw(class="Newslink"> $text)%n) # } # } # # IF (match(*Reformat headlines if necessary* $text) > 0) {@ :bnct = rcnt} # IF (rcnt == (bnct + 4) && cnt != [0]) { # #IF (rcnt == (bnct + 2) && rcnt != [2]) { # @ :cnt++ # XECHO -C $cparse(%C$[-2]cnt%n - %c$strip($chr(13) $text)%n) # #$rest(27 $text))%n) # } } } # The Hellenic Radio ALIAS _proc.read_era (fd) { UNLESS (eof($fd)) { XECHO -C $center($word(0 $geom()) Hellenic Radio); XECHO -C $repeat($word(0 $geom()) =); }; @ :line = 0; UNTIL (eof($fd)) { @ :text = read($fd); IF (match(*
  • [??]* $text) > 0) { @ line++; XECHO -C $cparse(%C$[2]line%n - %c$rest(29 $text)%n); }; }; }; # Macedonian Press Agency ALIAS _proc.read_mpa (fd) { UNLESS (eof($fd)) { XECHO -C $center($word(0 $geom()) Macedonian Press Agency Headlines); XECHO -C $repeat($word(0 $geom()) =); }; @ :line = 0; UNTIL (eof($fd)) { @ :text = read($fd); IF (match(*
  • [??]* $text) > 0) { @ line++; XECHO -C $cparse(%C$[2]line%n - %c$rest(29 $text)%n); }; }; }; # LiCe news ALIAS _proc.read_lice (fd) { UNTIL (eof($fd)) {XECHO -C $read($fd)}; }; # slashdot (obsolete) #ALIAS _proc.read_slashdot (fd) { # @ read($fd) # @ read($fd) # @ :line = 0 # UNLESS (eof($fd)) { # XECHO -C $[55]center(55 Slashdot Headline) $[12]center(12 Author) Reads # XECHO -C $repeat(55 =) $repeat(12 =) ===== # } # UNTIL (eof($fd)) { # @ :row = read($fd) # IF (row == [%%]) { # XECHO -C $text # @ :line = 0 # CONTINUE # } # IF (line == 0) { # @ :text = cparse(%c$[55]row%n) # } ELSIF (line == 3) { # @ :text #= [ ] ## cparse(%C$[12]row%n) # } ELSIF (line == 6) { # @ :text #= [ ] ## cparse(%b$row%n) # } # @ :line++ # } #} ALIAS _proc.read_slashdot (fd) { UNLESS (eof($fd)) { XECHO -C $[55]center(57 Slashdot Headline) $[10]center(10 Author) ; XECHO -C $repeat(57 =) $repeat(10 =); }; UNTIL (eof($fd)) { @ :text = read($fd); IF (match(* $text) > 0) { @ :line = cparse(%c$[57]before(\< $rest(9 $text)))); }; IF (match(<author>* $text) > 0) { @ :line #= [ $cparse(%C$[10]before(\< $rest(10 $text)))]; # } # IF (match(</backslash> $text) > 0) { XECHO -C $line; }; }; }; ALIAS news { UNLESS (@) { uecho /NEWS -[e|l|m|r|s]; uecho Options:; uecho -e = Hellenic Radio (ERA) (http://hri.org); uecho -l = LiCe News (http://lice.muppetz.com); uecho -m = Macedonian Press Agency (http://hri.org); uecho -r = Reuters Around the Globe (http://reuters.com); uecho -s = Slashdot (http://slashdot.org); RETURN; }; ^LOCAL code; WHILE (option = getopt(optopt optarg "elmrs" $*)) { SWITCH ($option) { (l) {^LOCAL code 0}; (s) {^LOCAL code 1}; (m) {^LOCAL code 2}; (e) {^LOCAL code 3}; (r) {^LOCAL code 4}; }; }; @ :file = [/tmp/WEBNEWS.] ## pid() ## code; _proc.wget_main $news_page[$code] $file; PAUSE 5; @ :fd = open($file R); #WAIT =$fd IF (fd == -1) {RETURN}; $news_func[$code] $fd; @ close($fd); @ unlink($file); }; ##HS'03 #tjh/09 ��������lice5/lice/lice.et����������������������������������������������������������������������������������0000644�0001750�0001750�00000001761�11546244257�012424� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # lice.et written by tjh for LiCe5 for EPIC5. tjh - tim@muppetz.com # http://lice.muppetz.com - LiCe5+ # --------------------------------------------------------------------------- # IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; ALIAS et { IF (!windowctl(GET 0 CHANNELS)) { uecho You're not on a channel in this window! }{ IF (!ischanop($servernick() $C)) { XECHO -B $C: You're not channel operator; }{ ^PARSEKEY ERASE_LINE; @ topic = ischannel($0) ? afterw($0 $chan_topic[$chanwin($0)$hash_32bit($0)]) : afterw($C $chan_topic[$chanwin($C)$hash_32bit($C)]); @ lchan = ischannel($0) ? *0 : C; INPUT "Topic: " IF ((@) && [$*] != [$topic]) { TOPIC $lchan $*; }; XTYPE -literal $topic; }}; }; }; #tjh/10 ���������������lice5/lice/lice.note��������������������������������������������������������������������������������0000644�0001750�0001750�00000005560�11754575754�012774� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.codehack.com # --------------------------------------------------------------------------- # Updated for EPIC5 by tjh IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; @ mkdir($lice.save_path/notes); # help ALIAS _proc.note_help { uecho Usage: /NOTE -dup <from> <to>; uecho Usage: /NOTE -get <nick1 [nick2 ... nicks]>; uecho Usage: /NOTE -get <channel1 [channel2 ... channels]>; uecho Usage: /NOTE -set <nick|channel> <notes...>; uecho Usage: /NOTE -rem <nick|channel [...] | *>; }; # this sets a note in our file. ALIAS _proc.note_set { IF (strlen($1)) { @ :ns.fn = [$lice.save_path/notes/] ## encode($tolower($0)); @ :ns.fd = open($ns.fn W); IF (write($ns.fd $1-) > 0) { XECHO -B Note: "$0" $1- }; @ close($ns.fd); }{ _proc.note_help; }; }; # duplicate a note ALIAS _proc.note_dup { IF (strlen($1)) { @ :nd.f = [$lice.save_path/notes/] ## encode($tolower($0)); IF (fexist($nd.f) == 1) { @ :nd.t = [$lice.save_path/notes/] ## encode($tolower($1)); ^EXEC -name note_dup cp $nd.f $nd.t; WAIT %note_dup; XECHO -B Duplicated notes for '$0' to '$1'; }{ XECHO -B No notes found for '$0'; }; }{ _proc.note_help; }; }; # this gets a previous note ALIAS _proc.note_get { FE ($*) ng.1 { @ :ng.fn = [$lice.save_path/notes/] ## encode($tolower($ng.1)); IF (fexist($ng.fn) == 1) { @ :ng.fd = open($ng.fn R); @ :ng.str = read($ng.fd); WHILE (ng.str) { iecho Note $ng.1\: $ng.str; @ :ng.str = read($ng.fd); }; @ close($ng.fd); }; }; }; ALIAS _proc.note_wget { FE ($*) ng.1 { @ :ng.fn = [$lice.save_path/notes/] ## encode($tolower($ng.1)); IF (fexist($ng.fn) == 1) { @ :ng.fd = open($ng.fn R); @ :ng.str = read($ng.fd); WHILE (ng.str) { ECHO $fmt.whois_mid(Notes $ng.str); @ :ng.str = read($ng.fd); }; @ close($ng.fd); }; }; }; # remove note ALIAS _proc.note_rem { IF ([$0]==[*]) { @ :nr.fn = glob($lice.save_path/notes/*); @ unlink($nr.fn); XECHO -B Removed all notes; }{ FE ($*) nr.1 { @ :nr.fn = [$lice.save_path/notes/] ## encode($tolower($nr.1)); UNLESS (unlink($nr.fn)) { XECHO -B Failed to remove notes for \"$nr.1\"; }{ XECHO -B Removed notes for \"$nr.1\"; }; }; }; }; # user command ALIAS note { UNLESS (@) { _proc.note_help; RETURN}; SWITCH ($0) { (-upd) { _proc.note_dup $1 $2 }; (-get) { _proc.note_get $1- }; (-rem) { _proc.note_rem $1- }; (-set) { _proc.note_set $1- }; (*) { XECHO -B Invalid option}; }; }; #tjh/12 ������������������������������������������������������������������������������������������������������������������������������������������������lice5/lice/lice.play��������������������������������������������������������������������������������0000644�0001750�0001750�00000010775�11543553202�012754� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.codehack.com # --------------------------------------------------------------------------- # Updated for EPIC5 by tjh IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; # MSG answering machine ALIAS play { IF (temp.nrm > 0) { _proc.play_main ${isnumber($pass(0123456789 $0))?[$0] - 1:0}; RETURN; }; XECHO -B No messages in record.; IF (fexist($lice.save_path/LiCeAway.log) == 1) { INPUT_CHAR "View messages saved in AWAY file (y/n) ? " { IF ([$0]==[Y]) { XECHO -B Playing messages from $lice.save_path/LiCeAway.log; pager $open($lice.save_path/LiCeAway.log R); }; }; }; }; ALIAS _proc.play_main { IF (temp.nrm > [$0]) { @ :pp.rec = getitem(AM $0); @ :pp.str = restw(3 $pp.rec); @ :pp.wid = word(0 $geom()) - 2; ECHO [ Message #${[$0]+1}/$temp.nrm : $stime($word(0 $pp.rec)) \($tdiff2(${time() - word(0 $pp.rec)}) ago\) ]; ECHO : From : $word(1 $pp.rec) \($word(2 $pp.rec)\); ECHO $pp.str; ECHO; UNLESS (strlen($1)) {_proc.play_prompt $0}{_proc.play_main ${[$0] + 1} OK}; }{ IF (strlen($1)) {_proc.play_prompt ${[$0] - 1}}; }; }; ALIAS _proc.play_prompt { ^ASSIGN old_idx $0; INPUT "[${old_idx + 1}/$temp.nrm] Enter option (ENTER to continue, ? for help): " { UNLESS ([$0]==[Q]) { UNLESS (isdigit($0)) { SWITCH ($0) { () {_proc.play_main ${old_idx + 1}}; (D) {_proc.play_erase}; (E) { _proc.play_erase $old_idx; _proc.play_main $old_idx; }; (S) { _proc.play_save $old_idx; _proc.play_main $old_idx; }; (W) {_proc.play_save}; (V) { _proc.play_view; _proc.play_main 0; }; (A) {_proc.play_main ${old_idx + 1} OK}; (*) { uecho PLAY prompt options:; uecho D = erase all messages stored; uecho E = erase current displayed message; uecho W = save all messages stored; uecho S = save current displayed message; uecho V = view all message headings; uecho A = display all messages; uecho; uecho Usage: /PLAY <message #>; _proc.play_prompt $old_idx OK; }; }; }{ @ :idx = [$0] - 1; IF (idx > temp.nrm) { XECHO -B Message #$0 does not exists \($temp.nrm total\); }{ _proc.play_main $idx; }; }; }; }; }; ALIAS _proc.play_view { ECHO # Message headings - $temp.nrm total; ECHO # No. | Nick | Time of arrival; FOR (@ :cnt=0, temp.nrm > cnt, @cnt++) { @ :v_rec = getitem(AM $cnt); ECHO # $[-3]{cnt + 1} : $[9]word(1 $v_rec) : $strftime($word(0 $v_rec) %b %d/%H:%M) \($tdiff2(${time() - word(0 $v_rec)}) ago\); }; ECHO; }; ALIAS _proc.play_erase { IF (isdigit($0)) { IF (ismset(E)) {@ write($awayfd - $encode($getitem(AM $0)))}; UNLESS (delitem(AM $0)) { XECHO -B Erased message #${[$0]+1} ...; @ temp.nrm--; }; }{ UNLESS (delarray(AM)) {XECHO -B Erasing $temp.nrm message$plural($temp.nrm) ...}; IF (ismset(E) && (fexist($lice.save_path/lice.awaylog) == 1)) { @ close($awayfd); @ unlink($twiddle($lice.save_path/lice.awaylog)); @ awayfd = open($lice.save_path/lice.awaylog W); }; @ temp.nrm = 0; ^ASSIGN -old_idx; }; ^SET STATUS_USER1 $temp.nrm; }; ALIAS erase {_proc.play_erase}; ALIAS _proc.play_save { @ :fd = open($lice.save_path/LiCeAway.log W); IF (@) { @ :w_rec = getitem(AM $0); IF (w_rec) { @ write($fd # From: $word(1 $w_rec) \($word(2 $w_rec)\)); @ write($fd # Date: $strftime($word(0 $w_rec) %c)); @ write($fd $restw(3 $w_rec)); @ write($fd .); UNLESS (delitem(AM $0)) {@ temp.nrm--}; XECHO -B Saving message #${[$0]+1} ...; }; }{ FOR (@ :cnt=0, temp.nrm > cnt, @cnt++) { @ w_rec = getitem(AM $cnt); @ write($fd # From: $word(1 $w_rec) \($word(2 $w_rec)\)); @ write($fd # Date: $strftime($word(0 $w_rec) %c)); @ write($fd $restw(3 $w_rec)); @ write($fd .); }; XECHO -B Saving all messages \($cnt\); @ delarray(AM); @ temp.nrm = 0; }; @ close($fd); ^SET STATUS_USER1 $temp.nrm; }; #tjh/09 ���lice5/lice/lice.gone��������������������������������������������������������������������������������0000644�0001750�0001750�00000001476�11752707471�012750� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.muppetz.com # --------------------------------------------------------------------------- # Updated for EPIC5 by tjh IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; ALIAS gone { @ quiet.test = ismset(Q); @ :gone.msg = randread($main.reason_gone); UNLESS (strlen($gone.msg)) {@ :gone.msg = [http://lice.muppetz.com]}; SWITCH ($0) { () {AWAY $gone.msg}; (-a) {AWAY -all ${strlen($1)?[$1-]:gone.msg}}; (-q) { @ quiet.test = 1; AWAY ${strlen($1)?[$1-]:gone.msg}; }; (*) {AWAY $*}; }; }; #tjh/12 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/lice/lice.mme���������������������������������������������������������������������������������0000644�0001750�0001750�00000002106�11754127572�012565� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.codehack.com # --------------------------------------------------------------------------- # Updated by tjh to support all servers 14/05/2012 IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; alias mme { SWITCH ($0) { () {uecho Usage: /MME [-a] <action>}; (-a) { FOR serv from 0 to $serverctl(MAX) { IF (serverctl(GET $serv CONNECTED)) { @ mme_list = mychannels($serv); @ mme_send = chr(1) ## [ACTION $1-] ## chr(1); _proc.loop_send $serv PRIVMSG mme_list mme_send; }; }; ECHO $fmt.send_action(ALL/#* $1-); }; (*) { @ mme_list = mychannels(); @ mme_send = chr(1) ## [ACTION $*] ## chr(1); _proc.loop_send $winserv() PRIVMSG mme_list mme_send; ECHO $fmt.send_action(#* $*); }; }; }; #tjh/12 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/lice/lice.noig��������������������������������������������������������������������������������0000644�0001750�0001750�00000004365�12126407634�012746� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.codehack.com # --------------------------------------------------------------------------- # Updated for EPIC5 by tjh IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; ALIAS my.rdots {@FUNCTION_RETURN = right($0 $repeat($0 .)$1-)}; ALIAS noig { @ :list = igmask(*); UNLESS (strlen($list)) { //IGNORE; RETURN; }; ECHO ---- Ignore Pattern $repeat(${word(0 $geom()) - (ismset(T) ? (strlen($strftime($lice.get(main.tsfmt))) + 35):[32])} -) Types ----; @ :cnt = 1; FE ($list) patt { UNLESS (5 + strlen($igtype($patt)) + strlen($patt) > word(0 $geom())) { ECHO [$[2]cnt] 12$patt$my.rdots(${word(0 $geom()) - (2 + strlen($igtype($patt)) + strlen($patt))} 10$igtype($patt)); IF (ismset(V)) { ECHO 10Length: ${word(0 $ignorectl(GET $ignorectl(REFNUM $patt) EXPIRATION)) > 0 ? [11${word(0 $ignorectl(GET $ignorectl(REFNUM $patt) EXPIRATION)) - time()}] ## [secs] : [11PERM]} ${strlen($ignorectl(GET $ignorectl(REFNUM $patt) REASON)) ? [10REASON\:11 11$ignorectl(GET $ignorectl(REFNUM $patt) REASON)]:[]}; }; }{ ECHO [$[2]cnt] 12$patt; ECHO $repeat(${word(0 $geom()) - (strlen($igtype($patt)) + 7)} .) 10$igtype($patt); IF (ismset(V)) { ECHO 10Length: ${word(0 $ignorectl(GET $ignorectl(REFNUM $patt) EXPIRATION)) > 0 ? [11${word(0 $ignorectl(GET $ignorectl(REFNUM $patt) EXPIRATION)) - time()}] ## [secs] : [11PERM]} ${strlen($ignorectl(GET $ignorectl(REFNUM $patt) REASON)) ? [10REASON\:11 11$ignorectl(GET $ignorectl(REFNUM $patt) REASON)]:[]}; }; }; @cnt++; }; INPUT "Select # to unignore, * for all (ENTER cancels): " IF (@) { @ :list = igmask(*); IF (isnumber($0) || [$[1]0]==[#]) { @ :cnt = pass(0123456789 $0) - 1; @lice.del(|$hash_32bit($word($cnt $list))); //IGNORE $word($cnt $list) NONE; }; IF ([$0]==[*]) { FE ($list) patt { //IGNORE $patt NONE ; @lice.del(|$hash_32bit($patt));} }; }; }; #HS/03 #tjh/12 #tjbh/13 ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/lice/lice.alarm�������������������������������������������������������������������������������0000644�0001750�0001750�00000003730�11542462257�013104� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.codehack.com # --------------------------------------------------------------------------- # Updated for EPIC5 by tjh IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; # Alarm routines ALIAS alarm { SWITCH ($0) { (KILL) { UNLESS (delarray(ALARM)) { XECHO -B All scheduled events have been purged.; }; }; (POP) { IF (strlen($1)) { @ :eid = pass(0123456789 $1) - 1; UNLESS (delitem(ALARM $eid)) { XECHO -B Removed event id '$1\'.; }{ XECHO -B No such event id '$1\'.; }; }{ uecho Usage: /ALARM [LIST|KILL|POP <id>|PUSH <minutes> <command>]; }; }; (PUSH) { IF (isnumber($1) && strlen($2)) { @ :when = ([$1] > 60 || [$1] == 0) ? 60 : [$1]; queue.add ALARM 9 $when $2-; XECHO -B Added new event for every $tdiff(${when * 60}); }{ uecho Usage: /ALARM [LIST|KILL|POP <id>|PUSH <minutes> <command>]; }; }; () (LIST) {_proc.alarm_view}; (*) {uecho Usage: /ALARM [LIST|KILL|POP <id>|PUSH <minutes> <command>]}; }; }; ALIAS _proc.alarm_view { IF (numitems(ALARM) <= 0) { XECHO -B No events scheduled.; RETURN; }; ECHO Id T Event; @ :at.m = numitems(ALARM) - 1; @ :at.n = jot(0 $at.m); FE ($at.n) at.c { @ :at.s = getitem(ALARM $at.c); ECHO [$[2]{at.c + 1}] $[2]word(0 $at.s) $restw(1 $at.s); }; }; ALIAS _proc.alarm_check { @ :at.n = numitems(ALARM); @ :at.p = (at.p == [00]) ? 60 : [$0]; FOR (@ :at.c=0, at.n > at.c, @at.c++) { @ :at.s = getitem(ALARM $at.c); @ :at.t = word(0 $at.s); UNLESS (at.p % at.t) { UNLESS (strlen($L)) {SENDLINE $restw(1 $at.s)}; }; }; }; #tjh/09 ����������������������������������������lice5/lice/lice.ctog��������������������������������������������������������������������������������0000644�0001750�0001750�00000013110�12126407634�012732� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.codehack.com # --------------------------------------------------------------------------- # Updated for EPIC5 by tjh # Modifications by tjh IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; ALIAS _proc.setup_ctog { IF (C) { @ :hash = hash_32bit($C); iecho +------ $C Toggle Settings $pad(${40 - strlen($C)} - -)+; iecho | Description | Tog | Set | Default |; iecho +------------------------------------------+-----+-----+---------+; iecho Ban flooders with the worse possible ban. | 1 | $[3]isset.show($iscset(1 $hash)) | Off; iecho Save channel's toggles permanently. | A | $[3]isset.show($iscset(A $hash)) | Off; iecho Enable SHIT channel actions. | B | $[3]isset.show($iscset(B $hash)) | On; iecho Channel protection. (AutoKICK of flooders) | C | $[3]isset.show($iscset(C $hash)) | On; iecho Auto KICK users matching channel bans. | D | $[3]isset.show($iscset(D $hash)) | Off; iecho Note reminders on JOIN. | E | $[3]isset.show($iscset(E $hash)) | Off; iecho Auto BAN channel flooders. | F | $[3]isset.show($iscset(F $hash)) | On; iecho Bitch Mode. Let only +O friends get ops. | G | $[3]isset.show($iscset(G $hash)) | Off; iecho Auto lookup IP addresses on JOIN. | H | $[3]isset.show($iscset(H $hash)) | Off; iecho Auto JOIN on INVITE, always. | I | $[3]isset.show($iscset(I $hash)) | Off; iecho Auto clone bot detection on JOIN. | J | $[3]isset.show($iscset(J $hash)) | Off; iecho Disallow channel keys by users on channel. | K | $[3]isset.show($iscset(K $hash)) | Off; iecho Lock channel with certain modes. | L | $[3]isset.show($iscset(L $hash)) | Off; iecho Auto KICK users on bogus channel keys. | M | $[3]isset.show($iscset(M $hash)) | Off; iecho Nethack protection. (Auto DOP hacked ops) | N | $[3]isset.show($iscset(N $hash)) | Off; iecho Don't kick channel operators that flood. | O | $[3]isset.show($iscset(O $hash)) | On; iecho Enable FRIEND channel actions (AutoOp). | P | $[3]isset.show($iscset(P $hash)) | On; iecho Quiet Channel. Ignore JOIN/PART/CTCP/NICKs.| Q | $[3]isset.show($iscset(Q $hash)) | Off; iecho Auto SHIT users that flood the channel. | S | $[3]isset.show($iscset(S $hash)) | Off; iecho Lock channel with certain topic. | T | $[3]isset.show($iscset(T $hash)) | Off; iecho Don't kick channel voices that flood. | V | $[3]isset.show($iscset(V $hash)) | Off; INPUT "Letters to change toggles for $C (ENTER to skip): " IF (@) {ctog $*} }{ XECHO -B You are not on any channel. Default Channel sets are: \"$lice.get(main.cset)\"; INPUT "Letters to change for default channel sets (ENTER to skip): " IF (@) { @ :_nc = toupper($0); FEC ($_nc) _ac { @ :_c = pass(12ABCDEFGHIJKLMNOPQSTV $_ac); UNLESS (pass($_c $lice.get(main.cset))) {@lice.set(main.cset ${lice.get(main.cset)##[$_c]})} {@ lice.set(main.cset $strip($_c $lice.get(main.cset)))}; }; XECHO -B You are not on any channel. Default Channel togs are now set to \"$lice.get(main.cset)\"; }; }; }; ALIAS _proc.ctog_do_locks (type,mode,hash,chan,serv) { # allow both locks to be updated sequentially IF (strlen($tmp.chan)) { ^QUEUE -ADD CTOG {_proc.ctog_do_locks $type $mode $hash $chan $serv}; RETURN; }; @ tmp.type = type; @ tmp.serv = serv; @ tmp.mode = mode; @ tmp.hash = hash; @ tmp.chan = chan; INPUT "Enter $type lock for $ch($chan)\: " { IF (@) { IF (tmp.mode == [L]) { @ lice.set(chan[$tmp.hash][L] $pass(0123456789mnstipal $*)); IF (ischanop($N $tmp.chan)) {XQUOTE -S $tmp.serv MODE $tmp.chan +$lice.get(chan[$tmp.hash][L])} }{ @ lice.set(chan[$tmp.hash][T] $*); IF (ischanop($N $tmp.chan)) {XQUOTE -S $tmp.serv TOPIC $tmp.chan :$lice.get(chan[$tmp.hash][T])}; }; XECHO -B $tmp.type lock $tmp.chan now: $lice.get(chan[$tmp.hash][$tmp.mode]); }{ @ lice.set(chan[$tmp.hash][S] $strip($tmp.mode $lice.get(chan[$tmp.hash][S]))); @ lice.del(chan[$tmp.hash][$tmp.mode]); XECHO -B Toggles for $tmp.chan now: +$lice.get(chan[$tmp.hash][S]); }; purge tmp; ^QUEUE -DO CTOG; }; }; ALIAS ctog { UNLESS ((@) && (ischannel($C))) { _proc.setup_ctog; RETURN; }; @ :_c = hash_32bit($C); @ :_o = lice.get(chan[$_c][S]); FEC ($toupper($0)) _t { IF (pass($_t $_o)) { @ :_o = strip($_t $_o); SWITCH ($_t) { (L) (T) {@lice.del(chan[$_c][$_t])}; (Q) { @ ignorectl(DELETE $C); @ lice.del(|$hash_32bit($C)); }; }; }{ @ :_o #= pass(12ABCDEFGHIJKLMNOPQSTV $_t); SWITCH ($_t) { (L) (T) {_proc.ctog_do_locks ${(_t == [L]) ? [Mode] : [Topic]} $_t $_c $C $winserv()}; (Q) { @ ignorectl(ADD $C JOINS NICKS CTCPS NOTICES TOPICS PARTS); @ lice.set(|$hash_32bit($C) $C JOINS NICKS CTCPS NOTICES TOPICS PARTS); ECHO $fmt.banner_alert() Ignoring JOINS NICKS CTCPS NOTICES TOPICS and PARTS on $C; }; }; }; }; UNLESS (_o) { @ lice.del(chan[$_c][S]); @ :_o = [disabled]; }{ @ lice.set(chan[$_c][S] $_o); }; XECHO -B Toggles for $C are now: $_o; }; #tjh/13 #tjbh/13 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/lice/lice.back��������������������������������������������������������������������������������0000644�0001750�0001750�00000001276�11752707471�012716� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.codehack.com # --------------------------------------------------------------------------- # Updated for EPIC5 by tjh IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; ALIAS back { IF ([$0] == [-a]) { AWAY -all; RETURN; }; AWAY; @ :target = ((T ? T : C) ? C : N); UNLESS (ismset(Q) || [$[2]0] == [-q]) { DESCRIBE $target is back. ${@?[$*]:randread($main.reason_back)}; }; }; #tjh/12 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/lice/lice.defaults����������������������������������������������������������������������������0000644�0001750�0001750�00000011645�11752416656�013630� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Client settings needed for correct script/client usage. # Updated for EPIC5 by tjh IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; SET ALWAYS_SPLIT_BIGGEST OFF; SET AUTO_NEWNICK ON; SET AUTO_RECONNECT ON; SET AUTO_RECONNECT_DELAY 3; SET AUTO_REJOIN ON; SET AUTO_REJOIN_DELAY 10; SET AUTO_UNMARK_AWAY OFF; SET AUTO_WHOWAS OFF; SET BANNER ##; SET BANNER_EXPAND OFF; SET BEEP ON; SET BEEP_MAX 1; SET BEEP_ON_MSG NONE; SET BLINK_VIDEO OFF; SET BOLD_VIDEO ON; SET CHANNEL_NAME_WIDTH 13; SET CLOCK ON; SET CLOCK_24HOUR OFF; SET -CLOCK_FORMAT; SET COLOR ON; SET COMMAND_MODE OFF; SET COMMENT_HACK ON; SET CONNECT_TIMEOUT 60; SET CONTINUED_LINE ; SET CPU_SAVER_AFTER 10; SET CPU_SAVER_EVERY 5; SET CURRENT_WINDOW_LEVEL ALL; SET DCC_LONG_PATHNAMES OFF; SET DCC_SLIDING_WINDOW 4; SET DCC_STORE_PATH ~; SET DCC_TIMEOUT 300; SET DISPATCH_UNKNOWN_COMMANDS OFF; SET DISPLAY ON; SET DISPLAY_ANSI ON; SET DISPLAY_PC_CHARACTERS 4; SET DO_NOTIFY_IMMEDIATELY ON; SET EIGHT_BIT_CHARACTERS ON; SET FLOATING_POINT_MATH OFF; SET OLD_MATH_PARSER OFF; SET FLOOD_AFTER 5; SET FLOOD_RATE 3; SET FLOOD_USERS 10; SET FLOOD_WARNING OFF; SET FULL_STATUS_LINE ON; SET HIDE_PRIVATE_CHANNELS OFF; SET HIGHLIGHT_CHAR BOLD; SET HIGH_BIT_ESCAPE 2; SET HISTORY 25; SET HOLD_MODE OFF; SET INDENT ON; SET -INPUT_PROMPT; SET INSERT_MODE ON; SET INVERSE_VIDEO ON; SET LASTLOG 512; SET LASTLOG_LEVEL DCC,ALL; SET LOAD_PATH /usr/local/share/epic/script:~/lice5:.; SET LOG OFF; SET LOGFILE IRCLOG; SET MAIL 2; SET MANGLE_INBOUND; SET MANGLE_LOGFILES; SET MANGLE_OUTBOUND; SET MAX_RECONNECTs 0; SET MAX_RECURSIONS 50; SET MIRC_BROKEN_RESUME ON; SET MODE_STRIPPER ON; SET ND_SPACE_MAX 80; SET NOTIFY_HANDLER NOISY; SET NOTIFY_INTERVAL 90; SET NOTIFY_ON_TERMINATION OFF; SET NOTIFY_USERHOST_AUTOMATIC ON; SET NO_CONTROL_LOG ON; SET NO_CTCP_FLOOD ON; SET NO_FAIL_DISCONNECT OFF; SET NUM_OF_WHOWAS 1; SET QUIT_MESSAGE http://lice.muppetz.com; DO { @ :realname = getenv(IRCNAME); SET REALNAME ${strlen($realname)?realname:[http\://lice.muppetz.com]}; }; SET -SCREEN_OPTIONS; SET SCROLLBACK 256; SET SCROLLBACK_RATIO 50; SET SCROLL_LINES 1; SET SECURITY 0; SET SHELL /bin/sh; SET SHELL_flags -c; SET SHELL_LIMIT 0; SET SHOW_CHANNEL_NAMES ON; SET SHOW_END_OF_MSGS ON; SET SHOW_NUMERICS OFF; SET SHOW_STATUS_ALL OFF; SET SHOW_WHO_HOPCOUNT OFF; # most SET STATUS_* moved to themes/default SET -STATUS_USER; SET STATUS_USER1 0; SET STATUS_USER2 ??; SET STATUS_USER3 Idle: ?; SET -STATUS_USER4; SET SUPPRESS_FROM_REMOTE_SERVER ON; SET SUPPRESS_SERVER_MOTD ON; SET TAB ON; SET TAB_MAX 8; SET UNDERLINE_VIDEO ON; SET USER_INFORMATION LiCe - http://lice.muppetz.com; SET VERBOSE_CTCP OFF; SET -XTERM; SET -XTERM_OPTIONS; # Global variables and default settings. UNLESS (lice.get(lice.database)) { @lice.add(lice.database 1); @lice.add(main.op 10); @lice.add(main.cch 15); @lice.add(main.agn 5); @lice.add(main.isolate 15); @lice.add(main.mrm 100); @lice.add(main.mnm 3); @lice.add(main.mns 5); @lice.add(main.nst 5); @lice.add(main.cset BCFOP); @lice.add(main.dset GSR); @lice.add(main.mset 1AMNOPQUV); @lice.add(main.wset DT); @lice.add(main.qbuff 200); IF (dlu == 1) { @lice.add(main.set ABFPRT); }{ @lice.add(main.set ABFPRTU); }; @lice.add(main.theme default); @lice.add(main.tsfmt %I:%M); @lice.add(main.auto_unban 0); # preferred nickname DO { @ :tmp = getenv(IRCUMODE); @lice.set(main.umode ${strlen($tmp) ? tmp : [-s]}); @ :tmp = getenv(IRCNICK); IF (strlen($tmp)) { @lice.set(main.auto_nick $tmp); @lice.set(main.buf $tmp); }{ @lice.del(main.auto_nick); @lice.del(main.buf); }; }; }; # set autonick IF (strlen($lice.get(main.auto_nick))) { ^SET auto_new_nick_list $lice.get(main.auto_nick) $getenv(USER) LiCeUser$rand(9); }{ ^SET auto_new_nick_list $getenv(USER) LiCeUser$rand(9); }; # reason files @ main.reason_quit = (fexist($(lice.save_path)/quit.reasons) == 1) ? which($lice.save_path/quit.reasons) : which($LiCePath/quit.reasons); @ main.reason_kick = (fexist($(lice.save_path)/kick.reasons) == 1) ? which($lice.save_path/kick.reasons) : which($LiCePath/kick.reasons); @ main.reason_back = (fexist($(lice.save_path)/back.reasons) == 1) ? which($lice.save_path/back.reasons) : which($LiCePath/back.reasons); @ main.reason_gone = (fexist($(lice.save_path)/gone.reasons) == 1) ? which($lice.save_path/gone.reasons) : which($LiCePath/gone.reasons); @ main.reason_oops = (fexist($(lice.save_path)/oops.reasons) == 1) ? which($lice.save_path/oops.reasons) : which($LiCePath/oops.reasons); @ main.reason_error = (fexist($(lice.save_path)/error.reasons) == 1) ? which($lice.save_path/error.reasons) : which($LiCePath/error.reasons); @ main.reason_revenge = (fexist($(lice.save_path)/revenge.reasons) == 1) ? which($lice.save_path/revenge.reasons) : which($LiCePath/revenge.reasons); # some DCC stuff ^ASSIGN main.dcc_active_limit 10; ^ASSIGN main.dcc_send_queue 50; ^ASSIGN main.dcc_get_queue 50; #tjh/12 �������������������������������������������������������������������������������������������lice5/lice/lice.msay��������������������������������������������������������������������������������0000644�0001750�0001750�00000002053�11754127572�012761� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.codehack.com # --------------------------------------------------------------------------- # Updated to support all servers by tjh 14/5/2012 IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; ALIAS msay { SWITCH ($0) { () {uecho Usage: /MSAY [-a] <public text>}; (-a) { FOR serv from 0 to $serverctl(MAX) { IF (serverctl(GET $serv CONNECTED)) { @ msay_list = mychannels($serv); ^ASSIGN msay_send $1-; _proc.loop_send $serv PRIVMSG msay_list msay_send; }; }; ECHO $fmt.send_public(ALL/#* $1-); }; (*) { @ msay_list = mychannels(); ^ASSIGN msay_send $*; _proc.loop_send $winserv() PRIVMSG msay_list msay_send; ECHO $fmt.send_public(#* $*); }; }; }; #tjh/12 �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/lice/lice.mk����������������������������������������������������������������������������������0000644�0001750�0001750�00000001476�11542462257�012424� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.codehack.com # --------------------------------------------------------------------------- # Updated for EPIC5 by tjh IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; ALIAS mk { UNLESS (ischanop($N $C)) { XECHO -B $ch($C)\: You're not channel operator.; RETURN; }; UNLESS (pass(: $*)) { ^ASSIGN kick_list $*; @ kick_msg = randread($main.reason_kick); }{ ^LOCAL mk.t $*; @ kick_list = before(: $mk.t); @ kick_msg = after(: $mk.t); }; _proc.loop_kick $winserv() $C kick_list kick_msg; }; #tjh/09 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/lice/lice.stubs�������������������������������������������������������������������������������0000644�0001750�0001750�00000015427�11773224236�013155� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # Modular loading for LiCe. # Updated by tjh for LiCe5 - http://lice.muppetz.com/ # tjh - tim@muppetz.com # IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; # operator commands STUB ALIAS ban $LiCePath/lice/lice.banlist; STUB ALIAS bexc $LiCePath/lice/lice.exclist; STUB ALIAS binv $LiCePath/lice/lice.invlist; STUB ALIAS boot $LiCePath/lice/lice.boot; STUB ALIAS bword $LiCePath/lice/lice.bword; STUB ALIAS k $LiCePath/lice/lice.kick; STUB ALIAS kb $LiCePath/lice/lice.kickban; STUB ALIAS kbi $LiCePath/lice/lice.kickban; STUB ALIAS ka $LiCePath/lice/lice.kickban; STUB ALIAS kh $LiCePath/lice/lice.kickban; STUB ALIAS kf $LiCePath/lice/lice.kickban; STUB ALIAS ku $LiCePath/lice/lice.kickban; STUB ALIAS ki $LiCePath/lice/lice.kickban; STUB ALIAS mass $LiCePath/lice/lice.mass; STUB ALIAS mk $LiCePath/lice/lice.mk; STUB ALIAS rban $LiCePath/lice/lice.remove_list; STUB ALIAS rexc $LiCePath/lice/lice.remove_list; STUB ALIAS rinv $LiCePath/lice/lice.remove_list; STUB ALIAS rk $LiCePath/lice/lice.rk; STUB ALIAS unban $LiCePath/lice/lice.remove_list; STUB ALIAS wall $LiCePath/lice/lice.wall; # general user commands STUB ALIAS adcc $LiCePath/lice/lice.adcc; STUB ALIAS dcc $LiCePath/lice/lice.adcc; STUB ALIAS alarm $LiCePath/lice/lice.alarm; STUB ALIAS back $LiCePath/lice/lice.back; STUB ALIAS book $LiCePath/lice/lice.imail; STUB ALIAS bye $LiCePath/lice/lice.signoff; STUB ALIAS chanlog $LiCePath/lice/lice.chanlog; STUB ALIAS chanst $LiCePath/lice/lice.chanst; STUB ALIAS color $LiCePath/extra/lice.color; STUB ALIAS country $LiCePath/lice/lice.dom; STUB ALIAS ctog $LiCePath/lice/lice.ctog; STUB ALIAS cwho $LiCePath/lice/lice.cwho; STUB ALIAS define $LiCePath/lice/lice.define; STUB ALIAS dict $LiCePath/lice/lice.define; STUB ALIAS dns $LiCePath/lice/lice.dns; STUB ALIAS dom $LiCePath/lice/lice.dom; STUB ALIAS dtog $LiCePath/lice/lice.dtog; STUB ALIAS dump $LiCePath/lice/lice.dump; STUB ALIAS erase $LiCePath/lice/lice.play; STUB ALIAS et $LiCePath/lice/lice.et; STUB ALIAS exit $LiCePath/lice/lice.signoff; STUB ALIAS findip $LiCePath/lice/lice.dns; STUB ALIAS finger $LiCePath/lice/lice.finger; STUB ALIAS fwall $LiCePath/extra/lice.fwall; STUB ALIAS gdcc $LiCePath/extra/lice.sdcc; STUB ALIAS gone $LiCePath/lice/lice.gone; STUB ALIAS help $LiCePath/lice/lice.help; STUB ALIAS ignore $LiCePath/lice/lice.ignore; STUB ALIAS imail $LiCePath/lice/lice.imail; STUB ALIAS invite $LiCePath/lice/lice.invite; STUB ALIAS memo $LiCePath/lice/lice.memo; STUB ALIAS mme $LiCePath/lice/lice.mme; STUB ALIAS msay $LiCePath/lice/lice.msay; STUB ALIAS mtog $LiCePath/lice/lice.mtog; STUB ALIAS news $LiCePath/lice/lice.news; STUB ALIAS noig $LiCePath/lice/lice.noig; STUB ALIAS note $LiCePath/lice/lice.note; STUB ALIAS nsl $LiCePath/lice/lice.dns; STUB ALIAS oops $LiCePath/lice/lice.oops; STUB ALIAS pager $LiCePath/lice/lice.pager; STUB ALIAS pic $LiCePath/lice/lice.pic; STUB ALIAS play $LiCePath/lice/lice.play; STUB ALIAS ppl $LiCePath/lice/lice.ppl; STUB ALIAS protect $LiCePath/lice/lice.ignore; STUB ALIAS quit $LiCePath/lice/lice.signoff; STUB ALIAS redcc $LiCePath/lice/lice.redcc; STUB ALIAS refriend $LiCePath/lice/lice.refriend; STUB ALIAS relm $LiCePath/lice/lice.rel; STUB ALIAS relmk $LiCePath/lice/lice.rel; STUB ALIAS reln $LiCePath/lice/lice.rel; STUB ALIAS relnk $LiCePath/lice/lice.rel; STUB ALIAS relw $LiCePath/lice/lice.rel; STUB ALIAS relwk $LiCePath/lice/lice.rel; STUB ALIAS reuser $LiCePath/lice/lice.refriend; STUB ALIAS rdcc $LiCePath/lice/lice.rdcc; STUB ALIAS scan $LiCePath/extra/lice.scan; STUB ALIAS sc $LiCePath/lice/lice.sc; STUB ALIAS sb $LiCePath/lice/lice.show_list; STUB ALIAS sdcc $LiCePath/extra/lice.sdcc; STUB ALIAS se $LiCePath/lice/lice.show_list; STUB ALIAS sensors $LiCePath/lice/lice.sensors; STUB ALIAS si $LiCePath/lice/lice.show_list; STUB ALIAS signoff $LiCePath/lice/lice.signoff; STUB ALIAS silence $LiCePath/lice/lice.silence; STUB ALIAS tab_completion $LiCePath/lice/lice.tab_comp; STUB ALIAS theme $LiCePath/lice/lice.theme; STUB ALIAS tlm $LiCePath/lice/lice.rel; STUB ALIAS tln $LiCePath/lice/lice.rel; STUB ALIAS tlw $LiCePath/lice/lice.rel; STUB ALIAS tog $LiCePath/lice/lice.tog; STUB ALIAS trace $LiCePath/extra/lice.trace; STUB ALIAS trans $LiCePath/lice/lice.trans; STUB ALIAS msg_completion $LiCePath/lice/lice.tab_comp; # If update has been disabled, we don't stub these in. UNLESS (dlu == 1) { STUB ALIAS update $LiCePath/lice/lice.update; STUB ALIAS upgrade $LiCePath/lice/lice.update; }; STUB ALIAS wlm $LiCePath/lice/lice.rel; STUB ALIAS wln $LiCePath/lice/lice.rel; STUB ALIAS wtog $LiCePath/lice/lice.wtog; # userlist STUB ALIAS shit $LiCePath/lice/lice.userlist; STUB ALIAS friend $LiCePath/lice/lice.userlist; STUB ALIAS _proc.ul_add $LiCePath/lice/lice.userlist; STUB ALIAS _proc.ulw_help $LiCePath/lice/lice.ulw_help; STUB ALIAS _proc.ulw_ident $LiCePath/lice/lice.ulw_ident; STUB ALIAS _proc.ul_save $LiCePath/lice/lice.ul_save; STUB ALIAS _proc.ul_m2a $LiCePath/lice/lice.userlist; # partyline STUB ALIAS party $LiCePath/lice/lice.party; # proc's STUB ALIAS _proc.ban $LiCePath/lice/lice.banlist; STUB ALIAS _proc.dcc_queue_check $LiCePath/lice/lice.dcclist; STUB ALIAS _proc.dcc_queue_load $LiCePath/lice/lice.dcclist; STUB ALIAS _proc.disp_file $LiCePath/lice/lice.pager; STUB ALIAS _proc.flood_chan $LiCePath/lice/lice.floodlist; STUB ALIAS _proc.flood_nick $LiCePath/lice/lice.floodlist; STUB ALIAS _proc.join_clones $LiCePath/lice/lice.joinlist; STUB ALIAS _proc.join_socks $LiCePath/extra/lice.scan; STUB ALIAS _proc.join_shit $LiCePath/lice/lice.joinlist; STUB ALIAS _proc.join_bans $LiCePath/lice/lice.joinlist; STUB ALIAS _proc.join_usr1 $LiCePath/lice/lice.joinlist; STUB ALIAS _proc.join_usr2 $LiCePath/lice/lice.joinlist; STUB ALIAS _proc.join_ip $LiCePath/lice/lice.joinlist; STUB ALIAS _proc.join_rest $LiCePath/lice/lice.joinlist; STUB ALIAS _proc.log_j $LiCePath/lice/lice.chanlog; STUB ALIAS _proc.log_k $LiCePath/lice/lice.chanlog; STUB ALIAS _proc.log_p $LiCePath/lice/lice.chanlog; STUB ALIAS _proc.loop_kick $LiCePath/lice/lice.looplist; STUB ALIAS _proc.loop_mode $LiCePath/lice/lice.looplist; STUB ALIAS _proc.loop_send $LiCePath/lice/lice.looplist; STUB ALIAS _proc.note_dup $LiCePath/lice/lice.note; STUB ALIAS _proc.note_get $LiCePath/lice/lice.note; STUB ALIAS _proc.note_rem $LiCePath/lice/lice.note; STUB ALIAS _proc.note_set $LiCePath/lice/lice.note; STUB ALIAS _proc.note_wget $LiCePath/lice/lice.note; STUB ALIAS _proc.open_log $LiCePath/lice/lice.chanlog; STUB ALIAS _proc.redraw_tl $LiCePath/lice/lice.theme; STUB ALIAS _proc.silence $LiCePath/lice/lice.silence; STUB ALIAS _proc.callerid $LiCePath/lice/lice.silence; STUB ALIAS _proc.split_save $LiCePath/lice/lice.splitlist; STUB ALIAS _proc.split_info $LiCePath/lice/lice.splitlist; STUB ALIAS _proc.split_jump $LiCePath/lice/lice.splitlist; STUB ALIAS _proc.wget_main $LiCePath/lice/lice.wget; #tjh/11 �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/lice/lice.dns���������������������������������������������������������������������������������0000644�0001750�0001750�00000002064�11706131207�012561� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.muppetz.com # --------------------------------------------------------------------------- # Updated for EPIC5 by tjh IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; # Description: converts from IP -> hostname and viceversa alias _proc.dns_result (adr) { @ :res = convert($adr); IF (temp.whois_away > 0) { ECHO $fmt.whois_mid(Nslookup ${res?res:[Unknown]}); }{ iecho $adr is ${res?res:[Unknown]}; }; }; alias dns { UNLESS (@) { uecho Usage: /DNS < nick | [host | ip address] >; RETURN; }; ^LOCAL who $0; IF (match(*.* $who)) { _proc.dns_result $who; }{ USERHOST $who -CMD IF ([$4]!=[<UNKNOWN>]) { _proc.dns_result $4; }{ XECHO -B $who\: nick not online.; }; }; }; ALIAS findip {dns $*}; ALIAS nsl {dns $*}; #tjh/09 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/lice/lice.bword�������������������������������������������������������������������������������0000644�0001750�0001750�00000010435�11542462257�013125� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.codehack.com # --------------------------------------------------------------------------- # Updated for EPIC5 by tjh IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; # Word banning/kicking (Orig. YaZoO, rewritten by SrfRoG) # improved for LiCe4 by HS (now matches strings too) ALIAS bword { IF (left(1 $0) == [-]) { @ :chans = ischannel($1) ? [$1] : C; SWITCH ($0) { (-r) { @ :hash = hash_32bit($chans); ^ON #-raw_irc 26 -"% PRIVMSG $chans :*\\[$bw[$hash]\\]*"; ^ON #-raw_irc 30 -"% PRIVMSG $chans :*$bs[$hash]*"; ^ASSIGN -bw[$hash]; ^ASSIGN -bs[$hash]; XECHO -B No longer banning words/strings in $chans; }; (-a) { ^ON #-raw_irc 26 -; ^ON #-raw_irc 30 -; purge bw; purge bs; XECHO -B No longer banning words/strings on any channel.; }; (-l) { @ :hash = hash_32bit($chans); UNLESS (strlen($bw[$hash]) || strlen($bs[$hash])) { uecho No words are banned in $chans; RETURN; }; XECHO -B Banning ${strlen($bw[$hash]) ? numwords($bw[$hash]) ## [ words] : [string]} in $toupper($chans)\: $bw[$hash]${[$bs[$hash]]!=[] ? [ \"$bs[$hash]\"] : []}; }; (-f) { UNLESS (strlen($1)) { uecho Usage: /BWORD [-f] <#channel> <list of words>; RETURN; }; @ :hash = hash_32bit($chans); IF (bw[$hash]) { ^ON #-raw_irc 26 -"% PRIVMSG $chans :*\\[$bw[$hash]\\]*"; }; #^ASSIGN bw[$hash] $2-; @ bw[$hash] = ischannel($1) ? [$2-] : [$1-]; ^ON #-raw_irc 26 "% PRIVMSG $chans :*\\[$bw[$hash]\\]*" { @ :bw.nick = before(! $0); UNLESS (ischanop($bw.nick $2) || !ischanop($servernick() $2)) { @ :serv = servernum(); @ :chan.hash = hash_32bit($2); @ :bw.word = common($bw[$hash_32bit($2)] / $rest(1 $3-)); @ :bw.mask = iscset(1 $chan.hash) ? mask(2 $0) : mask(0 $0); XECHO -W $2 $fmt.banner_kick() Banword kick $ch($2)\: $bw.nick ${bw.word ? [\($bw.word\)] : []}; _proc.quote_add $serv KICK $2 $bw.nick :[WORDBAN]${bw.word ? [ \"$bw.word\"] : []}; IF (iscset(B $chan.hash)) { _proc.ban $2 $serv $bw.mask $bw.nick $chan.hash; }{_proc.quote_flush $serv}; };}; XECHO -B Now banning \"$bw[$hash]\" on $chans; }; (-s) { UNLESS (strlen($2)) { uecho Usage: /BWORD [-s] <#channel> <string>; RETURN; }; @ :hash = hash_32bit($chans); IF (bs[$hash]) { ^ON #-raw_irc 30 -"% PRIVMSG $chans :*$bs[$hash]*"; }; #^ASSIGN bs[$hash] $2-; @ bs[$hash] = ischannel($1) ? [$2-] : [$1-]; ^ON #-raw_irc 30 "% PRIVMSG $chans :*$bs[$hash]*" { @ :bw.nick = before(! $0); UNLESS (ischanop($bw.nick $2) || !ischanop($servernick() $2)) { @ :serv = servernum(); @ :chan.hash = hash_32bit($2); @ :bw.mask = iscset(1 $chan.hash) ? mask(2 $0) : mask(0 $0); XECHO -W $2 $fmt.banner_kick() Banned-string kick $ch($2)\: $bw.nick \($bs[$chan.hash]\); _proc.quote_add $serv KICK $2 $bw.nick :[WORDBAN]: \"$bs[$chan.hash]\"; IF (iscset(B $chan.hash)) { _proc.ban $2 $serv $bw.mask $bw.nick $chan.hash; }{_proc.quote_flush $serv}; };}; XECHO -B Now banning string \"$2-\" on $1; }; (*) {uecho Usage: /BWORD [-fslra] <#channel> [list of words]}; }; } ELSIF (ischannel($0) && strlen($1)) { ${K}bword -f $0 $1-; } ELSE { uecho Usage: /BWORD [-fslra] <#channel> [list of words]; }; }; �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/lice/lice.wget��������������������������������������������������������������������������������0000644�0001750�0001750�00000005667�12102330640�012750� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.codehack.com # --------------------------------------------------------------------------- # Updated for EPIC5 by tjh IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; # The following functions attempt to retrieve a textual document from a # website. CAUTION: I use hook numeric 668, don't steal it! # The WGET_STATUS hook is produced here. # This is the hook routine when there's a failure. Do not change it. ALIAS _proc.wget_error (sock,status) { ^ON #^DCC_RAW 668 -; //DCC CLOSE RAW $sock; @ unlink($wget.file); HOOK WGET_STATUS $wget.file ERROR $status; purge wget; }; # This is the hook routine when the fetch operation is completed (successful?). ALIAS _proc.wget_close (sock) { ^ON #^DCC_RAW 668 -; //DCC CLOSE RAW $sock; HOOK WGET_STATUS $wget.file DONE $wget.size; purge wget; }; # This is the workhorse routine. Just feed it a nice URL and a path # to save the remote file locally. Redirects arent supported. ALIAS _proc.wget_main (url,file) { IF (!strlen($file) || !match(http://% $url) || match(http://%:%@% $url)) { XECHO -B Method not supported.; RETURN; }; @ :temp = rest(7 $url); @ :host = mid(0 $index(/ $temp) $temp); @ :temp = rest(${strlen($host)+7} $url); @ :path = strlen($temp) ? temp : [/]; @ :temp = split(: $host); IF (numwords($temp) == 2) { @ :host = word(0 $temp); @ :port = word(1 $temp); }{ @ :port = 80; }; @ :temp = rindex(/ $path) + 1; @ :sock = connect($host $port); WAIT =$sock; UNLESS (sock) { HOOK WGET_STATUS $wget.file ERROR $host\:$port Connection Failed; RETURN; }; ^ASSIGN wget.fd -2; ^ASSIGN wget.file $file; ^ASSIGN wget.size 0; ^ON #^DCC_RAW 668 "$sock % D HTTP/%.% *" { UNLESS ([$4]==[200]) {_proc.wget_error $0 $chop(1 $4-)}; }; ^ON #^DCC_RAW 668 "$sock % D Content-Type: *" { UNLESS (rmatch($4 text/%)) {_proc.wget_error $0 Unsupported Mime-type: $chop(1 $4)}; }; ^ON #^DCC_RAW 668 "$sock % D $chr(13)" { IF (wget.fd == -2) { @ wget.fd = open($wget.file W); IF (wget.fd == -1) {_proc.wget_error $0 open() Call Failed}; }; }; ^ON #^DCC_RAW 668 "$sock % D *" { IF (wget.fd < 0) {RETURN}; @ wget.size += write($wget.fd $3-); HOOK WGET_STATUS $wget.file READ $wget.size; }; ^ON #^DCC_RAW 668 "$sock % C" {_proc.wget_close $0}; //DCC RAW $sock $host GET $path HTTP/1.0; //DCC RAW $sock $host Host: ${host}:${port}; //DCC RAW $sock $host Accept: text/*; //DCC RAW $sock $host Accept-Language: en; //DCC RAW $sock $host User-Agent: LiCe/$id.v wget; //DCC RAW $sock $host Pragma: no-cache; //DCC RAW $sock $host Cache-Control: no-cache$chr(10 10); HOOK WGET_STATUS $wget.file READ 0; }; #tjh/09 �������������������������������������������������������������������������lice5/lice/lice.cwho��������������������������������������������������������������������������������0000644�0001750�0001750�00000005427�11750305263�012747� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.codehack.com # --------------------------------------------------------------------------- # Updated for EPIC5 by tjh # Updated 3/5/2012 to support %halfop IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; # Cache'd WHO - brief WHO info on-the-fly # flags idea by SpyDer-X ALIAS cwho { ^LOCAL cw.mask *!*; @ :cw.foo = getopt(); @ :cw.opts = []; @ :cw.flag = 0; @ :cw.cnt = 1; WHILE (cw.opts = getopt(optopt optarg alovh $*)) { SWITCH ($cw.opts) { (a) { @ :cw.flag = 1 }; (l) { @ :cw.flag ^= 2 }; (o) { @ :cw.flag ^= 4 }; (v) { @ :cw.flag ^= 8 }; (h) { @ :cw.flag ^= 16 }; (!) { XECHO -B Invalid option \"$optopt\" }; }; }; IF (optarg) { @ :cw.mask = uhc($word(0 $optarg)); ^ASSIGN -optarg; }; UNLESS (cw.flag) { @ :cw.flag = 1 }; @ :cw.hash = hash_32bit($C); cecho ------ Nick ---- User@Host ---------------------------; FE ($channel()) cw.1 { @ :cw.nick = rest(2 $cw.1); @ :cw.fmode = get_cookie(User $C $cw.nick $cw.hash); @ :cw.smode = get_cookie(Shit $C $cw.nick $cw.hash); @ :cw.type = []; IF (cw.fmode > 0 || cw.smode > 0) { @ :cw.type = [${ cw.fmode ? [\(User \+$_proc.ul_m2a(User $cw.fmode)\)] : [${ cw.smode ? [\(Shit \+$_proc.ul_m2a(Shit $cw.smode)\)] : [] }]}]; }; @ :cw.omode = left(1 $cw.1); IF (cw.omode == [@] && (cw.flag & 1 || cw.flag & 4)) { @ :cw.host = userhost($cw.nick); IF (pattern($cw.mask ${cw.nick}!${cw.host})) { cecho [$[-3]cw.cnt] @$[9]cw.nick $cw.host $cw.type; @ cw.cnt++; }; CONTINUE; }; @ :cw.hmode = left(1 $cw.1); IF (cw.hmode == [%] && (cw.flag & 1 || cw.flag & 16)) { @ :cw.host = userhost($cw.nick); IF (pattern($cw.mask ${cw.nick}!${cw.host})) { cecho [$[-3]cw.cnt] %$[9]cw.nick $cw.host $cw.type; @ cw.cnt++; }; CONTINUE; }; @ :cw.vmode = mid(1 1 $cw.1); IF (cw.vmode == [+] && (cw.flag & 1 || cw.flag & 8)) { @ :cw.host = userhost($cw.nick); IF (pattern($cw.mask ${cw.nick}!${cw.host})) { cecho [$[-3]cw.cnt] +$[9]cw.nick $cw.host $cw.type; @ cw.cnt++; }; CONTINUE; }; IF (cw.omode == [.] && (cw.flag & 1 || cw.flag & 2)) { @ :cw.host = userhost($cw.nick); IF (pattern($cw.mask ${cw.nick}!${cw.host})) { cecho [$[-3]cw.cnt] $[9]cw.nick $cw.host $cw.type; @ cw.cnt++; }; }; }; UNLESS (cw.cnt > 1) {XECHO -B No matches for \"$cw.mask\"}; }; #tjh/12 �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/lice/lice.mtog��������������������������������������������������������������������������������0000644�0001750�0001750�00000007201�11760743366�012760� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.codehack.com # --------------------------------------------------------------------------- # # Modified by tjh 2010 # IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; ALIAS _proc.setup_mtog { iecho +--- Current LiCe Message Toggle Settings -----------------------+; iecho | Description | Tog | Set | Default |; iecho +------------------------------------------+-----+-----+---------+; iecho Notify auto-reply in hidden windows. | 1 | $[3]isset.show($ismset(1)) | On; iecho Allow auto-reply to update TAB reply list. | 2 | $[3]isset.show($ismset(2)) | Off; iecho Recording of ACTIONs when AWAY. | A | $[3]isset.show($ismset(A)) | On; iecho Beep when receiving new MSGs. | B | $[3]isset.show($ismset(B)) | Off; iecho Recording of DCC CHATs when AWAY. | C | $[3]isset.show($ismset(C)) | Off; iecho Log Away messages to disk. | E | $[3]isset.show($ismset(E)) | Off; iecho Highlight auto-reply words in context. | H | $[3]isset.show($ismset(H)) | Off; iecho Auto WHOIS details on inital MSG. | I | $[3]isset.show($ismset(I)) | Off; iecho LAME set to avoid "too many targets" errata| L | $[3]isset.show($ismset(L)) | Off; iecho Recording of MSGs when AWAY. | M | $[3]isset.show($ismset(M)) | On; iecho Recording of NOTICEs when AWAY. | N | $[3]isset.show($ismset(N)) | On; iecho Note reminders on WHOIS/WHOWAS. | O | $[3]isset.show($ismset(O)) | On; iecho Recording of PUBLICs when AWAY. | P | $[3]isset.show($ismset(P)) | On; iecho Quiet display of AWAY message. | Q | $[3]isset.show($ismset(Q)) | On; iecho Gone time AWAY reply (for MSG's). | R | $[3]isset.show($ismset(R)) | Off; iecho Event time stamping. | T | $[3]isset.show($ismset(T)) | Off; iecho Personal log of events (view with /PLAY) | U | $[3]isset.show($ismset(U)) | On; iecho Extended view status. Details on displays. | V | $[3]isset.show($ismset(V)) | On; iecho Recording of channel WALLOPs when AWAY. | W | $[3]isset.show($ismset(W)) | Off; INPUT "Letters to change toggles (ENTER to skip): " IF (@) {mtog $*}; }; ALIAS mtog { UNLESS (@) { _proc.setup_mtog; RETURN; }; FEC ($toupper($0)) _t { IF (ismset($_t)) { @ lice.set(main.mset $strip($_t $lice.get(main.mset))); SWITCH ($_t) { (B) {^ON #-MSG 617 -}; (E) {IF ((fexist($lice.save_path/lice.awaylog)) == 1) { @ close($awayfd); @ unlink($lice.save_path/lice.awaylog)}}; (L) {@ main.mns = main.old_mns ? main.old_mns : 5;^ASSIGN -main.old_mns}; (T) {^SET -OUTPUT_REWRITE}; }; }{ @ lice.set(main.mset $pass(12ABCEHILMNOPQRTUVW $lice.get(main.mset) $_t)); SWITCH ($_t) { (B) {^ON #-MSG 617 * {IF (A) {BEEP}}}; (E) { @ awayfd = open($lice.save_path/lice.awaylog W); FOR num from 0 to ${numitems(AM) - 1} { @ write($awayfd + $encode($getitem(AM $num))); }; }; (L) {@ main.old_mns = main.mns;@ main.mns = 1}; (T) {^SET OUTPUT_REWRITE [$$strftime\($$lice.get(main.tsfmt)\)] $$1-}; }; }; }; UNLESS (lice.get(main.mset)) {@lice.del(main.mset)}; XECHO -B Message toggles now: $lice.get(main.mset); }; #tjh/10 �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/lice/lice.ppl���������������������������������������������������������������������������������0000644�0001750�0001750�00000004723�12126407634�012603� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.codehack.com # --------------------------------------------------------------------------- # Updated for EPIC5 by tjh # Updated to support halfop by tjh IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; # this is a port of asmodean's /ppl command from skuld3 (R.I.P.) ALIAS _rdots @FUNCTION_RETURN = right($0 $repeat($0 .)$1-); ALIAS _dots @FUNCTION_RETURN = left($0 $1-$repeat($0 .)); ALIAS ppl { ^ASSIGN ppl.h *!*@*; ^ASSIGN ppl.n *; ^ASSIGN ppl.s *.*; ^ASSIGN ppl.k 999; #@ :ppl.foo = getopt(); WHILE (option = getopt(optopt optarg "c:ghilop:n:s:va" $*)) { SWITCH ($option) { (c) {IF (isnumber($optarg)) {@ ppl.k = optarg}}; (g) {@ ppl.x #= [G]}; (h) {@ ppl.x #= [H]}; (i) {@ ppl.x #= [*]}; (l) {@ ppl.x #= [X]}; (o) {@ ppl.x #= [@]}; (p) {@ ppl.h = uhc($optarg)}; (n) {@ ppl.n = optarg}; (s) {@ ppl.s = optarg}; (v) {@ ppl.x #= [+]}; (a) {@ ppl.x #= [%]}; }; }; @ ppl.c = optarg ? optarg : C; ^ON ^WHO "\\$ppl.c *" { ^LOCAL modes $2; IF (pass(@ $modes)) {@ ppl.o++}{ IF (pass(% $modes)) {@ ppl.a++}{ IF (pass(+ $modes)) {@ ppl.v++}{@ ppl.l++};}}; @ ppl.i += !!pass(* $modes); IF (pass(X $ppl.x)) { IF (pass(@ $modes)) {RETURN}; }{ IF (strlen($ppl.x) && !pass($ppl.x $modes)) {RETURN}; }; IF (!match($ppl.h $1!$3@$4) || !match($ppl.s $5) || !match($ppl.n $stripcrap(ALL $7-)) || (ppl.k < [$6] && isdigit($6)) ) {RETURN}; @ ppl.m++; XECHO -C $cparse(%W$[2]2\%n$_dots(11 $left(9 $1))$_rdots(11 $strip(-+=~ $3))%B@%n$4$_rdots(${word(0 $geom()) - (27 + strlen($4) + (ismset(T) ? strlen($strftime($lice.get(main.tsfmt))) + 3 : 0))} $5)%C$6%n); # XECHO -C 16$[2]2$_dots(11 $left(9 $1))$_rdots(11 $strip(-+=~ $3))12@$4$_rdots(${word(0 $geom()) - (26 + strlen($4))} $5)${isdigit($6) ? [$6] : []}; }; @ ppl.i = ppl.l = ppl.m = ppl.o = ppl.a = ppl.v = 0; //WHO $ppl.c -END { ^ON ^WHO -"\\$1 *"; @ :total = ppl.o + ppl.v + ppl.l + ppl.a; cecho $ppl.c - matched $ppl.m user$plural($ppl.m) \(*=$ppl.i -o=$ppl.l +v=$ppl.v +o=$ppl.o +h=$ppl.a \) / $total total users; purge ppl; ^SET HOLD_MODE OFF; }; ^SET HOLD_MODE ON; }; #tjh/12 #tjbh/13 ���������������������������������������������lice5/lice/lice.joinlist����������������������������������������������������������������������������0000644�0001750�0001750�00000010552�11542462257�013643� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.codehack.com # --------------------------------------------------------------------------- # Updated for EPIC5 by tjh IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; ALIAS _proc.join_clones (nick,host,chan,hash,serv) { get_user_match $chan $mask(2 $^*^%host) clone_list; IF (#clone_list > 1 && !match($mask(2 $host) *!$X)) { @ :m.nick = servernick($servernum()); @ :c.host = after(@ $host); XECHO -W $chanwin($chan) $fmt.banner_alert() ${#clone_list - 1} Clone$plural(${#clone_list - 1}) on $ch($chan)\: $c.host ${ismset(V) ? [\(] ## clone_list ## [\)] : []}; IF (iscset(B $hash) && #clone_list >= FLOOD_AFTER && ischanop($m.nick $chan)) { _proc.ban $chan $serv $c.host $nick $hash; IF (iscset(C $hash)) { @ c.reason = [[Possible Clones] $c.host]; _proc.loop_kick $serv $chan clone_list c.reason; }{_proc.quote_flush $serv}; }; }; ^ASSIGN -clone_list; }; ALIAS _proc.join_shit (nick,uh,chan,hash,serv) { @ :myhand = find_in_list(Shit $nick!$uh); UNLESS (myhand) {RETURN}; FE ($myhand) hand { @ :test = (word(0 $getitem(ChanShit$hand 0)) == [#*]) ? 0 : matchitem(ChanShit$hand $chan *); IF (test < 0) {RETURN}; @ join.test = 1; @ :item = getitem(ChanShit$hand $test); @ :mode = word(1 $item); IF ((mode & 16) && iscset(F $hash)) { @ :lame = getitem(Shit$hand $rmatchitem(Shit$hand $nick!$uh)); @ :ban = pass(! $lame) ? lame : [*!] ## lame; _proc.ban $chan $serv $ban $nick $hash; }{ FEC (ANCFHU) flag { @ :ind = index($flag $temp.mode_list.Shit); @ :bit = 1 << ind; IF (mode & bit) { _proc.ban $chan $serv $makeban(B$flag $uh) $nick $hash; BREAK; }; }; }; IF ((mode & 128) && iscset(C $hash)) { @ :msg = restw(2 $item); @ :reason = msg ? msg : randread($main.reason_kick); _proc.quote_add $serv KICK $chan $nick :Shit: $reason; }; _proc.quote_flush $serv; ^ASSIGN Cookie.Shit[$hash][$hash_32bit($nick)] $hand $mode; }; }; ALIAS _proc.join_bans (nick,uh,chan,hash,serv) { @ :jb.t = rmatchitem(B$serv\-$hash $nick!$uh); IF (jb.t < 0) {RETURN}; @ join.test = 1; _proc.quote_add $serv KICK $chan $nick :$getitem(B$serv\-$hash $jb.t) banned on $chan\; _proc.quote_flush $serv; }; ALIAS _proc.join_delayed_modes { FOREACH delayed_modes serv { WHILE (:tmp = shift(delayed_modes.$serv)) { @ :line = split(: $tmp); @ :chan = word(0 $line); @ :mode = word(1 $line); @ :nick = word(2 $line); if (ischanop($nick $chan) || (mode == [+v] && ischanvoice($nick $chan))) {CONTINUE}; _proc.quote_add $serv MODE $line; }; _proc.quote_flush $serv; }; }; ALIAS _proc.join_usr1 (nick,uh,chan,hash,serv) { @ :myhand = find_in_list(User $nick!$uh); UNLESS (myhand) {RETURN}; FE ($myhand) hand { @ :test = (word(0 $getitem(ChanUser$hand 0)) == [#*]) ? 0 : matchitem(ChanUser$hand $chan *); IF (test < 0) {CONTINUE}; @ :item = getitem(ChanUser$hand $test); @ :mode = word(1 $item); IF ((mode & 33) == 33) {PUSH delayed_modes.$serv $chan:+o:$nick}{ IF ((mode & 513) == 513) {PUSH delayed_modes.$serv $chan:+v:$nick};}; IF (mode & 1) {^TIMER -REF DELAYMODE $lice.get(main.op) _proc.join_delayed_modes}; IF (mode & 8) {XQUOTE -S $serv PRIVMSG $chan :[$nick] $restw(2 $item)}; ^ASSIGN Cookie.User[$hash][$hash_32bit($nick)] $hand $mode; }; }; ALIAS _proc.join_usr2 (nick,uh,chan,hash,serv) { @ :myhand = find_in_list(User $nick!$uh); UNLESS (myhand) {RETURN}; FE ($myhand) hand { @ :test = (word(0 $getitem(ChanUser$hand 0)) == [#*]) ? 0 : matchitem(ChanUser$hand $chan *); IF (test < 0) {CONTINUE}; @ :item = getitem(ChanUser$hand $test); @ :mode = word(1 $item); IF (mode & 8) { _proc.quote_add $serv PRIVMSG $chan :[$nick] $restw(2 $item); _proc.quote_flush $serv; }; ^ASSIGN Cookie.User[$hash][$hash_32bit($nick)] $hand $mode; }; }; ALIAS _proc.join_ip (nick,host,chan) { @ :temp = after(@ $host); IF (isdigit($right(1 $temp))) { @ :h_name = iptoname($temp); XECHO -W $chanwin($chan) $fmt.banner_join() $nick [$temp is ${h_name?h_name:[Unknown]}]; }; }; #tjh/09 ������������������������������������������������������������������������������������������������������������������������������������������������������lice5/lice/lice.dump��������������������������������������������������������������������������������0000644�0001750�0001750�00000001741�11751672315�012755� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.muppetz.com # --------------------------------------------------------------------------- # Updated for EPIC5 by tjh IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; # Description: Sends the output of an IRC command to a file. ALIAS dump { UNLESS (@) { uecho Usage: /DUMP <command [args ... ]>; RETURN; }; ^EXEC -close %dump; @ :dump.it = lice.save_path ## [/IRCDUMP]; XECHO -B Dumping output of $toupper($0) to $dump.it; ^EXEC -name dump cat > $dump.it; ^EXEC -in %dump ### Dump commenced at $stime($time()); REDIRECT %dump $*; WAIT -CMD IF (1) { ^EXEC -in %dump ### Dump finished at $stime($time()); ^EXEC -close %dump; XECHO -B Dump done.; }; }; #tjh/12 �������������������������������lice5/lice/lice.ignore������������������������������������������������������������������������������0000644�0001750�0001750�00000002777�11774635060�013306� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by SrfRoG, unless specified. Visit http://lice.codehack.com # --------------------------------------------------------------------------- # Updated for EPIC5 by tjh IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; PACKAGE LiCe; ALIAS ignore { @ :types = strlen($1) ? [$1-] : [ALL CRAP -PUBLIC]; SWITCH ($0) { () { uecho Usage: IGNORE < nick | n!u@h pattern > [[-|+]Ignore types] [reason <your reason>] [timeout <time in secs>]; uecho Usage: IGNORE < channel | channel pattern > [[-|+]Ignore types] [reason <your reason>] [timeout <time in secs>]; } (#*) (&*) (!*) {//IGNORE $0 $types; @lice.set(|$hash_32bit($0) $0 $igtype($0))}; (*!*) (*@*) (*.*) {//IGNORE $uhc($0) $types; @lice.set(|$hash_32bit($0) $0 $igtype($uhc($0)))}; (*) { @ :user = get_uh($0); UNLESS (strlen($user)) { XECHO -B $0: Nick not online.; RETURN; }; @ :pattern = mask(0 $0!$user); //IGNORE $pattern $types; @lice.set(|$hash_32bit($pattern) $pattern $igtype($pattern)); }; }; }; ALIAS protect { UNLESS (rmatch(*!*@*.* $igmask(*)) > 0) { //IGNORE *!*@*.* ALL; IF (_proc.silence()) { //^SILENCE +*@*; }; }{ //IGNORE *!*@*.* NONE; IF (_proc.silence()) { //^SILENCE -*@*; }; }; }; #HS/03 #tjh/12 �lice5/error.reasons���������������������������������������������������������������������������������0000644�0001750�0001750�00000000444�11542462257�012762� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������You are dumb :) Watch what you're doing dumbass! Erroneous Error, Erradicate!! This program will self-destruct in 5 minutes. You, stupid iiiiiidiot! Leave me alone, you sick little monkey! Error 001: Stupid User Detected. Count to 100 and try again. Snap out of it! Lamer alert! Lamer alert! ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/logos/����������������������������������������������������������������������������������������0000755�0001750�0001750�00000000000�12126724361�011352� 5����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/logos/lice.logo2������������������������������������������������������������������������������0000644�0001750�0001750�00000005214�11542462257�013240� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# i forgot who did the lice pic. the lice ascii is from stain. SET DISPLAY OFF ECHO 14dddddddddddd```14dddddd``14ddddddd``14d Your EPIC5 client is now infested with... ECHO 14ddddddddddd`eee``14dddd`e``14ddd``e`14d ECHO 14ddddddd``````aaee`14ddd`e`e```e`e`14d 9.a&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&a. ECHO 14ddddd```bbbbb```ee`14dd`aae`e`eae`14d 9$$ $$$$&a $' s `$' s `$$ ECHO 14dddd`ddd`bb```bb``e`14dd``aaeaa``14dd 9$$ $$$$$$ $ $ $ $ $$ ECHO 14ddd`dd```b`dd``bbb``14dddd`bbb`14dddd 9$$ $$$$$$ $ $ $ $ $$ ECHO 14dd``dd```b`d```bbbb`14ddddd`b`14ddddd 9$$ $ $ $ $ssss$ sssss$$ ECHO 14dd`b````bbb```bbbbbb`14dddd`b`14dddmd 9$$ $ $ $ $ $ $ $$ ECHO 14d`bbbbbbbbbbbbbbbbbbb`14dd`bb`14dddid 9$$. $ ,$ .a. $ ,$. $ ,$$ ECHO 14d`````bbb````bbbbbbbbb``bbbb`14ddcd 9`$$&@uou@&$$.a$$$$&@uou@&$$$&@uou@&$$' ECHO `ccccc```cccc``bbbbbbbbbbbbb`14ddrd ECHO `cccccccccccccc`bbbbbbbbbbbb`14ddod All major coding by: 16SrfRoG ECHO 14d````ccccc````cc`bbbbbbbbbbbb`14dsd Lots of help from: 16asmodean & 16mikh ECHO 14d`d`d`````d`d``cc`bbbbbbbbbbb`14dod All other credits: /HELP CREDITS ECHO 14d`d`d`d`d`d`d```c`bbbbb``bbbb`14dfd 14-------------------------------------- ECHO 14dd`d``d`d```````cc`bbbbba`bbb`14dtd LiCe is Open Source Software under the ECHO 14dddddd```````````c`bbbb`ae`bb`14ddd GNU Public License coded from an OSS ECHO 14ddd`dd```````````c`bbb`ae``b`14ddsd system using an OSS editor. Learn more ECHO 14dd`d`````````````c`b`aa`ee`b`14ddud 10http://www.gnu.org/gnu GNU Project ECHO 14dd`d`d`d`````d``cc`bb`ee``bb`14ddcd 10http://www.linux.org GNU/Linux ECHO 14d````d`d`d`d`d`cc`bbbb```bb`14dddkd 10http://www.vim.org Vi IMproved ECHO `ccc`````d`d``ccc`bbbbbbbbb`14dddsd 10http://www.freebsd.org FreeBSD ECHO `cccccccc```cccc`bbbbbbbbbb`14ddddd 10http://www.opensource.org OSI ECHO 14d```ccccccccccc`bbbbbbbbbb`14dddddd 14-------------------------------------- ECHO 14dd`b````ccccc``bbbbbbbbbbb`14dddddd Online help: 10http://lice.muppetz.com ECHO 14dd`bbbbb`````bbbbbbbbbbbb`14ddddddd Help at IRC: 3Channel #LiCe on EFNet ECHO 14ddd`bbbbbbbbbbbbbbbbbbbb`14dddddddd Help prompt: 3/HELP ECHO 14dddd`bbbbbbbbbbbbbbbbb``14ddddddddd Send your comments and suggestions to: ECHO 14ddddd``bbbbbbbbbbbbb``14ddddddddddd 3tim@muppetz.com ECHO 14ddddddd```bbbbbbb```14ddddddddddddd ECHO 14dddddddddd```````14dddddddddddddddd 14Copyleft(c) 1993-2000 cag@codehack.com ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/logos/lice.logo1������������������������������������������������������������������������������0000644�0001750�0001750�00000003254�11542462257�013241� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ECHO Your EPIC5 client is now infested with... ECHO  ECHO  ...ooo. ..od""""bo.. ...od. ECHO  @8""" $P:$. l$xxo... .oP"~ "Zo. ...oodd"""" @$ G. ECHO . Z$ $$ 8$$ :XP """G@o. " "$P "" $$ $$o .. ECHO : l$: l$::$$: l$: l$:`P. .ooo. l$: ___....ool3 P$G :. ECHO % ZP $O $$$ "" $$ 3$$g .$l" "$l $P l$: ...ooo ..z."$ % ECHO  o Z$ $$ 8$": .oo. $$ 3$$$ $P o$ :$oo$$""" $P"" l$: $$$$$$ o ECHO l$ l3: l$:..oo$""$$ l. l$::$$$$ :lZ . $ xxoo"""$K ...$Z $" ___$l ECHO $$. ZP $A"" l$::$$ $$ l$$l: "$. lK l$ od"""" - ..$B. "$$$ ECHO l$$ Z8 $$ $$: $$ 7$$$: `$bo.o" :3 l$Rooo""" $$ 8. "l ECHO  "$ l$: ..$$ $$$ "l:$$$G .O" l$::$b ECHO %_ :8P __..oo$$"""."$$ : ZZ$l: Ro. .oA"ol ...oooo$Z S$ % ECHO ::.: 78ooo$$P"""".oodd$$$.$ lZ$$P oo.""3$8ooo$Z"".o$Z' oo$$"""" oooooo$.$ . ECHO .. . :3""""..ddd$$$$$888$P" :8$$l "88$$oo. ..oo$$P"......ooomicrosoFT$UCK$ ECHO soi!rmrsdd$$$8888$$3""" "D" ""88$$$8P" "ZZ$$$$$"""""" SET DISPLAY_ANSI ON ECHO ,------------------------------------------------------------. ECHO 3 11@3..11@ | Welcome to LiCe designed for the ircii-EPIC5 client! | ECHO 3 (\--/) | Send all comments to: 10tim@muppetz.com | ECHO 3(.>__<.) | Online help: Type 16/HELP, or visit 16http://lice.muppetz.com | ECHO 3^^^ ^^^ `------------------------------------------------------------' SET DISPLAY OFF ^SET -CONTINUED_LINE ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/back.reasons����������������������������������������������������������������������������������0000644�0001750�0001750�00000000756�11542462257�012537� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������and if you laugh, i'll kill you! "LiCe: The few, the proud, the elite!" what's up? o/~ did i miss anything? please forgive me! with beer and pretzels for everyone! (yeah right) because i want to be bored "Linux: Saving us from the Gates from Hell" que pasa? "Linux: The choice of a GNU generation" and not happy about it either! hey. i am happy to be back. really. you can continue now. "LiCe: It picks up chicks!" for more...lag...lameness...and net*cough*sex next time, don't wait for me :) ������������������lice5/revenge.reasons�������������������������������������������������������������������������������0000644�0001750�0001750�00000000224�11542462257�013260� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Hey, who do you think you are? Don't mess with my friends! Anti Scumbag Protection! Must Purtekt! Care to step outside? Respect the family, capish? ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/pics/�����������������������������������������������������������������������������������������0000755�0001750�0001750�00000000000�12126724361�011165� 5����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/pics/wink�������������������������������������������������������������������������������������0000644�0001750�0001750�00000000045�11542462257�012063� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� ... (o -) ooO--(_)--Ooo- �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/pics/lame�������������������������������������������������������������������������������������0000644�0001750�0001750�00000000644�11542462257�012036� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������##::::::::::'###::::'##::::'##:'########: ##:::::::::'## ##::: ###::'###: ##.....:: ##::::::::'##:. ##:: ####'####: ##::::::: ##:::::::'##:::. ##: ## ### ##: ######::: ##::::::: #########: ##. #: ##: ##...:::: ##::::::: ##.... ##: ##:.:: ##: ##::::::: ########: ##:::: ##: ##:::: ##: ########: ........::..:::::..::..:::::..::........: ��������������������������������������������������������������������������������������������lice5/pics/rip��������������������������������������������������������������������������������������0000644�0001750�0001750�00000000246�11542462257�011710� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� _____ / \ | R.I.P | | | | Rest in | | Peace | | | =============== ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/pics/froggie.k��������������������������������������������������������������������������������0000644�0001750�0001750�00000000254�11542462257�012770� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������11,1 @..@  9,1 (\--/) 16FROGGIE!!!  9,1 (.>__<.) 16Tha Original Gangsta  9,1 ^^^ ^^^  ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/pics/rocknroll��������������������������������������������������������������������������������0000644�0001750�0001750�00000000105�11542462257�013115� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� /~(_)~+ [ :=: =====II Let's do Rock N' Roll! +_(~)_/ �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/pics/train������������������������������������������������������������������������������������0000644�0001750�0001750�00000000344�11542462257�012232� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� . . . . o o o o o _____ o _______ ____==== ]OO|_n_n__][. |lamer| [________]_|__|________)< |ville| oo oo 'oo OOOO-| oo\_ ~~~|~~~ +--+--+--+--+--+--+--+--+--+--+--+--+ ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/pics/spam�������������������������������������������������������������������������������������0000644�0001750�0001750�00000000300�11542462257�012045� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������,dP""8a "888888b, d8b "888b ,888" 88b " 888 d88 dPY8b 88Y8b,8888 `"Y8888a 888ad8P'dPaaY8b 88 Y88P888 a, Y88 888 dP Y8b 88 YP 888 `"8ad8P'a888a a88a *a888aa88a a888a ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/pics/wink.k�����������������������������������������������������������������������������������0000644�0001750�0001750�00000000140�11542462257�012310� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������8,0 ... 13,0 (12o -13) 4,0 ooO1--13(_)1--4Ooo1- ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/pics/wuttup2����������������������������������������������������������������������������������0000644�0001750�0001750�00000000052�11542462257�012543� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� __MMM__ (o o) ooO--(_)--Ooo- ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/pics/angry������������������������������������������������������������������������������������0000644�0001750�0001750�00000000072�11542462257�012233� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� !!! ` _ _ ' - (OXO) - ooO--(_)--Ooo- ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/pics/bodybuild��������������������������������������������������������������������������������0000644�0001750�0001750�00000000130�11542462257�013063� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� # # #=ooO=========Ooo=# # II__(o o)__II # ---o----(_)----o--- ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/pics/cowhead����������������������������������������������������������������������������������0000644�0001750�0001750�00000000053�11542462257�012524� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� ((__)) (00) nn--(o__o)--nn- �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/pics/student����������������������������������������������������������������������������������0000644�0001750�0001750�00000000064�11542462257�012602� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� ___ '/_+ (o o) ooO--(_)--Ooo- ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/pics/foxhead����������������������������������������������������������������������������������0000644�0001750�0001750�00000000054�11542462257�012531� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� ()_() (o o) ooO--`o'--Ooo- ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/pics/argh�������������������������������������������������������������������������������������0000644�0001750�0001750�00000000071�11542462257�012033� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� [ [ [ '. ___ .' ' (> <) ' ooO--(_)--Ooo- �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/pics/bbnote�����������������������������������������������������������������������������������0000644�0001750�0001750�00000000356�11542462257�012371� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� ___ ___ {~o_o~} {~._.~} ( Y ) <-- I'm the Beast ( Y ) ()~*~() You're the Beauty --> ()v-v() (_)Y(_) (_)^(_) ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/pics/homer.k����������������������������������������������������������������������������������0000644�0001750�0001750�00000000532�11542462257�012457� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������8,11 _____  8,11 1,8/ \8,11  8,11 1,8\/\/ |8,11  8,11 1,8| (12,0o1,8)(12,0o1,8)8,11  8,11 1,8C .---_)8,11  8,11 1,8| 1,7|.___|8,11 2d0h!!!! 8,11 1,8| 1,7\__/8,11  8,11 1,8/_____\8,11  8,11 1,0/____/\_\8,11  ����������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/pics/sexybody���������������������������������������������������������������������������������0000644�0001750�0001750�00000000103�11542462257�012754� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� (*)(*) ) .( Do you have a sexy body??? ( v ) \ |/ �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/pics/fuckyou����������������������������������������������������������������������������������0000644�0001750�0001750�00000000237�11542462257�012603� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� _____ |___| n (O O) n FUCK YOU! H _|\_/|_ H nHnn/ \___/ \nnHn BEEiOTCH! <V VV / \ VV V> \__\/| |\/__/HOSEBEAST! �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/pics/sleepy1����������������������������������������������������������������������������������0000644�0001750�0001750�00000000045�11542462257�012475� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� ... (- -) ooO--(_)--Ooo- �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/pics/bearhug����������������������������������������������������������������������������������0000644�0001750�0001750�00000000272�11542462257�012532� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� . . . . . . . . {~._.~} . . ( Y ) . GREETINGS AND HUGS, . ()~*~() . JUST FOR YOU! . (_)-(_) . . . . ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/pics/hmmm.k�����������������������������������������������������������������������������������0000644�0001750�0001750�00000000140�11542462257�012276� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������8,0 ... 13,0 (12 oo13) 4,0 ooO1--13(_)1--4Ooo1- ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/pics/hmmm2.k����������������������������������������������������������������������������������0000644�0001750�0001750�00000000140�11542462257�012360� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������8,0 ... 13,0 (12oo 13) 4,0 ooO1--13(_)1--4Ooo1- ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/pics/froggie����������������������������������������������������������������������������������0000644�0001750�0001750�00000000116�11542462257�012534� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� @..@ (\--/) FROGGIE!!! (.>__<.) Tha Original Gangsta ^^^ ^^^ ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/pics/hmmm�������������������������������������������������������������������������������������0000644�0001750�0001750�00000000045�11542462257�012051� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� ... ( oo) ooO--(_)--Ooo- �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/pics/doggystyle�������������������������������������������������������������������������������0000644�0001750�0001750�00000000343�11542462257�013306� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� __ o__/- \ LET'S \/__ \__ DO __ //\ \ / THE o_/o \-//--\ \_/ DOGGY ~\/___ ____=o | STYLE _/_/ \/_/ /\ ---------------- ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/pics/sitonthis��������������������������������������������������������������������������������0000644�0001750�0001750�00000000174�11542462257�013142� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� n / SiT ON THiS H o o AND ROTATE! nnHnn [ MOTHERFUCKER! VVVVV ___/ BEEiOTCH! ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/pics/boldy������������������������������������������������������������������������������������0000644�0001750�0001750�00000000050�11542462257�012220� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� ... (o o) ooO--(_)--Ooo- ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/pics/wuttup1����������������������������������������������������������������������������������0000644�0001750�0001750�00000000063�11542462257�012544� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� _ _|_|_ (o o) ooO--(_)--Ooo- �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/pics/cowpoo�����������������������������������������������������������������������������������0000644�0001750�0001750�00000000131�11542462257�012415� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� | (oo) o=o=o=|------\\/ | | oo ||----|| oooo ^^ ^^ ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/pics/quack������������������������������������������������������������������������������������0000644�0001750�0001750�00000000043�11542462257�012215� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� (o< Quack! \\\\_\ <____) ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/pics/dickhead���������������������������������������������������������������������������������0000644�0001750�0001750�00000000124�11542462257�012645� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� /~o~\ / \ / \ YOU DICKHEAD !!! (((((O))))) | | ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/pics/swans������������������������������������������������������������������������������������0000644�0001750�0001750�00000000114�11542462257�012243� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� (o_ _o) \\\\_\ /_/// you and me in Love Forever... <____) (____> ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/pics/clown1�����������������������������������������������������������������������������������0000644�0001750�0001750�00000000072�11542462257�012316� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� _ _ o' |,=./ `o (o o) ooO--(_)--Ooo- ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/pics/bearhug.k��������������������������������������������������������������������������������0000644�0001750�0001750�00000000652�11542462257�012765� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������8,1 . . . .  8,1 . . .  8,1 . 7{~12.7_12.7~} 8.  8,1 . 7( Y ) 8. 15GREETINGS AND HUGS, 8,1 . 7()~*~() 8. 16JUST FOR YOU!  8,1 . 7(_)-(_) 8.  8,1 . .  8,1 .  ��������������������������������������������������������������������������������������lice5/pics/usa��������������������������������������������������������������������������������������0000644�0001750�0001750�00000000517�11542462257�011707� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������0,2 * * * * * 0,15  0,2 * * * * * 0,4  0,2 * * * * * 0,15  0,2 * * * * * 0,4  0,15  0,4  0,15  11The United States of America Rock You! ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/pics/brokenheart������������������������������������������������������������������������������0000644�0001750�0001750�00000000466�11542462257�013426� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� .. / .. ` ' \ ' ' ` B `/ ' N '--. >> -- ` R \ E ' - ` O / K ' ` >> ` \ ' ` / ' ` \ ' Where do Broken Hearts Go...? ` / Do you know? \ ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/pics/barto.k����������������������������������������������������������������������������������0000644�0001750�0001750�00000000523�11542462257�012454� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������8,11 1,8||/|/|/|8,11  8,11 1,8| |8,11  8,11 1,8| (12,0o1,8)(12,0o1,11)  8,11 1,8C )8,11  8,11 1,8| /__|1,11 Don't have a cow man! 8,11 1,8| /8,11  11,7/ |8,11  �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/pics/barto������������������������������������������������������������������������������������0000644�0001750�0001750�00000000134�11542462257�012221� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� ||/|/|/| | | | (o)(o) C ) | /__| Don't have a cow man! | / / | ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/pics/spam.k�����������������������������������������������������������������������������������0000644�0001750�0001750�00000000347�11542462257�012311� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������13,1 ,dP""8a "888888b, d8b "888b ,888" 13,1 88b " 888 d88 dPY8b 88Y8b,8888 13,1 `"Y8888a 888ad8P'dPaaY8b 88 Y88P888 13,1 a, Y88 888 dP Y8b 88 YP 888 13,1 `"8ad8P'a888a a88a *a888aa88a a888a �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/pics/cow2�������������������������������������������������������������������������������������0000644�0001750�0001750�00000000261�11542462257�011765� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� (___) (o o) <=== me /------\ / (__) / ____O (oo) <=== you | / /----\----\/ /\oo===| / || | || *||^-----|| * ^^ ^^ ^^ �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/pics/bear1������������������������������������������������������������������������������������0000644�0001750�0001750�00000000166�11542462257�012111� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� * /_\ {~._.~} A cute bear ( Y ) for you! ()~*~() (_)-(_) ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/pics/lovenote���������������������������������������������������������������������������������0000644�0001750�0001750�00000000744�11542462257�012754� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� hi, my honey. i'm really happy that my mailbox is full of those pretty hearts every day. so, i just thought i would return the favor, just in case you'd not yet realized just how i love you. you are just so very, very, very extraordinarily special and i adore you From: me ! To: you ����������������������������lice5/pics/ozrock.k���������������������������������������������������������������������������������0000644�0001750�0001750�00000000566�11542462257�012663� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������0,2 * * 0,9  0,2 * 0,8  0,2 * 0,9  0,2 * 0,8  0,9  0,8  0,9  0,8  11OZtrayLEEya will Rock You! ������������������������������������������������������������������������������������������������������������������������������������������lice5/pics/dragon�����������������������������������������������������������������������������������0000644�0001750�0001750�00000000775�11542462257�012377� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������9,1 \=/, 8 _ 9,1 | 4@9___oo 8( 4. 9,1 /\ /\ / (___,,,}8_-4_8=4_ 9,1 ) /^\) ^\/ _) 8 =_4=8_ 9,1 ) /^\/ _) 8 (_ 9,1 ) _ / / _) 8( 9,1 /\ )/\/ || | )_) 9,1 < > |(,,) )__) 9,1 || / \)___)\ 9,1 | \____( )___) )___ 9,1 \______(_______;;; __;;; 5,1 ���lice5/pics/homer������������������������������������������������������������������������������������0000644�0001750�0001750�00000000155�11542462257�012227� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� _____ / \ \/\/ | | (o)(o) C .---_) | |.___| d0h!!!!  | \__/ /_____\ /____/\_\ �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/pics/sayhi������������������������������������������������������������������������������������0000644�0001750�0001750�00000000331�11542462257�012226� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������                                    �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/pics/bike�������������������������������������������������������������������������������������0000644�0001750�0001750�00000000162�11542462257�012025� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� ,__o -UH OH! o__, Take a RIDE _-\_<, ,>_/-_ (*)/'(*) (*)`\(*) ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/pics/boldy.k����������������������������������������������������������������������������������0000644�0001750�0001750�00000000140�11542462257�012451� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������8,0 ... 13,0 (12o o13) 4,0 ooO1--13(_)1--4Ooo1- ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/pics/meow�������������������������������������������������������������������������������������0000644�0001750�0001750�00000000060�11542462257�012057� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������_ __/| \'X.X' MEOW!!! =(___)= U *lame* ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/pics/curious����������������������������������������������������������������������������������0000644�0001750�0001750�00000000050�11542462257�012600� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� vvv (0~0) ooO--(_)--Ooo- ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/pics/cow1�������������������������������������������������������������������������������������0000644�0001750�0001750�00000000206�11542462257�011763� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� (__) <== me /oo\\________ \ \/ \ \/ \/ \ \_|___\_|\/.\ || YY| o ' || || O <== you ^^ ^^ ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/pics/heartlove��������������������������������������������������������������������������������0000644�0001750�0001750�00000000215�11542462257�013103� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� .. .. ' L '.` ' I like you, >>--`. U )).'-->> you know I do. `. V .' `. .` ` �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/pics/clown2�����������������������������������������������������������������������������������0000644�0001750�0001750�00000000067�11542462257�012323� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� _ _ '::-::` (o o) ooO--(_)--Ooo- �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/notes/����������������������������������������������������������������������������������������0000755�0001750�0001750�00000000000�12126724361�011357� 5����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/�����������������������������������������������������������������������������������������0000755�0001750�0001750�00000000000�12126724361�011157� 5����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/adcc/������������������������������������������������������������������������������������0000755�0001750�0001750�00000000000�12126724361�012051� 5����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/adcc/adcc��������������������������������������������������������������������������������0000644�0001750�0001750�00000000507�11542462257�012674� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� Usage: ADCC <subcommand [arguments]>  aDCC is the LiCe enhancement to the DCC command. aDCC is a file transfer protocol, which manages all DCC GET/SEND transactions. The main structure of aDCC comprehends a single queue for all SENDs and AutoCLOSE of SENDs that dont make connection. See also: [commands] �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/adcc/binds�������������������������������������������������������������������������������0000777�0001750�0001750�00000000000�12126724361�014325� 2../binds��������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/adcc/user��������������������������������������������������������������������������������0000777�0001750�0001750�00000000000�12126724361�014063� 2../user���������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/adcc/commands����������������������������������������������������������������������������0000644�0001750�0001750�00000002465�11542462257�013610� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� These are subcommands of the ADCC command: EDIT To edit details of aDCC offer packs. OFFER Create aDCC file offer packs. PLIST Display the file offers to nicks/channels. Usage: /ADCC PLIST [*|<nick1,...,nickN|channel1,...,channelN>] ie. /ADCC PLIST <channel> send to "channel" /ADCC PLIST <nick> send to "nick" /ADCC PLIST * all channels you are on. /ADCC PLIST same as above. /ADCC PLIST <nick1,nick2> send to two nicks. /ADCC PLIST <channel1,channel2> send to two channels. /ADCC PLIST <nick,channel> combo :) QUEUE Manipulate the status of the AutoSEND queue, and view all files queued. NOTICE Announce your current channel that you are Same format as "PLIST" (See above). REMOVE Remove one or all aDCC offer packs. RESET Resets all counters and displays, including the status bar. SAVE Saves your offerlist to a file, for later use. SEND Send a file(s) to nick. Wildcards allowed. SETUP Modify the aDCC current settings. STATUS Show the current aDCC configuration. The commands are in majority self-explanatory. The matter of security also applies here, never do a command like: "/ADCC SEND <nick> ~/*" which sends all the files in your HOME dir, unless you know what you are doing. See also: [user SETUP] [user DTOG] �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/adcc/oper��������������������������������������������������������������������������������0000777�0001750�0001750�00000000000�12126724361�014041� 2../oper���������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/quickstart�������������������������������������������������������������������������������0000644�0001750�0001750�00000006415�11753124217�013301� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� <<< LiCe QuickStart Guide >>> This guide will help you quickly get started using the LiCe script for EPIC. - Settings - LiCe has a number of commands to change the settings in use. Each command will bring up a menu with a short explaination of what they do. You can change more than one setting at once. If you have used previous versions of LiCe, you'll be used to having to /SAVE settings. /SAVE is no longer required in LiCe 5.2.0, all settings are now written to the LiCe save database automatically. 3/SENSORS - Change LiCe sensor settings. Unless you understand what you're doing, it's only recommended to change the AutoNick and the AutoAWAY settings. 3/TOG - Change main LiCe toggles. Most users these days prefer to turn off Flood Protection, which is on by default. Also note that automatically checking for updates is on by default. This connects to the LiCe webserver when you load LiCe so you may wish to turn this off. Your main toggles are show on the status bar (if you're using the default theme) 3/MTOG - Change settings relating to messaging in LiCe. Setting save to disk is recommended to ensure if your client crashes or disconnects you won't lose your messages. 3/WTOG - Change settings relating to windows in LiCe. Windows are an advanced topic. Setting global status titlebar will show the topic of each channel at the top of the screen which many users find useful. 3/DTOG - Settings relating to DCC file transfers. 3/CTOG - Change the toggles for the channel you're currently on. - Messages - LiCe will log message when you're set away, as long as /MTOG U is enabled. 4/GONE - This will set you away on the server. If you don't specify a message after the command, LiCe will use a random message from the gone.reasons file. 4/BACK - This will set you as back on the server. You can specify a message to tell people why you're back. 4/PLAY - This will show you all messages logged while you were away. It has a small built in menu to help you use it. 4/ERASE - Delete all messages from your away log. - Useful Commands - List of commands that will be helpful. 5/J - Join command. Used to join a channel, i.e. /J #LiCe 5/L - Leave command. Used to leave the channel you're on. 5/AR - Set a word (or words) that will be highlighted when said in a channel you're in. Makes it easy to see your nickname when in a busy channel and also will log any mention of it when you are set away. 5/THEME - Change the appearance of LiCe! There are many different themes to choose from. 5/NOIG - You can use this command to remove any ignores that are currently active. 5/SC - List all the nicks on the current channel. 5/WHOIS - Will perform a whois on the nickname requested. i.e. /WHOIS tjh 5/QUIT - Quit epic5 and resume your normal boring life! ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/binds/�����������������������������������������������������������������������������������0000755�0001750�0001750�00000000000�12126724361�012256� 5����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/binds/adcc�������������������������������������������������������������������������������0000777�0001750�0001750�00000000000�12126724361�014120� 2../adcc���������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/binds/binds������������������������������������������������������������������������������0000644�0001750�0001750�00000000130�11542462257�013276� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������3 11@3..11@ ( Special key binds ) 3 (\--/) / 3 (.>__<.) 3 ^^^ ^^^ ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/binds/user�������������������������������������������������������������������������������0000777�0001750�0001750�00000000000�12126724361�014270� 2../user���������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/binds/screen�����������������������������������������������������������������������������0000644�0001750�0001750�00000002332�11753642157�013467� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� LiCe Pseudo-Screen key bindings Command key: ctrl-w (^w) Literal: ^w-a clear f logging H + create c exec (sh) ! version v name y monitor M suspend z + query q other a next n time t switch ' next <space> last ^X help ? prev p list w info i quit irc \ refresh l kill k readbuf < writebuf > lastmsg m uptime u + server s hide h + channel j license , * grow g * shrink r balance b * kill win K * next win N * prev win P beep ^G opervision o jump win 0-9 double bar d partyline L ^ double bar D * - only for shared windows on same screen. + - creates a new window. ^ - all windows See also: [basic] ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/binds/basic������������������������������������������������������������������������������0000644�0001750�0001750�00000002773�11542462257�013277� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� Key bindings that make LiCe the easiest script to use :) Options: Ctrl-a jumps the cursor to the beggning of the line. Esc-f lists people that are netsplit. Esc-k to JOIN the last channel you were invited to. Esc-r to remove nicks from your current server tablist. Ctrl-l will refresh all your screens. Ctrl-o to IGNORE last nick that sent you a message. Ctrl-r to INVITE last nick that send you a message. Ctrl-s freezes your irc screen (Scroll Lock) Ctrl-q returns your irc screen (No Scroll) Ctrl-u erases everything in your input prompt. Ctrl-x to switch between channels in the same window. Ctrl-z to suspend current IRC session and go to shell. TAB flips thru last nicks that sent you a message/notice. nickname completion. matches the contents of your input to the list of nicks in your current channel, and fixes the input for the best match. it will display a list of all matches, if more than one. filename completion (same as nick completion, but for files). Uses a very simple logic to determine wether to complete filenames or nicks. Arrow-UP command backward history (last command typed). Arrow-DOWN command forward history. Arrow-LEFT moves to the leftmost character. Arrow-RIGHT moves to the rightmost character. PgUp display last screenful of text. PgDn display next screenful of text (after a PgUp). See also: [screen] [user TOG] [user CTOG] [user SENSORS] �����lice5/help/binds/oper�������������������������������������������������������������������������������0000777�0001750�0001750�00000000000�12126724361�014246� 2../oper���������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/global�����������������������������������������������������������������������������������0000644�0001750�0001750�00000002027�11753124217�012342� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Starting with LiCe 5.2.0, LiCe can now be installed globally by system admins easily. Regardless of where LiCe is installed, it will dynamically figure out where it is and will be able to load all other files including help system files automatically, once the main lice.irc file is loaded. Because system wide installs are often going to be owned by root, there is no point having the /UPDATE function working. You can now easily disable the update functionality of LiCe by creating a file in the LiCe root directory called disable_update. If this file exists on load, the /UPDATE function will be removed and the main toggle of U (/TOG U) will be removed from /TOG. This removes the /update functionality. You may wish to also delete the update text from the help directory. Users can now install their own *.reason file in the ~/.lice/ directory. This allows each user to have their own reason file with whatever messages they're like. If the reason file doesn't exist, LiCe will fall back to using the globally installed reason files. ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/������������������������������������������������������������������������������������0000755�0001750�0001750�00000000000�12126724361�012135� 5����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/shit��������������������������������������������������������������������������������0000644�0001750�0001750�00000005425�11542462257�013041� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: SHIT -a <handle> [host] Usage: SHIT -c <handle> <[+|-]channel|#*> [[<-|+>modes] [greet msg]] Usage: SHIT -d <handle|pattern> Usage: SHIT -h <handle> <[+|-]host> Usage: SHIT -l [handle] Options and Operation: -a Creates a new handle in your SHIT database. If the handle matches the nickname of someone in one of your channels, their user@host will be inserted in the handle's host list. Alternately, a host can be specified and this one will be inserted into the handle's host list. NOTE: If no nickname matches the handle, or no additional host is specified, the handle will have no hosts associated. Then, one must use the -h option to insert/remove hosts to this handle. -c Insert/Removes channels for an existing handle. If #* is specified as channel, the settings will match all possible channels. NOTE: A handle without channels will be automatically purged from the database. -d Deletes a handle, and all associated hosts and channels, from the SHIT database. If a pattern is given, all matching handles will be removed. NOTE: a pattern of * will effectively remove all the handles and wipe your list clean. -h Insert/Removes hosts for an existing handle. NOTE: Handles can initially be host-less this is only useful for maintainance purposes. -l Lists all currently active handles. If a handle is specified, it shows detailed listing of the handle's properties. Channel modes (for -c): A IP ADDR: Bans the user's IP address. B BAN ENFORCE: Will keep user permanently banned. C COUNTRY: Bans the country or inet organization. D DEOP: Deop users shitted. E EXACT: Bans user with the exact pattern in shitlist. F FUCK: Bans the user's host with a pattern. H HOST: Bans the user's host. K KICK: Kick users shitted. N NORMAL: Bans with a simple *!*user@*host mask. U USERNAME: Bans only the user's username. Example 1: Group all those lamers that annoy me and kick-ban from #LiCe, ban from #Linux. /SHIT -a Lamers /SHIT -c Lamers +#LiCe +KN go away lamers!! /SHIT -c Lamers +#Linux +N /SHIT -h Lamers +*!*lamer1@*host1.com /SHIT -h Lamers +*!*lamer2@* /SHIT -h Lamers +Vassago!*@*host3.com ... Example 2: Can't seem to get rid of this lamer 'asmodean', let's shit his ass! We assume he's online (he always is), so the script will auto-add his current user@host. asmodean can be one slippery mofo, so we must kick-ban and enforce the ban. We'll ban his exact user@host only. /SHIT -a asmodean /SHIT -c asmodean +#LiCe +KBE where's skuld4 you lamah?@! Example 3: Seems asmodean insists on not releasing a new skuld for LiCe4, off with him then! Let's ban his arse all over !! /SHIT -a asmodean /SHIT -c asmodean +#* +KBF update http://elfz.codehack.com too! �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/relm��������������������������������������������������������������������������������0000644�0001750�0001750�00000000650�11542462257�013024� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: RELM [<num> nick|channel] [-list]  Redirect Last 8 Rec'v MSGs to a given nick or channel, or to current channel if no arguments specified. Use '-list' to display you current stored MSGs. ie. /RELM 3 SrfRoG - Displays your third MSG to 'SrfRoG'. /RELM -list - Shows your current MSG list. /RELM SrfRoG - Displays the last MSG you received to 'SrfRoG'. See also: [WLM] [TLM] [RELN] ����������������������������������������������������������������������������������������lice5/help/user/adcc��������������������������������������������������������������������������������0000777�0001750�0001750�00000000000�12126724361�013777� 2../adcc���������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/ignore������������������������������������������������������������������������������0000644�0001750�0001750�00000002304�11542462257�013346� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: IGNORE < nick | n!u@h pattern > [[-|+]Ignore types] Usage: IGNORE < channel | channel pattern > [[-|+]Ignore types] IGNOREs a nick or users matching the wildcard pattern specified. It can also ignore entire channels, by channel name or pattern. If no 'ignore types' are given, "ALL CRAP -PUBLIC" is used. Ignore types: ALL MSGS PUBLIC WALLS WALLOPS INVITES NOTICES NOTES CTCPS CRAP NONE Examples: /IGNORE *!*@*aol.com - ignores users matching '*!*@*aol.com'. /IGNORE *!*@*aol.com NONE - removes ignore for '*!*@*aol.com'. /IGNORE Vassago MSGS NOTICES - ignores 'NOTICES' and 'MSGS' from Vassago's address. (ie., *!*lamer@*dork.org). /IGNORE Vassago NONE - removes previous ignore for Vassago's address. /IGNORE #exceed CTCPS - ignores all 'CTCPS' for channel #exceed (if you are on the channel). /IGNORE #exceed NONE - removes previous ignore for #exceed. /IGNORE *!*@* - ignores everyone! be careful! See also: [NOIG] [epic 1 IGNORE] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/define������������������������������������������������������������������������������0000644�0001750�0001750�00000000324�11542462257�013315� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: DEFINE <word | phrase>  Attempts to define <word> using dictd dictionary server using the dict.org hostname. One or more words or phrases can be specified. Examples: /DEFINE test /DEFINE unix guru ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/tog���������������������������������������������������������������������������������0000644�0001750�0001750�00000004515�11542462257�012662� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: TOG [toggle letter(s)]  Options that control the overall behavior of the program and enable or disable major function in it. B Shit actions: Auto DEOP, Auto KICK, Auto IGNORE, Auto BAN. This option emables all SHIT actions, by disabling it SHIT users are not treated. (*) C Channel protection: Auto KICK channel flooders (*) F Flood protection. Enables all personal flood protection. If disabled, makes you vulnerable to floods. G aDCC AutoGET all GET requets. H Automatic IP lookups. When enabled, IP addresses will be translated (if possible) to their associated hostnames, this is for WHOIS and the WHOWAS commands. I Auto JOIN on INVITE to channels. If disabled, the program will check channels you are being invite to, and determine their status: Empty = no nicks are inside the channel (server bug) Fake = channel name contrains control characters. Modes = if channel is valid and exists, its modes are provided. J Auto clone bot detection. Will notify if multiple nicks are from a same hostname, at join time. K Enable/disable Auto DCC CLOSE of DCC SENDs that expire. N NetHack protection: Auto DEOP nethackers. Only FRIEND users with OP flag are excempt from this option, which deops users that abuse server-gained operator status (hacked ops). (*) P Friend CTCP commands, Protection, Auto OP and Auto GREET. Enables all FRIEND auto actions: Auto OP, Protection, Defense, CTCP commands. (*) Q QUIET MODE. Outsiders wont know you are using a script. LiCe will be transparent to outsiders, making you look "scriptless". T Automatic Top-level Domain definitions. When enabled, the definition of top-level domains in WHOIS/WHOWAS will be looked. i.e., '.net' = 'Network' U Automatically check for LiCe updates and news. U User Personal Log. Record some special events that are useful to keep track of. This records can be viewed with the /PLAY command. X Anti-Ping Timeout / Never allow session to ping-timeout. For users that leave sessions idle for a long time (using screen) this option makes the program to stay on the server without ping timeouts. Also, it disables AutoAWAY. (*) Changes all channel toggles globally ON/OFF. See also: [SENSORS] [SBAR] [CTOG] [MTOG] [DTOG] [UPDATE] �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/et����������������������������������������������������������������������������������0000644�0001750�0001750�00000000403�11542462257�012471� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: ET <channel>  Puts the topic from <channel> or your current channel on the input line for quick editing. To quit without changing the topic either leave topic unchanged, or blank the link (^u) and press return. See also: [T] [oper] �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/tln���������������������������������������������������������������������������������0000644�0001750�0001750�00000000264�11542462257�012663� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: TLN [channel] Makes a topic of the last NOTICE sent to you. The channel is optional, defaults to your current channel. See also: [WLM] [TLW] [RELM] [oper] ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/p�����������������������������������������������������������������������������������0000644�0001750�0001750�00000000503�11753642157�012324� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: P [nick|channel]  Requests CTCP PING information for a nick or channel, or current channel if no arguments. Note: CTCP PING checks how long it takes for a certain user to receive information from you. More than 45 seconds is considered a very "laggy" connection. See also: [VER] [OFFERS] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/ver���������������������������������������������������������������������������������0000644�0001750�0001750�00000000244�11542462257�012660� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: VER [nick|channel]  Requests CTCP VERSION information for a nick or channel, or current channel if no arguments. See also: [SC] [P] [OFFERS] ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/sbar��������������������������������������������������������������������������������0000644�0001750�0001750�00000000460�11542462257�013013� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� The Status Bar: [x:BCEFGHIKNPQRSWVXZ], located at the lower right corner of your screen, gives you a quick reference to the options you have enabled in LiCe (/TOG). The first number is revelant to the total number of messages recorded while away. See also: [CTOG] [TOG] [SENSORS] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/binds�������������������������������������������������������������������������������0000777�0001750�0001750�00000000000�12126724361�014411� 2../binds��������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/dns���������������������������������������������������������������������������������0000644�0001750�0001750�00000000362�11542462257�012651� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: DNS < nick | [host | ip address] > Attempts to translate the specified IP address to a hostname and viceversa. If a nickname is given, the user's hostname or IP address is looked up. See also: [WI] [TOG] [CTOG] [DOM] ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/sc����������������������������������������������������������������������������������0000644�0001750�0001750�00000000376�11542462257�012477� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: SC [-f] [channel]  Display the nicks inside a channel. If no channel is given, the nicks inside your current channel are shown. The "-f" flags forces the use of server output instead of the internal cache. See also: [SV] [SB] ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/rdcc��������������������������������������������������������������������������������0000644�0001750�0001750�00000000756�11542462257�013007� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: RDCC <-a|-c|-g|-s> [nick] Removes multiple DCCs at once, optionally matching nickname(s). Options: -a - Remove ALL DCCs -c - Remove DCC CHATs -g - Remove DCC GETs -s - Remove DCC SENDs ie. /RDCC -a - Remove all DCCs. /RDCC -a SrfRoG - Remove all DCCs for SrfRoG. /RDCC -a *frog* - Remove all DCCs for nicks matching *frog*. /RDCC -g - Remove all DCC GETs. See also: [ADCC] [REDCC] ������������������lice5/help/user/pager�������������������������������������������������������������������������������0000644�0001750�0001750�00000000762�11755560256�013173� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: PAGER <[path/]filename>  Allows you to view text files in your ircii active window. The rewritten LiCe viewer/pager routine is utilized (ie. /help). Example: /PAGER ~/ircrc.example /PAGER ./ircrc.example /PAGER /usr/local/lib/irc/ircII.servers /PAGER myfile.txt Known limitations: - Only one file at a time can be viewed. - '.' in the path is assumed as current dir. See also: [DUMP] [MEMO] ��������������lice5/help/user/beep��������������������������������������������������������������������������������0000644�0001750�0001750�00000000133�11542462257�012774� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: BEEP Toggles all beeping ON/OFF. That's nice :) See also: [HOLD] [BINDS] �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/chat��������������������������������������������������������������������������������0000644�0001750�0001750�00000000065�11542462257�013004� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: CHAT <nick> Begin DCC CHAT with a nick. ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/imail�������������������������������������������������������������������������������0000644�0001750�0001750�00000000344�11542462257�013160� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: IMAIL [nicks ... | emails ...]  Sends email(s) to the addresses or nicks that you specify, without leaving your current IRC session. It relies heavily on the availability of "sendmail", the BSD email server. ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/rex���������������������������������������������������������������������������������0000644�0001750�0001750�00000000551�11542462257�012663� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: REX <nick|channel> <shell command> [arguments]  Redirects the output of a Unix command to a nick or channel. The Unix command must be given; if the Unix command doesnt exists, the Unix Shell error will be displayed (if any). ie. /REX #LiCe uname -a\n shows #LiCe the output of the Unix command "uname". See also: [RE] [epic 5 EXEC] �������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/n�����������������������������������������������������������������������������������0000644�0001750�0001750�00000000272�11542462257�012322� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: N <nick|channel> <notice text>  Usage: N <nick1,...,nicks,channel1,...,channels> <notice text>  Sends a NOTICE to nick(s) or channel(s) See also: [M] [OOPS] [RELN] ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/si����������������������������������������������������������������������������������0000644�0001750�0001750�00000000545�11542462257�012503� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: SI [-f] [channel]  Display the invites for a channel. If no channel is given, the invites in your current channel are shown. The "-f" flags forces the use of server output instead of the internal cache. Note: this command is only available on networks with +I channel mode support. See also: [SV] [SC] [SB] [SE] �����������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/alarm�������������������������������������������������������������������������������0000644�0001750�0001750�00000001222�11542462257�013155� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: ALARM [LIST|KILL|POP <id>|PUSH <minutes> <command>]  It performs one or many commands when their triggers are matched every X minutes. eg. To execute "/SAY hi" every 5 minutes: /ALARM PUSH 5 hi To execute "/ECHO *wake up*" every minute: /ALARM PUSH 1 /ECHO *wake up* To list all the scheduled alarms: /ALARM LIST This will display all the active alarms with their proper id. To remove the first example alarm: /ALARM POP <alarm id> To kill all alarm events: /ALARM KILL ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/cwho��������������������������������������������������������������������������������0000644�0001750�0001750�00000001264�11750344505�013023� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: CWHO [[flag] [nick!user@host pattern]]  Fast WHO list of your current channel, or the channel specified if you're on more than one, using the LiCe cache. Flags: -a ALL. Display all users matching n!u@h (default) -o OPS. Displays channel ops for a given n!u@h pattern. -h HALFOPS. Displays channel half-ops for a given n!u@h pattern. -l NONOPS. Displays channel non-ops for a given n!u@h pattern. -v VOICES. Displays channel voices for a given n!u@h pattern. The default n!u@h pattern is "*!*" to match all users. If the users have Userlist/Shitlist status, their modes are displayed accordingly. See also: [PPL] [SC] [SB] [FRIEND] [SHIT] ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/silence�����������������������������������������������������������������������������0000644�0001750�0001750�00000002630�11752707471�013512� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: SILENCE [+|-] < nick | n!u@h pattern > Note: Only some servers support silence. This command will report if your server doesn't support it. By itself, /SILENCE will show you the list of n!u@h on your SILENCE list. SILENCE means the server won't send you any MESSAGES or NOTICES from that mask. You will still receive public messages. If you specify a nick without a +/- it will display the silence list of the nick specified. You can only see this information if you're on the same server as them. If a + is supplied, that nick will be added to your silence list. If a - is supplied, that nick will be removed from your silence list. If a n!u@h pattern is specified in place of a nick, you will add or remove that pattern from your silence list. Examples: /SILENCE - Prints the list of what's on your silence list. /SILENCE +DonG - Adds DonG to your silence list. /SILENCE -bartgeek - Removes bartgeek from your silence list. /SILENCE +*!*@*aol.com - Adds '*!*@*aol.com' to your silence list. /SILENCE Dave-PZ - Show Dave-PZ's silence list, if he's on the same server as you. See also: [NOIG] [IGNORE] ��������������������������������������������������������������������������������������������������������lice5/help/user/links�������������������������������������������������������������������������������0000644�0001750�0001750�00000000435�11542462257�013206� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: LINKS [server pattern [arguments]]  Displays the connetions to a server, and/or the connection hub of the server to the IRC network. ie. /LINKS *.edu shows connections of all *.edu servers and hubs /LINKS irc.ilstu.edu shows hub for server. See also: [UMODE] �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/pic���������������������������������������������������������������������������������0000644�0001750�0001750�00000000530�11542462257�012635� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: PIC Usage: PIC <picture> <target> [message] Displays an ASCII picture to the target (nick or channel) that you specify. The picture is taken from the ~/.epic/pics directory. The message gets appended at the end of the picture. The command without arguments, displays all the available pictures. See also: [SV] [SB] [THEME] ������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/update������������������������������������������������������������������������������0000644�0001750�0001750�00000000630�11542462257�013345� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: UPDATE Checks for LiCe updates and downloads the new version file if needed. Also, displays any current LiCe News from the LiCe website (http://lice.muppetz.com). NOTE: If you did not install LiCe yourself, it's possible that your system administrator might have disabled this command. In that case, this command will not exist. See also: [NSL] [DUMP] [FINGER] ��������������������������������������������������������������������������������������������������������lice5/help/user/memo��������������������������������������������������������������������������������0000644�0001750�0001750�00000000601�11542462257�013016� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: MEMO [memo text]  The first form of the command, will save any text included to a file, which can be retrived using the second form of the command (no arguments specified) The memo file will be saved in the help directory for access with the internal viewer. ie. /MEMO this is a test. Then the memo's can be viewed with /MEMO See also: [DUMP] �������������������������������������������������������������������������������������������������������������������������������lice5/help/user/wtog��������������������������������������������������������������������������������0000644�0001750�0001750�00000000776�11542462257�013056� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: WTOG [window toggle letter(s)]  Control the behavior of all new windows. B Beep even if window is hidden. D Use double status bars. C Dedicated Chat Window. All DCC CHATs are sent to a special when this is set. W Message View Window. Moves all incoming MSG's to a window. For people that join large channels and loose their MSGs in scroll, this option creates another window were all MSGs are sent. See also: [SENSORS] [TOG] [AR] [DTOG] [CTOG] [MTOG] ��lice5/help/user/l�����������������������������������������������������������������������������������0000644�0001750�0001750�00000000261�11542462257�012316� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: L [channel | -a]  Makes you PART your current channel, or another channel if specified. If "-a", PART from all your channels. See also: [J] [CHG] [CYCLE] �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/user��������������������������������������������������������������������������������0000644�0001750�0001750�00000000134�11542462257�013040� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� 3 11@3..11@ ( General user commands ) 3 (\--/) / 3 (.>__<.) 3 ^^^ ^^^ ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/w�����������������������������������������������������������������������������������0000644�0001750�0001750�00000002332�11542462257�012332� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: W <channel> [flag [arguments]]  Usage: W <flag> [arguments]  Requests the server WHO information about a channel or users. If a channel is given, information about that channel is obtained. In the case no channel is given, and no arguments are given, WHO information about your current channel is obtained; if a flag is given, information about your current channel that corresponds to the flags is obtained. If no flag but arguments are given, all IRC is used to collect the information. Meaning of the flags: -ch who are the channel operators. -no who are the channel non-operators (lamers). -op IRC operators in your channel. -aw people who are AWAY in your channel. -he people who are not AWAY (here). -ho lists users matching the host provided, must supply a host mask as an argument. -na lists users matching the username mask provided; must supply a mask as argument. -ni lists users matching the nickname mask provided; must supply a mask as argument. -r lists users matching the realname mask provided; must supply a mask as argument. -s lists users using a server in your channel; must provide the server in the arguments. See also: [WI] [WII] [WW] ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/msay��������������������������������������������������������������������������������0000644�0001750�0001750�00000000351�11754001542�013023� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: MSAY [-a] <public text>  Sends public text to all the channels on the server you're currently talking to. Use -a to send to all channels of all servers you're connected to. See also: [MME] [RE] [RELM] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/t�����������������������������������������������������������������������������������0000644�0001750�0001750�00000000233�11542462257�012325� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: T <channel> [new topic]  To view or change the topic in your current channel, or any other channel you specify. See also: [ET] [oper] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/version�����������������������������������������������������������������������������0000644�0001750�0001750�00000000252�11542462257�013550� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: VERSION [server] Displays the client, script and server versions. If 'server' is the argument, the version of that server is requested. See also: [SV] ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/wi����������������������������������������������������������������������������������0000644�0001750�0001750�00000000603�11542462257�012502� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: WI [nick1 nick2 ... nicks | nick mask]  Requests the server WHOIS information about nicks. The second form of WI might work with all servers, it asks the server for WHOIS information about nicks matching a certain nick mask. ie. /WI SrfRoG asmodean LiCe requests the server WHOIS information about nicks: SrfRoG, asmodean and LiCe. See also: [W] [WW] [WII] �����������������������������������������������������������������������������������������������������������������������������lice5/help/user/theme�������������������������������������������������������������������������������0000644�0001750�0001750�00000000405�11542462257�013165� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: THEME Usage: THEME <name> Changes your current color and event formats to a different display. The themes are loaded from ~/.epic/themes directory. The command without arguments, displays all the available themes. See also: [SV] [SB] [PIC] �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/gone��������������������������������������������������������������������������������0000644�0001750�0001750�00000001251�11752707471�013016� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: GONE [-a|-q] [message] Marks you AWAY and tells the last channel/nick you had contact your new AWAY status. The message will be your AWAY message. The "-q" is used to cancel channel announcing. e.g. /GONE -q nobody will see my away msg ;) Normally, LiCe (EPIC) will put you on AWAY status on your current server. To set yourself AWAY in all your connected servers at once, use the "-a" flag. e.g. /GONE -a Gone for the weekend, bye bye!! Edit the file "~/lice5/gone.reasons" to customize the default message. Or create a "~/.lice/gone.reasons" file if you don't want to edit LiCe files. See also: [BACK] [PLAY] [ERASE] �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/play��������������������������������������������������������������������������������0000644�0001750�0001750�00000001517�11542462257�013035� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: PLAY [option]  Plays any recorded messages when AWAY, if any. Also allows saving of specific messages. This is command is interactive; it takes arguments while executed. # - Goes to the message # specified. A - Read all messages at once. D - Erase all messages and exit. E - Erase current message. S - Save current message to AWAY file. Q - Do nothing and quit. V - View all message headings. W - Save all messages and quit (erases from memory) ? - Brings this help. Pressing <ENTER> key will expand the following message, if any. Also, when there are no messages in memory, you are able to view any messages saved in the AWAY file. The second form of the command allows viewing of a specific message by providing it's id number. See also: [USERLIST] [ERASE] [GONE] [BACK] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/note��������������������������������������������������������������������������������0000644�0001750�0001750�00000002755�11542462257�013042� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: NOTE -dup <from> <to>  Usage: NOTE -get <nick1 [nick2 ... nicks]> Usage: NOTE -get <channel1 [channel2 ... channels]> Usage: NOTE -set <nick|channel> <notes...>  Usage: NOTE -rem <nick|channel [...] | *>  This command handles note reminders for nicknames. The notes will be stored in a file and remain until you remove them. Notes are activated either manually or automatically (See CTOG and MTOG). When automatic, note retrival is activated by WHOIS, WHOWAS and/or JOIN. Options: -get Get a previously saved note. -rem Remove notes for the specified nickname/channel. -set Creates or appends to notes. If the note doesn't exists it's created, else the new note is appended to the old one. -dup Duplicates a note to another. Notes: When setting a note, the previous note(s) are not removed. You must remove these first if you want to keep the list small. Also, you can get and remove multiple notes by specifying additional nicknames. Yes, you can set note for channels, which will be visible to you when you join the channel. ie. Set a new note: /NOTE -set SrfRoG I owe him $20 dollars. View a previous note: /NOTE -get SrfRoG Duplicate this note to 'ashee': /NOTE -dup SrfRoG ashee Discard all notes for 'SrfRoG': /NOTE -rem SrfRoG Discard _all_ stored notes: /NOTE -rem * Set a note for #LiCe: /NOTE -set #lice The LiCe Website @ http://www.mistik.net/lice See also: [MEMO] [CTOG] [MTOG] �������������������lice5/help/user/dump��������������������������������������������������������������������������������0000644�0001750�0001750�00000000235�11542462257�013031� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: DUMP <command [args ... ]>  Dumps the output of an ircii command into a file called 'IRCDUMP' on your HOME directory. See also: [PAGER] �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/chanlog�����������������������������������������������������������������������������0000644�0001750�0001750�00000000450�11542462257�013476� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: CHANLOG -a <channel> Usage: CHANLOG -d <channel> Usage: CHANLOG -l [channel] Options and Operation: -a Starts logging on the specified channel. -d Stops logging on the specified channel. -l Lists the channels being logged or gives log information about the channel specified. ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/se����������������������������������������������������������������������������������0000644�0001750�0001750�00000000553�11542462257�012476� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: SE [-f] [channel]  Display the exceptions for a channel. If no channel is given, the exception in your current channel are shown. The "-f" flags forces the use of server output instead of the internal cache. Note: this command is only available on networks with +e channel mode support. See also: [SV] [SC] [SI] [SB] �����������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/nochat������������������������������������������������������������������������������0000644�0001750�0001750�00000000141�11542462257�013334� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: NOCHAT <nick>  End DCC CHAT with a nick (if one already exists) See also: [CHAT] �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/findip������������������������������������������������������������������������������0000644�0001750�0001750�00000000231�11542462257�013331� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: NSL <ip address | hostname> Attempts to translate the specified IP address to a hostname and viceversa. See also: [WI] [TOG] [CTOG] �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/oops��������������������������������������������������������������������������������0000644�0001750�0001750�00000000466�11753642157�013055� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: OOPS <nick>  If you send a MSG to someone for which you didnt intend to send the MSG originally, specify the "correct" nick and /OOPS will apologize and send the message to the correct nick. Edit the file "~/.lice/oops.reasons" to customize the message. See also: [M] [N] [RELM] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/dtog��������������������������������������������������������������������������������0000644�0001750�0001750�00000001060�11542462257�013016� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: DTOG [message toggle letter(s)]  Control the behavior of all message logging in the program. C DCC AutoCLOSE all incoming file requests. G DCC AutoGET all files sent to you. S DCC AutoSEND files offered in packs. O Overwrite duplicate files on DCC GETs. If not set, files are incrementally renamed and never copied over. Unless AutoRESUME is enabled. Q DCC QUIET MODE. Supress error notices. R DCC AutoRESUME. Completes interrupted file downloads. See also: [SENSORS] [TOG] [AR] [MTOG] [CTOG] ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/ansi��������������������������������������������������������������������������������0000644�0001750�0001750�00000000120�11542462257�013007� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: ANSI Toggles all ANSI colors ON/OFF. See also: [BEEP] [BINDS] ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/dom���������������������������������������������������������������������������������0000644�0001750�0001750�00000000360�11542462257�012642� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: DOM <top-level domain | hostname> If a top-level domain or hostname is specified, it is looked up in the top-level table for a definition. Top level domains include: .com, .net, .fr, .org, etc... See also: [DNS] [WI] ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/chanst������������������������������������������������������������������������������0000644�0001750�0001750�00000000364�11753642157�013352� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: CHANST [channel] Gives statistics of the channel specified: Number of channel operators, half operators, non operators, bans, voices and irc operators, also the sets active for the channel. See also: [SV] [SC] [P] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/sb����������������������������������������������������������������������������������0000644�0001750�0001750�00000000403�11542462257�012465� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: SB [-f] [channel]  Display the bans for a channel. If no channel is given, the bans in your current channel are shown. The "-f" flags forces the use of server output instead of the internal cache. See also: [SV] [SC] [SE] [SI] �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/sping�������������������������������������������������������������������������������0000777�0001750�0001750�00000000000�12126724361�014045� 2rlag������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/tlw���������������������������������������������������������������������������������0000644�0001750�0001750�00000000260�11542462257�012670� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: TLW [channel] Makes a topic of the last channel WALLOP. The channel is optional, defaults to your current channel. See also: [WLN] [TLM] [RELM] [oper] ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/wii���������������������������������������������������������������������������������0000644�0001750�0001750�00000000465�11542462257�012661� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: WII [nick1 nick2 ... nicks]  Requests the server WHOIS IDLE information for a nick. Note: if the server you are current using, or the server of the nick you are inquiring is lagged, the WHOIS information will be delayed or may not even be given to you. See also: [W] [WI] [WW] �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/ppl���������������������������������������������������������������������������������0000644�0001750�0001750�00000002107�11750344505�012653� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: PPL [flags [args]] [channel] Simplified version of WHO for channels. Easier options and display. Flags: -c HOP COUNT. Displays users with better or equal connection hop count to your IRC server. -g GONE. Displays users that are AWAY. -h HERE. Displays users that are not AWAY. -i IRCOPS. Displays users that are IRC operators. -l LAMERS. Displays users that are not Ops, half Ops or Voices (-o). -o OPS. Displays users that are channel operators (+o). -a HALFOPS. Displays users that are channel half Ops (+%) -v VOICES. Displays users that are channel voices (+v). -n name Displays users that match the name in their IRCNAME. -p mask Displays users only matching the mask in their address (n!u@h). The default value is "*!*@*". -s mark Displays users only matching the mask in the IRC server they are currently on. The default value is "*.*". Without specifying any flags, a merely beautified /WHO is displayed. Unless specified, the channel defaults to your current channel. See also: [CWHO] [SC] [SB] [FRIEND] [SHIT] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/tlm���������������������������������������������������������������������������������0000644�0001750�0001750�00000000261�11542462257�012657� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: TLM [channel] Makes a topic of the last MSG sent to you. The channel is optional, defaults to your current channel. See also: [WLW] [TLN] [RELM] [oper] �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/re����������������������������������������������������������������������������������0000644�0001750�0001750�00000001207�11542462257�012472� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: RE <nick|channel> <command> [arguments]  Redirects the output of your commands to a nick or channel. Even if the command doesnt exists, this output if sent. ie. /RE #LiCe WI shows #LiCe the output of a WHOIS request. /RE #LiCe MSG Vassago Phoenix is lame! shows #LiCe the output of sending a MSG to Vassago. Note: Dont use this command repeatedly. This command is well known for its bugs, it's not very stable, you could end up flooding yourself or your channel if you try to redirect extensively complicated commands or commands that use WAIT states. ie. USERHOST, USER. See also: [REX] [epic 5 REDIRECT] �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/invite������������������������������������������������������������������������������0000644�0001750�0001750�00000001234�11542462257�013362� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: INVITE <nick> [channel]  Usage: INVITE <channel> <nick1 ... nickN>  Usage: INVITE <channel to> <channel from>  The first form is to INVITE a nick to your current channel or any channel you specify (that you are in). The second form is INVITE all the nicks from a channel to the current channel you are in, you must be inside both channels for this to be successful. ie. /INVITE asmodean #LiCe : invites asmodean to #LiCe. /INVITE #LiCe mikh ashee : invites mikh and ashee to #LiCe. /INVITE SrfRoG : invites SrfRoG to your current channel. /INVITE #LiCe #HTML : invites #HTML users to #LiCe. See also: [N] [M] [oper] ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/back��������������������������������������������������������������������������������0000644�0001750�0001750�00000001334�11752707471�012770� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: BACK [-a] [-q] [message] Marks yourself HERE from a previous AWAY. Use -a to return you on all servers you're connected to. You can't supply a return message with this option. It tells the last channel/nick you were in contact with that you're "back", if not in "QUIET MODE" (MTOG Q). The message is used to describe why you are HERE now :) if no message is provided, the default one is used. The "-q" is used to cancel the announcing even if "QUIET MODE" is not set. Edit the file "~/lice5/back.reasons" to customize the default message. Or if you don't wnat to edit LiCe files, create ~/.lice/back.reasons and put your own messages in there. See also: [GONE] [PLAY] [ERASE] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/noig��������������������������������������������������������������������������������0000644�0001750�0001750�00000000226�11542462257�013020� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: NOIG  Removes user(s) from IGNORE list. It will prompt for which user to remove from IGNORE list. See also: [IGNORE] [USERLIST] ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/redcc�������������������������������������������������������������������������������0000644�0001750�0001750�00000001053�11542462257�013143� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: REDCC [-q | <nick>] Redirect all incoming DCC GET's to <nick> via DCC CHAT. Repetitive assigns of <nick> will overwrite the previous setting. No leading '=' is needed for the assignment of <nick>. Use the "-q" option to stop redirecting DCC GET's. Note: You and <nick> must be on active DCC CHAT for this command to work, and both must be using LiCe 4. ie. /REDCC SrfRoG - Redirects all DCC GET's to SrfRoG via DCC CHAT. /REDCC -q - Stops all redirection of DCC GET's. See also: [WLN] [TLN] [RELM] �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/ctog��������������������������������������������������������������������������������0000644�0001750�0001750�00000004631�11747346271�013030� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: CTOG [channel toggle letter(s)]  Control certain channel routines carried out by the program. The code now can act channel-oriented given the status of these toggles. 1 When set, channel flooders are banned with the worse ban possible. "CTOG F" must be enabled also, unless a JOIN flood was triggered. A Write these toggles to database. B Shit actions: AutoDEOP, AutoKICK, AutoIGNORE, AutoBAN. C Channel protection: AutoKICK channel flooders D AutoKICK users matching channel bans and shitlist. Makes sure that users that are banned stay out, this includes nethackers. The program will AutoKICK users that match a ban placed. E Activates nickname-note reminders on JOIN. F AutoBAN channel flooders. Adds extra action to channel protection, users are also banned when this option is set to ON. This option, combined with "B" make a great combination for channel anti-flooding. G Bitch mode. When set, LiCe will only allow friends with the +O mode flag get opped. Everyone else will be deopped if given ops, unless the person giving ops if a friend with moode flag +E - are we confused yet? :) H Automatic IP address lookups on JOIN. I AutoJOIN channel on INVITE. Always, if set. J Auto clone bot detection. Will notify if multiple nicks are from a same hostname, at join time. K Disallow channel keys - NON GLOBAL TOGGLE. L Mode lock. This will enforce the channel modes you specify on the channel. M AutoKICK users that place bogus channel keys. Users that place channel keys with escape or control characters (keybombs) are automatically kicked. N NetHack protection: AutoDEOP nethackers. O Don't kick channel operators that flood. When an op (+o) floods the channel, you'll get the warning but the user won't be kicked. P Friend CTCP commands, Protection, AutoOP and AutoGREET. Q Make channel quiet. Ignore CTCPs, JOINs and NICK changes sent to the channel. S AutoSHIT of flooders. When enabled, it will add users that flood your channels with SHIT mode +F (KICKBAN). Users that attempt to flood You, are added with mode +I (IGNORE). T Topic lock. This will enforce your topic for that channel. V Don't kick channel voices that flood. When a voice (+v) floods the channel, you'll get the warning but the user won't be kicked. See also: [SENSORS] [TOG] �������������������������������������������������������������������������������������������������������lice5/help/user/ww����������������������������������������������������������������������������������0000644�0001750�0001750�00000000177�11542462257�012526� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: WW [nick1 nick2 ... nicks]  Requests the server WHOWAS information for nicknames. See also: [W] [WI] [WII] �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/ar����������������������������������������������������������������������������������0000644�0001750�0001750�00000001040�11747346271�012465� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: AR [auto reply word(s) ...]  Set or display the words that will trigger 'auto reply'. Q:What is auto reply? A:a set of 1 or more words that LiCe will match against all public messages. If any of these words are matched, the nick of the person that said it (them) will be high- lighted, and added to your TAB list. Then, you can just press 'TAB' key to reply to that person via MSG. By default, LiCe will make your current nick the auto-reply word. See also: [TOG] [CTOG] [MTOG] [SENSORS] ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/sensors�����������������������������������������������������������������������������0000644�0001750�0001750�00000000656�12012021630�013542� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: SENSORS To change numeric sensors used by different protection routines. If you're having problems with very slow channel sync and find you are cycling from channels, set /sens c to 0 Note: if bogus sensor values are selected, the program's performance/protection will suffer. If you dont have much IRC knowledge, stick with the default values provided. See also: [CTOG] [MTOG] [TOG] [AR] ����������������������������������������������������������������������������������lice5/help/user/m�����������������������������������������������������������������������������������0000644�0001750�0001750�00000000257�11542462257�012324� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: M <nick|channel> <message>  Usage: M <nick1,...,nicks,channel1,...,channels> <message>  Sends a MSG to nick(s) or channel(s) See also: [N] [OOPS] [RELM] �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/rlag��������������������������������������������������������������������������������0000644�0001750�0001750�00000000737�11542462257�013020� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: RLAG [server] Resets your server lag counter. Or if specified, checks the latency (lag) to "server". Q: What is lag, you ask? A: The term "Lag" is loosely used to determine how long your it takes for your data to reach the server or other users. Compared to the theory of some 19th century physicists about 'luminiferous ether', we find that ether and lag are basically the same :) See also: [VERSION] [P] [PING] [EPIC 2] ���������������������������������lice5/help/user/erase�������������������������������������������������������������������������������0000644�0001750�0001750�00000000267�11542462257�013170� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: ERASE [#] Erases all messages recorded (while AWAY) from memory. If a message number is specified, only that message is erased. See also: [PLAY] [GONE] [BACK] �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/oper��������������������������������������������������������������������������������0000777�0001750�0001750�00000000000�12126724361�014125� 2../oper���������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/j�����������������������������������������������������������������������������������0000644�0001750�0001750�00000000777�11542462257�012330� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: J <channel> [key]  Usage: J <channel1,channel2,...,channels>  Makes you JOIN the specified channel(s). In the first form, the leading '#' can be omitted. If the channel you want to JOIN has a key, this has to be provided in order for you to join. ie. /J LiCe makes you JOIN "#LiCe" /J #singles,#chatzone makes you JOIN "#singles" and "#chatzone" simultaneously. /J #lamers doofus makes you JOIN "#lamers" and assumes the key "doofus" is used. See also: [L] [CHG] [CYCLE] �lice5/help/user/mme���������������������������������������������������������������������������������0000644�0001750�0001750�00000000335�11754127572�012646� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: MME [-a] <action>  Sends an action to all the channels of the current server you are, at once. Use -a to send to all channels of all servers you're connected to. See also: [MSAY] [RE] [RELM] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/sv����������������������������������������������������������������������������������0000644�0001750�0001750�00000000401�11542462257�012507� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: SV [nick|channel]  Displays your current LiCe version to others. You must specify to whom or where to display this. If no arguments are given, then the version information will be shown in your current channel. See also: [SC] [SB] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/hold��������������������������������������������������������������������������������0000644�0001750�0001750�00000000216�11542462257�013011� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: HOLD Toggles holding of screen on/off. This allows fast-moving scroll to be readed more easily. See also: [BEEP] [BINDS] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/notify������������������������������������������������������������������������������0000644�0001750�0001750�00000000445�11542462257�013377� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: NOTIFY <<+/->nick1 <+/->nick2 ... <+/->nicks>  Add, removes or lists nicks from your notify list. ie. /NOTIFY +SrfRoG +LiCe -Vassago adds SrfRoG and LiCe, removes Vassago. /NOTIFY lists the nicks present and absent. See also: [USERLIST] [SENSORS] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/chg���������������������������������������������������������������������������������0000644�0001750�0001750�00000000430�11542462257�012622� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: CHG [channel] Makes you PART your current channel and JOIN the channel specified. If no '#' or '&' is specified in the channel name, '#' is appended. If not channel is given, it will just make you leave your current channel. See also: [J] [L] [CYCLE] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/trans�������������������������������������������������������������������������������0000644�0001750�0001750�00000001704�11755560256�013221� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: TRANS [[-fFgGiIpPsS][-o][-m <target>][-n <target>]] <text> BROKEN: This is currently broken in LiCe 5+. Sorry. Attempts to translate <text> using altavista's babelfish server. If no language option is selected, English to Spanish is the default. Options: -f English to French -F French to English -g English to German -G German to English -p English to Portuguese -S Spanish to English -s English to Spanish -P Portuguese to English -i English to Italian -I Italian to English -m <target> Sends translation of text to "target" in a MSG. -n <target> Sends translation of text to "target" in a NOTICE. -o Sends translation of text to your current channel. Examples: /TRANS -m SrfRoG -f you rule man! /TRANS -n $*.com -s this is a server wallop in Spanish /TRANS -o -p i am pretending i know Portuguese /TRANS -S hola amigo ������������������������������������������������������������lice5/help/user/cycle�������������������������������������������������������������������������������0000644�0001750�0001750�00000000155�11542462257�013164� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: CYCLE Makes you cycle (PART and JOIN back) your current channel. See also: [J] [L] [CHG] �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/log���������������������������������������������������������������������������������0000644�0001750�0001750�00000000311�11542462257�012640� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: LOG [ON|OFF] This commands toggles on/off all logging for the current window. If no aguments are given, the contents in your logfile (if any) will be displayed. See also: [MEMO] �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/book��������������������������������������������������������������������������������0000644�0001750�0001750�00000000525�11542462257�013020� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: BOOK -[a|d|l] <nick email>  Creates/lists an addressbook fot instant emailing in combination with /IMAIL. Examples: /BOOK -a hsoc hsoc@irc.gr adds handle hsoc /BOOK -d hsoc deletes hsoc from your address book /BOOK -l lists all entries in address book See also: [IMAIL] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/offers������������������������������������������������������������������������������0000644�0001750�0001750�00000000246�11542462257�013352� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: OFFERS [nick|channel]  Requests CTCP aDCC LIST information for a nick or channel, or current channel if no arguments. See also: [SC] [P] [VER] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/reln��������������������������������������������������������������������������������0000644�0001750�0001750�00000000664�11542462257�013032� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: RELN [<num> nick|channel] [-list]  Redirect Last 8 Rec'v NOTICEs to a given nick or channel, or to current channel if no arguments specified. Use '-list' to display your current stored NOTICEs. ie. /RELN 7 SrfRoG - Displays your seventh NOTICE to 'SrfRoG'. /RELN -list - Shows your NOTICE list. /RELN SrfRoG - Displays the last received NOTICE to 'SrfRoG'. See also: [WLN] [TLN] [RELM] ����������������������������������������������������������������������������lice5/help/user/mtog��������������������������������������������������������������������������������0000644�0001750�0001750�00000003434�11542462257�013036� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: MTOG [message toggle letter(s)]  Control the behavior of all message logging in the program. 1 Notify of auto-reply triggers in hidden windows. 2 Allow auto-reply (public) to update the TAB reply list. A Record ACTIONs that are revelant to you, when you are AWAY. B Beep when a new MSG arrives. C Record all text comming via DCC CHAT when you are AWAY. E When enabled, any messages logged to your away log are also saved to disk. This means in the event the client crashes or is killed that you still have all messages saved when you load lice again. All messages in the away log are saved as soon as you enable this. The disk log is deleted as soon as you disable this. All messages on disk are obfuscated. M Record all incoming MSGs (not server MSGs) when you are AWAY. N Record all incoming NOTICEs (not server NOTICEs) when you are AWAY. O Activates nickname-note reminders on WHOIS and WHOWAS. P Record all instances of "auto reply" in the away log. Q Toggle quiet away display. If disabled, it will send a message to the last party you had contact with (nick or channel) that you are AWAY. "The auto away message" R When enabled, sends people that MSG you a notice saying how long you've been AWAY. T Event time stamping. When enabled, all important events will display their time of occurrance. You can change the format under /SENSORS:w U Personal Status Logs. Records some important information while you are AWAY. V Extended view status. Display USERHOST info in all MSG/NOTICE/BANs. Also display additional verbose messages. W Record channel WALLOPs that are revelant to you, when you are AWAY. See also: [SENSORS] [TOG] [AR] [DTOG] [CTOG] [WTOG] ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/umode�������������������������������������������������������������������������������0000644�0001750�0001750�00000001660�11542462257�013200� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: UMODE [<-/+>user modes]  Changes your user modes, valid for the server you are currently using. i = INVISIBLE Users can see the channels you are in if they try to do WHOIS on you (unless they share one or more channels with you) o = OPERATOR Reserved for IRC operators. w = WALLS You will receive any server walls. These walls are broadcasts of special server actions done by IRC operators (eg. SQUIT CONNECT JUPE) s = NOTICES When set, all server notification will be sent to you, these notices currespond to actions done to users by the server or IRC operators (eg. KILL LINK) Note: These are the "standard" user modes available in all ircii servers, additional modes may exist for modified servers. ie. /UMODE +i-ws removes modes "ws" and places you as invisible. /UMODE displays your current user modes. /UMODE -s removes server notices from your modes. See also: [oper] ��������������������������������������������������������������������������������lice5/help/user/friend������������������������������������������������������������������������������0000644�0001750�0001750�00000006210�11542462257�013332� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: FRIEND -a <handle> [host] Usage: FRIEND -c <handle> <[+|-]channel|#*> [[<-|+>modes] [greet msg]] Usage: FRIEND -d <handle|pattern> Usage: FRIEND -h <handle> <[+|-]host> Usage: FRIEND -l [handle] Options and Operation: -a Creates a new handle in your FRIEND database. If the handle matches the nickname of someone in one of your channels, their user@host will be inserted in the handle's host list. Alternately, a host can be specified and this one will be inserted into the handle's host list. NOTE: If no nickname matches the handle, or no additional host is specified, the handle will have no hosts associated. Then, one must use the -h option to insert/remove hosts to this handle. -c Insert/Removes channels for an existing handle. If #* is specified as channel, the settings will match all possible channels. NOTE: A handle without channels will be automatically purged from the database. -d Deletes a handle, and all associated hosts and channels, from the FRIEND database. If a pattern is given, all matching handles will be removed. NOTE: a pattern of * will effectively remove all the handles and wipe your list clean. -h Insert/Removes hosts for an existing handle. NOTE: Handles can initially be host-less this is only useful for maintainance purposes. -l Lists all currently active handles. If a handle is specified, it shows detailed listing of the handle's properties. Channel modes (for -c): A AUTOMODE: gives channel op or voice when they join. +A by itself does nothing, the users need +O or +V also. Note: automodes _dont_ requite password, use with caution E EXCEPTION: allows the user to do the following: 1) Deop other protected users 2) Kick/Ban protected users 3) Remove perma-bans 4) Change locked channel modes F FLOOD FREE: the user won't trigger flood protection G GREET: displays a greet everytime the user joins the channel. I INVITE: invites the user to the channel via !INVITE O OP: gives the user channel operator (+o) via !OP P PROTECT: protects user from others who KICK/BAN/DEOP R REVENGE: revenges user from others who KICK/BAN/DEOP U UNBAN: removes bans matching user via !UNBAN V VOICE: gives the user voice status (+v) via !VOICE Example 1: Add all #LiCe ops to an auto-op and protect list, no greeting. /FRIEND -a LiCe_Ops /FRIEND -c LiCe_Ops +#LiCe +AOP /FRIEND -h LiCe_Ops +*!*user1@*host1.com /FRIEND -h LiCe_Ops +*!*user2@*host2.com /FRIEND -h LiCe_Ops +LiCe!*e@*mistik.net ... Example 2: Create a handle for SrfRoG on #LiCe and #Linux. On #LiCe, we want to op (no auto), protect, revenge and greet. On #Linux, auto-voice and protect only. We know SrfRoG is online now, so his current user@host will be auto-added (SrfRoG can add his own hosts via /msg !IDENT later). /FRIEND -a SrfRoG /FRIEND -c SrfRoG +#LiCe +OPRG Hi there frog! /FRIEND -c SrfRoG +#Linux +AVP Example 3: "Hmm... SrfRoG is a really cool guy, spending time on LiCe and giving it away. The least I could do is give him ops in all my channels!" /FRIEND -a SrfRoG *!cag@codehack.com /FRIEND -c SrfRoG +#* +AOPE frogs are cool! :) ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/user/finger������������������������������������������������������������������������������0000644�0001750�0001750�00000000707�11542462257�013342� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: FINGER [[-h] <nickname>][[user]@full.hostname]  Just like the shell FINGER, and like many already in scripts. ie. /FINGER SrfRoG - Launches finger to SrfRoG's user@host (e.g. srfrog@nema.com) /FINGER -h SrfRoG - UNIX fingers SrfRoG's host (e.g. @nema.com) /FINGER @nema.com - same as above. /FINGER srfrog@nema.com - Launches regular UNIX finger command. See also: [NSL] [DUMP] ���������������������������������������������������������lice5/help/party������������������������������������������������������������������������������������0000644�0001750�0001750�00000005671�11542462257�012256� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� The module 'PARTY' is a small-level implementation of a 'partyline'. For those people that dont know what a partyline is: it's a bunch of users gathered, via some abstract medium, discussing random topics. Think of it as a little irc of your own. The mediums used in our partyline are DCC CHAT and DCC RAW. Users connect to you (the hub) via DCC CHAT and the chat is shared with any other users currently on the partyline. More 'hubs' can be linked to you and each others, making your partyline larger. The partyline is most effective when the server routing is bad (lotta lag) and you want to talk to a group of people, just make them join your partyline via DCC CHAT or link their own hubs to yours. Users on DCC CHAT jump to your partyline by typing '.CHAT' from the chat. To load the partyline module, just type '/PARTY'. Commands valid on the partyline to you: . <text> - Talk on the partyline .ME <action> - Do an action. .NAMES - List of nicks connected to you. .WHO - Extended list of all nicks connected, on all hubs. .INVITE <nick> - Invite an outside nick to the partyline. .LINK <host> <port> <password> - Link to a remote hub. Password might not be necessary unless the remote hub requires it. .UNLINK <hub> .UNLINK * - Unlink a hub by name, or '*' to unlink all. .LISTEN - Allow remote hub connections to you. .CLOSE - Close remote hub connection access. .BOOT <nick> - Boot (kick equiv.) a nick from the partyline. Will be booted off any other hubs that allow remote boots. .JUPE <hub> <link> - Disconnect a linked hub on <hub> remotely. .TOPIC [topic] - Change or view the hub's current topic. Topics are local, not shared remotely. .SETUP - Change internal settings to the partyline. It's recommended you do this at least once. .STATUS - View partyline's information. .WALL <text> - Send a message to only the people connected to you. .WALLOP <text> - Send a message to only other hubs. WARNING * * * * * * * * * * * * * * * * * * * * * * * * * * * WARNING * Notice of possible hack attempts: * WARNING * When allowing remote hub connections, you leave * WARNING * a port of your system 'open' to listen for * WARNING * incoming connections. Some people might attempt * WARNING * to hack into your system via this. Consider this * WARNING * notice your fair warning. Although it's unlikely * WARNING * kiddie-haxorz will check all the hosts for this, * WARNING * it's important to have knowledge about this. As * WARNING * precaution, close all remote connections access * WARNING * ports when not in use. * WARNING * * * * * * * * * * * * * * * * * * * * * * * * * * * �����������������������������������������������������������������������lice5/help/copying����������������������������������������������������������������������������������0000644�0001750�0001750�00000035435�11753124217�012563� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������! ! GNU GENERAL PUBLIC LICENSE ! Version 2, June 1991 ! Copyright (C) 1989, 1991 Free Software Foundation, Inc. 675 Mass Ave, Cambridge, MA 02139, USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/license����������������������������������������������������������������������������������0000644�0001750�0001750�00000002700�11753124217�012522� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� LiCe (Ircii Overlay Script Program) Copyright (C) 1993-2000 SrfRoG (cag@codehack.com) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to: Free Software Foundation, Inc. 675 Mass Ave, Cambridge, MA 02139, USA. Ircii is Copyright (c) 1991 by Michael Sandrof. Versions 2.11 to 2.2pre7 Copyright (c) 1991 by Troy Rollo. Versions 2.2pre8 and beyond (currently 2.9) copyright (c) 1992-96 Matthew Green. Some modifications made to the original ("stock") client: Copyright (C) 1993, 1996 Jeremy Nelson, Copyright (C) 1994 Jake Khuon, Copyright (C) 1995, 2000 Jeremy Nelson and others ("EPIC software labs"), the rights to which are granted non-exclusively to matthew green and are provided to you under the terms of this license. Screen is Copyright (c) 1993 Juergen Weigert, Michael Schroeder, Copyright (c) 1987 Oliver Laumann ����������������������������������������������������������������lice5/help/changelog��������������������������������������������������������������������������������0000644�0001750�0001750�00000051632�12126411067�013034� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������*** Changes in version 5.2.5 - 04/01/13 - Improved handling of /CTOG when you're not in a channel. - /CTOG now works with channel names like '##freebsd'. - Fixed a typo that stopped /DHOP for working. - Tiny fix for the status bar not being drawn correctly on restart of client. - Added AUTO_RECONNECT functionality from 'epic5/script/reconnect'. - Small fix to /HELP. It will no longer leave your PWD in the wrong place. This was causing console window managers like tmux to open new windows in LiCe's help directory regardless of where EPIC was started. - Fixed bug with /CTOG Q not being removed from the database. This caused the channel to be ignored again on restart. - Restored /CTOG Q to ignore the same types that LiCe has historically ignored. - Added "Security" line to whois format in "echoes" theme. - Any binds that temporarily put information in your status bar (like ^Wu for client uptime) would overwrite the correct STATUS_FORMAT if double line status bars were not used. This has been fixed. - Fixed /NOIG formatting when timestamps are enabled. - Fixed /PPL formatting when timestamps are enabled. - Fixed /CTOG T stripping all your channel sets if you entered nothing in the prompt. - /HELP, /NOIG, /PPL, /THEME, /PIC, netsplit list, and the tab completion list now format correctly with any length of timestamp format set by /SENSORS S. - KICK flood detection is now handled exclusively by the ON FLOOD hook which respects /CTOG O & /CTOG V. Thanks Sebek for reporting this. - Fixed masks used by flood protection when banning or adding to shitlist. - Removed /CTOG 2 (banning cycle dorks). JOIN/PART floods are still handled by LiCe's standard flood protection. *** Changes in version 5.2.4 - 08/14/12 - Fixed issue with /TOG Q, LiCe information was still being returned if you were CTCP VERSION'd. Thanks whitefang for reporting. - /SENS S now accepts spaces. Reported by Q. - Fixed bug with /HELP reported by whitefang. - Documentation cleanups and fixes. - You can disable the channel cache sync check by setting /SENS C to 0. This has been a problem for some users joining and then parting channels, though the ideal fix is to set the /SENS C to a higher figure (say, 30) *** Changes in version 5.2.3 - 05/18/12 - Optimised restoring the database on LiCe load - Much faster. - Fixed database routine to ensure only valid data is written to database when using /SET - Updated /CHANST to support halfop. - Lots of help file documentation updates. - Fixed some ^W binds not working if using a single status line. - /MSAY and /MME now support sending to all channels on all connected servers. - Fixed problems with /NOTE not working correctly. - Fixed /PAGER - Added lice.database to extra directory. You can view/edit your LiCe 5.2.0+ database using this script. *** Changes in version 5.2.2 - LiCe HalfOP Release! - 05/12/12 - Added support for the display of halfop status on join and to SC, CWHO, PPL and MASS. - Added /HOP and /DHOP plus documentation. - Updated most themes to support +h count in /SC footer. - Corrected theme bug causing some functions being called twice. - You can now install *.reason files in your .lice directory. If they're found, they will be used instead of the supplied ones in the lice install directory. Useful for global installs, allows each user to customise their gone/back/quit etc reason files individually. - Fixed bug where /UPDATE would still trigger even if the disable_update file existed. Thanks Q for reporting. - Fixes to many themes to fix blank lines on /WHOIS & /WHOWAS Reported by Q - Bug fixes to /SILENCE & added documentation for SILENCE to the user help. - Fixed /GONE -a not setting a message. - Enhanced /BACK to support -a, returning you to all connected servers. - /HELP no longer cares about case. *** Changes in version 5.2.1 - 04/30/12 - Fixed cleanup routines not being called when leaving a channel. - Updates to QuickStart guide and other help files. - We now instantly remove servers from database when deleted. - Small fix to /CTOG when not on a channel. *** Changes in version 5.2.0 - 04/25/12 - *MAJOR* changes have been made to LiCe! Please read these notes carefully. - /SAVE is no longer required. All settings are written to a database now in realtime. By default this is ~/.lice but you can override this with the IRCSAVE environment variable. - LiCe can be installed anywhere now. No longer is .irc used, this means that old settings _will not_ be migrated. Sorry! This also supports system-wide installs, please see GLOBAL in the help directory for more information. - Added QUITS and removed CTCPs from /CTOG Q - Fixed the friend !UNBAN command. A side-effect is that /sb no longer shows "extra" info. Use the -f flag to see details. - Fixed /TOG X when used on multiple servers. - Fixed /PPL to accept a channel argument as detailed in the help file. - Fixed /PPL breaking /WHO for the current chan. - Servers are now saved correctly (and automatically) - Other small fixes for reported issues. - CTOG Q no longer quiets topic changes. Doing so breaks topic update notifications! - Fixed /WTOG T to properly show topics with double quotes in them. - Fixed names display if /MTOG V isn't turned on. - This release will probably have bugs! Please report them! *** Changes in version 5.1.2 - Fixed stupid bug if you enabled/disabled /MTOG E *** Changes in version 5.1.1 - If /MTOG E is enabled, messages are written to disk in encoded format. This IS NOT encypted and is *simple* to decode. It only stops casual glances or text searches. - Heavily optimised MTOG E disk writes and initial messages load. This changes the save format. If you see oddness just /ERASE - Couple of small changes that HSOC noted. Thanks, HSOC. - Fixed mistakes in armitage theme. Reported by cripy_ - Added getting started help guide. /HELP QuickStart *** Changes in version 5.1.0 - Dropped the m from the version. No one else is developing LiCe, this is as official as it gets. - Update fixed! /UPDATE downloads files and gives you any important messages. This was all SrfRoG's work. I've just enhanced it a bit. - Fixed operview/messageview windows not showing reverse status lines. - Removed sping.gz from help/user, updated symlink & alias for the /RLAG command. - Added input prompt to bitchx theme. - Improved the wget routine to ensure that a fresh copy is always requested. This means if you're behind a cache you won't get stale news when you /UPDATE - Fixed problem where you got two messages logged in away log on public flood. - Fixed mask used on public flood. No longer as insane. - Implemented /MTOG E. When on, anything in your away log is also written to disk. This protects you against client crash/kill. As soon as you disable it the log file is deleted. When you enable it, any messages in the away log are saved to it. *** Changes in version 5.0.4m (modified) - Ugh. Embarassing mistake in /WTOG T function. Fixed. - We now unload the old theme before we load the new theme. This removes any custom on's etc the old theme may have set. Gives themers greater flexibility to changes things, without disrupting LiCe itself. - Properly fixed tab completion afer harassment from whitefang. - Small UI enhancements to the /TOG and /SENSORS systems. - Some other updates I'd missed to ensure things work with epic5. Upside is that oper-vision and ^wj will now complete correctly. *** Changes in version 5.0.3m (modified) - Added /et to quickly edit the current topic. Thanks whitefang for enhancement ideas. - Made /help accept two words, i.e. /help oper boot. This mirrors how help used to work in LiCe4. Requested by whitefang. - Updated all the theme's topicbar's. I'm no designer, feedback/changes are welcome! - Added two new binds, esc-l -> /PPL & esc-c -> /CLEAR [from Skuld] - Fixed /memo playback *** Changes in version 5.0.2m (modified) - Reimplemented help. It's an ugly bit of code but I'm still learning. It works well though. - Fixed topicbar not updating on theme change. - More optimizing /wtog t routine. - Autonick fixes and user notification clarity. - Fixed environment variable IRCNICK not settings /ar or /sens n on first time load. - If fmt.whois_bot or fmt.sc_bot is empty, a blank line will no longer be printed. Requested by whitefang for theme flexability. - Added new theme Erik3.2 by Erik (erik@z2e.org) - whitefang updated the BitchX theme. - Fixed a bunch of themes to support topicbar (/wtog t) - Fixed problem with chanlog -l (reported by whitefang!) *** Changes in version 5.0.1m (modified) - Unreleased test version with some internal changes and PF loader fixes. Bugfixes only! *** Changes in version 5.0.0m-beta (modified) - Welcome to the first beta of LiCe5! - Removed left overdebugging codes, cleaned up a few files. - epic5 1.1.2 is the minimum recommended version *** Changes in version 5.0.0m-rXX (modified) - Changed channel cache formatting, now uses fmt.topic_set. Keeps consitancy and looks better. - Fixed last few bugs in topline migration. Works as expected now! *** Changes in version 5.0.0m-r50 (modified) made by tjh [tim@muppetz.com] 6/06/09 - New version by tjh (tim@muppetz.com) working with epic5-1.0. - Converted all LiCe files to PF loader format. - New LiCe website! How long will this one last? - A lot of fixes for epic5. mask 11, LEAVE->PART, syntax issues. - Fixed tab completion. - Fixed themes to work with removal of REVERSE_STATUS in epic5 - Integrated /chanlog from wolf.scr addon for LiCe4. - Updated /WTOG T to use epic5's toplines feature. - Backed out some of HSOC's changes that seemed user specific. - Reverted /CTOG Q = Deafness. - Logging of invites while away. - Made auto-whois on inital message a toggle (MTOG i) - Added detection of server SILENCE support. A flood will now activate SILENCE for the isolate time, if server supports it. *** Changes in version 5.0.0i (independent) made by HSOC 22/03/04 - We welcome EPIC5... - various changes... - /CTOG Q now results in total deafness if preceded by /CTOG D (now stands for deaf as well). - integraded (copy) howl's help script from epic distribution. - fix wget to parse pages (NONBLOCKING). - fix /NEWS -r (again). - first public release (we are THERE!) 06/05/04 *** Changes in version 4.2.5i (independent) made by HSOC 10/28/03 - auto nick change on window queries (^w+q). - new lice.binds to fit latest EPIC4 client. - latest lice tab completion by srfrog. - updated themes. - fixed /TRANS and /NEWS (again!). - support for temporary ignores. (/SENSORS 2) - slightly more efficient flood protection. - /WINDOW KILL (^W+k) will now part you from ^W+j #chans - minor alias refurbishing and code refinement. * NOTICE: it is impossible to follow EPIC4 progress closely so starting from now I provide minimal fixes to this script _but_ I do not use EPIC4 to its full extend. New scripters are welcome. *** Changes in version 4.2.2i (independent) made by HSOC - 08/10/01 - /CTOG 2 JOIN/PART flood protection. (WILL BAN CYCLE FREAKS) - /BAN can now stack multiple modes. (+bbb) - /NEWS: -s works again, -t is gone. - Fixed possible security risk in some themes occured while /WTOG T was on. - Major /PARTY improvements + addons. - /COLOR will now kick/ban color text. (depends on /ctog CF) - Sockscanner now needs /CTOG J + /CTOG 2 ON to work. - This includes _ANY_ known bugs so consider it final product. *** Changes in version 4.2.1i (independent) made by HSOC - 04/22/01 - First public release of the tarball to celebrate the EPIC4.1.1 release. - Fix in userlist (now will op existing masks in multiple handles). (RoboHak) - Added /news -t International Headlines from the New York Times. - Minor refining of the code. - Added blackwind theme and updated armitage by Voland. - ARE WE THERE YET ???? (mail/suggestions?? hsoc@irc.gr) *** Changes in version 4.2.0i (independent) made by HSOC - 06/28/00 *LOTS* of help from the main man SrfRoG. Last edit: 10/8/00 - Fixed word/nick completion for epic4-510+ - New improved /BWORD now bans + accepts strings. - New improved flood protection will not ignore. people who are in the NO-IGNORE list (/IG nick ^msgs, ^all etc) - Default and HS themes now honor EPIC's /IG nick +public switch - New improved cache list now caches nick + time of the ban when possible. - Savelist updated to accept the + switch infront of masks. - /RBAN -l time removes bans older than "time". (in minutes) - /RBAN -n removes all bans made by this nick. - DEOP FLOOD protection (quite strict and not changeable) - /TOG X works in multiple servers. - New theme "merenta" (HS) - New theme "clice" (whitefang) - New theme "rage" by Chris O'Callaghan. - Will not attempt to remove old bans if already removed. - If you part a channel we keep your sets, dont save. (/CTOG) - /sdcc shows graphic status of dcc transfers. - Improved looks on /NOIG. - Added friendly /SILENCE interface. - Brought back Esc-e to reconnect to splitted servers. - Elite netjoin routine will silence JOINS PARTS CRAP on netjoins. (we use the isolate client value) - /RTAB [esc+r] now removes nicks from your tablist (thanks sot) - If /MTOG V, LiCe will automatically change to the new nick in tablist IF the person is in one of your current channels. - Fixed _proc.reply_action _annoying_ bug. (important when you join the same #chans in 2 servers) - /SBAR /MBAR /WBAR /DBAR added. (compact view of togs) - /CTOG now will set your normal channel togs if you are not in any channel. - /RAR removes auto-reply buffer. - /GDCC - skuld's gdcc by popular demand. - /CTOG D,J and N now actually work. - Will ban clones if tog J is on (according to $FLOOD_AFTER set) - Shows if a mask bans more than one person (if mtog v is on) - Added /ITIME Swatch's World Internet Time. - /TRANS fixed by SrfRoG. - Probably lots of minor fixes not worth mentioning. - Fixed friend command !PASS - reported by fahren - LiCe will no longer try to ignore servers - Heavy optimizations to userlist routines - /REOP wont try to op yourself - reported by Q - New "/WTOG T" for titlebar ... the text is setup from the themes. - Major /ADCC revamp, it now supports "files with spaces". (srfrog) - /DCC RESUME now resumes files regardless of $DCC_PATH - New /TOG R will make LiCe scan your channels and cycle for ops - /rdcc -a works as expected - Added /trace, /refriend, /fwall based on skuld - /SCAN scans your current channel for insecure SOCKS hosts. We use an indepedent c proggie for this purpose Also when /CTOG J is on and /TOG Q is off we scan hosts on join. You probably need to reompile sscan.c - /WTOG A allows to create seperate DCC/MSG windows. - Added cummulative deop/kick protection (checks for slow attempts) - Added adressbook (/BOOK) for /IMAIL (idea by Boldtrick) - Added /protect [esc+`] manually isolates the client and v/versa - /NEWS now checks for headlines from Reuters. - LOTS of trivial fixes. *** Changes in version 4.1.8,9 - 01/04/00 (Emergency Release 2) - Fixed more problems with themes UGH! - New "/MTOG 2" will toggle weather or not to touch the TAB reply list from auto-reply (public). - Fixed a problem detecting IRC Usermodes from env. *** Changes in version 4.1.7 - 01/04/00 (Emergency Release) - Fixed lame bug in userlist that would render it useless - found by fahren - /BAN wont remove/add the same ban (redundant) - found by fahren - Fixed some problems with themes. *** Changes in version 4.1.6 - 01/03/00 - Fixed last possible TAB bug, bleh - reported by Q - Fixed bug in /MTOG T - reported by Q - Auto Unban (/SENSORS 1) is disabled by default, to preserve the old behavior. /BAN -t will override this when used, as it should. - Fixed userlist cache for nick changes - reported by fahren - Fixed auto-unban for bans with "\"'s - reported by Charvel - Added a small delay to auto-nick to avoid self-nick collides, if this works ok, i'll add it to /SENSORS - suggested by Charvel - Fixed /SET REALNAME not to override your IRCNAME environment variable - reported by Martin Lucina - Changed the syntax for /TRANS, seems some people didnt like the old one. - delayed op/voice on join will only happen if the user isnt op/voice yet. - Fixed problem with patterns in the userlist - reported by fahren - Fixed kick when setting any keys - reported by fahren - The ban cache gets updated properly now - reported by fahren - Fixed ignores being saved over and over. - Keys f1-f12 point to the respective window, this might change in a future version (and it will). - Added two new themes (ktheme, khaze) from invalid - Added new theme (simplex) from Q - Added new theme (revamped lice3) from whitefang - Fixed /NEWS further, send me more comments on sites to add!! - Using /SET OUTPUT_REWRITE for timestamps now. *** Changes in version 4.1.5 - 11/29/99 - Fixed crash bug when trying to reconnect a server. - Added /IGNORE PARTS to "/CTOG Q" - Using new /SENSORS from whytefang - All bans are auto-remove by default, check /SENSORS - User /IGNORE's are now saved! (Channels always have saved under /CTOG) - Auto AWAY will only happen on the server you are idle, and mark you away only in that server. - Auto nick won't happen if a netsplit was detected recently, to avoid nick collisions. - Fixed /TOG X + Auto AWAY mess - reported by HSOC - Fixed nicks with slashes in TAB completion - reported by HSOC - Fixed old obscure bug in TAB completion, hopefully we're really fixed now. - Fixed BITCH MODE - reported by many people - Fixed Nethack protection - reported by wito - New command /NEWS added. ALPHA VERSION - New themes from HSOC *** Changes in version 4.1.4 - 11/03/99 (Emergency Release) - Fixed broken /BAN - Fixed broken tab completion - Fixed broken /SPING *** Changes in version 4.1.3 - 10/31/99 - New fmt hook "ftm.wallop_server" to break apart oper/server wallops. Also fixed fmt.wallop. - AutoNick (TOG A) now works from /SENSORS and updates automatically. - Added "/WTOG C" for dedicated DCC CHAT window. - Added "/MTOG 1" for alarming you of auto-reply activity in a window that isnt your current one. - New option "-t" for /BAN to specify temporary bans. - Added "/CTOG 1" to toggle the effectiveness of flood bans. - Syntax of /DEF was changed due to conflicts with phrase look ups. - Syntax of /TRANS was changed to add relay options. - /RLAG enhanced to handle SERVER PING responses. Also, aliases to /SPING for compatibility with the old skuld3 command. - Added new color pics for /PIC contributed by awol. - Added command /NEWS to read headlines from some popular online news sites. - Some changes in /SENSORS please check 'em out. - New themes added, check /THEME. *** Changes in version 4.1.2 - 09/17/99 - Fixed bug in theme "lice3" found by whitefang - Fixed bug in banlist found by aS2 - Fixed another bug in the userlist found by sage *** Changes in version 4.1.1 - 09/11/99 - Fixed more TAB bugs found. - Fixed DCC RESUME/DCC AUTOGET logic bugs. - Added new command /PPL, a port of skuld3's command. - Fixed +AV/+AO bug, it was an EPIC4 logic bug. - Changed the behavior of /BAN to allow multiple ban modes for the same user. See "/help oper ban" *** Changes in version 4.1.0 - 09/10/99 - Minor fixes to TAB completion, it works like the old one now. - Added new command /TRANS contributed by whitefang. It uses babelfish (http://babelfish.altavista.com) to translate text from different languages. See "/HELP user trans" - Changed "/CTOG O" (note reminders) to "/CTOG E". - Added two new channel toggles: "/CTOG O" and "/CTOG V" to control wether or not to kick ops/voices when they flood the channel. "/CTOG O" is on by default - dont kick ops on flood. - Server-oriented tab completion for /MSG (and friends). - Moved "/TOG V" (extended msgs) to "/MTOG", makes more sense there. - Moved "/TOG W" (msgs window) to "/WTOG", makes more sense there. - Added support for new EPIC4 /SAVE command. Load saved server list. *** Changes in version 4.0.11 - 07/25/99 - Rewrote TAB completion, again. - Fixes to WINDOW creation/switching mechanisms. - Many partyline fixes. *** Changes in version 4.0.10 - 07/24/99 - ChangeLog added back by popular demand. - New command /WTOG to control options for windows - Support for IrcNet's +e/+I channel modes. New commands: /BEXC /BINV /SI /SE /REXC /RINV to manipulate the +e/+I lists exactly like bans. - New BitchX theme contributed by whytefang. - New syntax theme contributed by whytefang. - Fixed several bugs in the partyline code. - New toggle option "/MTOG H" to highlight the auto-reply word(s) in the text string. VERY CPU EXPENSIVE! - New theme routines. - Improved TAB completion. Faster and smaller, the completion works anywhere in the string! - Improvements on existant code overall. *** Changes in version 4.0.9 - Unreleased ������������������������������������������������������������������������������������������������������lice5/help/credits����������������������������������������������������������������������������������0000644�0001750�0001750�00000005442�12126410162�012533� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� ascii by stain .a&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&a. $$ $$$$&a $' s `$' s `$$ $$ $$$$$$ $ $ $ $ $$ $$ $$$$$$ $ $ $ $ $$ $$ $ $ $ $ssss$ sssss$$ $$ $ $ $ $ $ $ $$ $$. $ ,$ .a. $ ,$. $ ,$$ `$$&@uou@&$$.a$$$$&@uou@&$$$&@uou@&$$' People responsible for the development of LiCe (directly or not) 3All major code by SrfRoG (cag@codehack.com) tjh (tim@muppetz.com) whitefang(tyler@ionise.org) HSOC 3Lots of help from asmodean, mikh, hop, #epic 3BETA Testing Team versions 1.x - 2.x Lamer asudem NetJunkie 3BETA Testing Team versions 2.x - 2.3.x asmodean casret kendi Benzoate Rival bUspAr vfx om ratphour SpyDer-X tempest Tantalos _Trojan_ moonwolf jewels kendi RainMkr Zelix cobol SLK Sabre mikh 3BETA Testing Team versions 2.3.x - 2.6.x assassin ashee casret Godsey greensun KrAzyCh|k nicole Sabre sate Quisition ratphour rival Sabre sage makaze tantalos 3BETA Testing Team versions 2.6.x - 3.1.x eternal_ casret Scuzzi asmodean Sabre ratphour ashee Coolio myc |mmortaL nroff 3BETA Testing Team versions 3.1.x - 4.x Sabre nroff GoNINzo HSOC LA Quisition zyeshan Q Charvel plan9 gaiden 3BETA Testing Team versions 5.x whitefang HSOC Q 3Debugging/patches (on different versions) tempest SpyDer-X SLK te0 Kasi sate Sabre Charvel HSOC whitefang tjh 3Helptext versions 1.x - 2.x moonwolf 3Helptext traductions versions 2.3.x - 2.6.x English - SrfRoG Italian - te0 German - Kasi Polish - Charvel 3FAQ (Frequent Asked Questions) text nicole, BusDriver, tjh 3Intro ASCII Picture soi 3Regards BasketCse WormWood 3Script writers that never get proper credit YaZoO CKeeper daemon hop Robey 3Special thanks to the people that code the ircII/ircII-EPIC Michael Sandrof, Troy Rollo, Matthew Green, Jeremy Nelson For the rest of the names and credits type /INFO. And, of course, thanks to all the 4000+ LiCe users net-wide! Special honour mention to Christopher Eden "SpyDer-X", who passed the way on December 26th, 1995. From your friends in #LiCe, rest in peace SpyDer... LiCe Copyright (c) 1993-2000 C.A.G. - All Rights Reserved. Copyright (c) 2001-2013 T.J.H. - All Rights Reserved. Send all comments, suggestions, etc.. to: tim@muppetz.com See also: [LICENSE] [COPYING] ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/todo�������������������������������������������������������������������������������������0000644�0001750�0001750�00000001550�11753437375�012063� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Latest update: 11th May 2012 ============================ This is a list of random bits and pieces I'll be working on for LiCe5 in the future. Feel free to email me, tim@muppetz.com with any thing else you'd like to see! * Remove all compatability stuff in lice.epic5, or at least use only what we need. I have started on this. Moving to serverctl and windowctl... * Update /ctog to support server+channel instead of just channel. [Hard] * Fix broken /adcc - Nearly. - DONE(?) * Update /noig to not display /ctog Q channels. * Make autocompelte work for HELP * Optimise server save routine. Write into lice.servers how many servers their are then delete them all using lice.del serverX ServerX+1 etc. Before rewrting. This will save CPU time etc. * Add NOTE into dbmctl * Use epic's built in log function, rather than the chanlog ^ON method? * Rebuild the themes... ��������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/oper/������������������������������������������������������������������������������������0000755�0001750�0001750�00000000000�12126724361�012124� 5����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/oper/rexc��������������������������������������������������������������������������������0000644�0001750�0001750�00000002011�11542462257�013006� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: REXC <nick/pattern>  Usage: REXC -<flag>  Usage: REXC <#exception number>  Removes exception(s) for a certain nick or exception(s) for user@host mask that matches with pattern(s). Flags: a ALL. Removes all the exceptions in your channel. s SELECTIVE. Removes only the exceptions you select. Only one flag can be used at a time. ie. /REXC SrfRoG unexcs "SrfRoG", if online. /REXC *.edu unexcs all *.edu hosts excned. /REXC *root@* unexcs all root users excned. /REXC *anon?????@*.fi unexcs host matching mask. /REXC *@* removes all excs. /REXC #2 removes exc number 2. /REXC -a removes all excs. /REXC -s prompts you before unexc. Note: pattern "*@*" and flag "-a" have the same effect. The third form of the command lets you specify excs to remove single excs by number or multiple excs if more than one number are selected. This command is only available on networks with +e channel mode support. See also: [BEXC] [KICK] [C] [RBAN] [RINV] �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/oper/adcc��������������������������������������������������������������������������������0000777�0001750�0001750�00000000000�12126724361�013766� 2../adcc���������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/oper/voice�������������������������������������������������������������������������������0000644�0001750�0001750�00000000323�11542462257�013156� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: VOICE <nick1 nick2 ... nicks>  Gives channel voice status (+v) to the specified nick(s) Voice status is required to speak in moderated (+m) channels. See also: [OP] [DOP] [QUIET] [MASS] �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/oper/dhop��������������������������������������������������������������������������������0000644�0001750�0001750�00000000240�11751674057�013006� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: DHOP <nick1 nick2 ... nicks>  Removes channel half-operator status (-h) from the specified nick(s) See also: [HOP] [QUIET] [VOICE] [MASS] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/oper/dop���������������������������������������������������������������������������������0000644�0001750�0001750�00000000231�11542462257�012631� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: DOP <nick1 nick2 ... nicks>  Removes channel operator status (-o) from the specified nick(s) See also: [OP] [QUIET] [VOICE] [MASS] �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/oper/binds�������������������������������������������������������������������������������0000777�0001750�0001750�00000000000�12126724361�014400� 2../binds��������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/oper/wlm���������������������������������������������������������������������������������0000644�0001750�0001750�00000000236�11542462257�012653� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: WLM [channel] Sends a wall of your last rec'v message. The channel is optional, defaults to your current channel. See also: [WALL] [WLN] ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/oper/op����������������������������������������������������������������������������������0000644�0001750�0001750�00000000237�11542462257�012473� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: OP <nick1 nick2 ... nicks>  Gives channel operator status (+o) to the specified nick(s) See also: [REOP] [DOP] [QUIET] [VOICE] [MASS] �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/oper/relnk�������������������������������������������������������������������������������0000644�0001750�0001750�00000000264�11542462257�013170� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: RELNK [nick]  Uses last recieved notice as the kick reason to "nick" If no nick is given, it acts like "/RELN". See also: [RELM] [RELN] [RELMK] [user TLN] ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/oper/binv��������������������������������������������������������������������������������0000644�0001750�0001750�00000002205�11542462257�013010� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: BINV <nick [flag] | pattern1 pattern2 ... patterns>  Channel mode (+I) that makes possible for the specified nick to JOIN your current channel even if channel is invite-only. Flags: a invites the IP address, eg. *!*@207.240.167.* c invites the country or inet organization, eg. *!*@*.net h invites the nick's host, eg. *!*@ppp-80.mistik.net f invites the nick's host with a pattern *!*@*mistik.net n Simple *!*user@*host inv mask (default) u invites only the username used by a nick, eg. *!*srfrog@* Exception types: c=country e=eleet n=normal s=site f=freebie u=username ie. /BINV SrfRoG if SrfRoG is online. /BINV cag@* srfrog@* lice@* multiple on usernames. /BINV srfrog@*.mistik.net *@*.com specific hosts /BINV SrfRoG!*@*.ed SrfRoG's under *.edu. Note: IP addresses and hacked usernames are appropiately masked and marked. Only one flag can be specified for a given nick. When pattern(s) are used, flags are ignored. Our BINV procedure is smart enough to remove any conflicting invites before doing the actual marking. See also: [user] [KICK] [BWORD] [BOOT] [BAN] [BEXC] �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/oper/reop��������������������������������������������������������������������������������0000644�0001750�0001750�00000000350�11542462257�013016� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: REOP [nick1 nick2 ... nicks] Gives channel operator status (+o) to the current channel ops. Along with any other nicks you specify. Useful for re-synchs. See also: [OP] [DOP] [QUIET] [VOICE] [MASS] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/oper/user��������������������������������������������������������������������������������0000777�0001750�0001750�00000000000�12126724361�014136� 2../user���������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/oper/bexc��������������������������������������������������������������������������������0000644�0001750�0001750�00000002220�11542462257�012770� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: BEXC <nick [flag] | pattern1 pattern2 ... patterns>  Channel mode (+e) that makes possible for the specified nick to JOIN your current channel even if banned. Flags: a exempts the IP address, eg. *!*@207.240.167.* c exempts the country or inet organization, eg. *!*@*.net h exempts the nick's host, eg. *!*@ppp-80.mistik.net f exempts the nick's host with a pattern *!*@*mistik.net n Simple *!*user@*host exc mask (default) u exempts only the username used by a nick, eg. *!*srfrog@* Exception types: c=country e=eleet n=normal s=site f=freebie u=username ie. /BEXC SrfRoG if SrfRoG is online. /BEXC cag@* srfrog@* lice@* multiple exempts on usernames. /BEXC srfrog@*.mistik.net *@*.com exempts on specific hosts /BEXC SrfRoG!*@*.edu exempts SrfRoG's under *.edu. Note: IP addresses and hacked usernames are appropiately masked and marked. Only one flag can be specified for a given nick. When pattern(s) are used, flags are ignored. Our BEXC procedure is smart enough to remove any conflicting exempts before doing the actual marking. See also: [user] [KICK] [BWORD] [BOOT] [BAN] [BINV] ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/oper/ban���������������������������������������������������������������������������������0000644�0001750�0001750�00000002454�11542462257�012620� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: /BAN [-a|-c|-h|-i|-f|-g|-p|-n|-u|-t <secs>] <nick1 nick2 ...> Usage: /BAN <ban1 ban2 ...> Channel mode (+b) that makes impossible for the specified nick to JOIN your current channel. Flags: a BANs the IP address, eg. *!*user@37.54.65.* c BANs the country or top-level domain, eg. *!*@*.edu h BANs the nick's host, eg. *!*@ppp-80.aol.com i BANs the entire C-class IP, eg. *!*@37.54.65.* p BANs the nick's host with a pattern *!*@*aol.com n Simple *!*user@ppp*.host ban mask (default) g Generic *!*user@*.host ban mask f Fuck-off ban, eg. *!*@u*-*-*.dialup.planetinternet.be u BANs only the username used by a nick, eg. *!*rowan@* t Temporary BAN. The ban is removed after X seconds. Bantypes: c=country e=eleet n=normal s=site f=fuck-off u=username ie. /BAN Vassago Lamer1 /BAN -af Vassago Lamer1 /BAN root@* rowan@* anon*@* /BAN rowan@*.lame.net *@*.aol.com /BAN Vassago!*@*.edu Lamer1 /BAN -t 60 Vassago Note: IP addresses and hacked usernames are appropiately masked and banned. Only one flag can be specified for a given nick. When pattern(s) are used, flags are ignored. Our ban procedure is smart enough to remove any conflicting bans before doing the actual banning. See also: [user] [KICK] [BWORD] [BOOT] [BEXC] [BINV] ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/oper/rk����������������������������������������������������������������������������������0000644�0001750�0001750�00000000675�11542462257�012477� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: RK <-flags> [reason of kick]  Randomly kicks nicks from your current channel. Flags: a KICKs anyone, ops and non-ops. o KICKs channel operators randomly (if any) l KICKs non-channel operators randomly (if any) If the reason of the KICK is not specified, the default message will be used. ie. /RK -o Ops are LAIM!!! /RK -l LAIM is LAYME!! /RK -a EyE YaM NuTZ!!! See also: [KICK] [BOOT] [user USERLIST] �������������������������������������������������������������������lice5/help/oper/wln���������������������������������������������������������������������������������0000644�0001750�0001750�00000000235�11542462257�012653� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: WLN [channel] Sends a wall of your last rec'v notice. The channel is optional, defaults to your current channel. See also: [WALL] [WLM] �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/oper/kick��������������������������������������������������������������������������������0000644�0001750�0001750�00000003107�12077113061�012763� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: K <nick or nick!user@host pattern> [reason]  Usage: KA <nick or nick!user@host pattern> [reason]  Usage: KB <nick or nick!user@host pattern> [reason]  Usage: KI <nick or nick!user@host pattern> [reason]  Usage: KF <nick or nick!user@host pattern> [reason]  Usage: KH <nick or nick!user@host pattern> [reason]  Usage: KU <nick or nick!user@host pattern> [reason]  Usage: MK <nick1 nick2 ... > [:reason]  These commands perform different type of kicks to a nick or group of nicks on your current channel. When "nick" is specified, a fast kick is done to that given nick. If a nick!user@host pattern is specified, then all matched nicks are kicked. Reasons are optional, the program will pick one, if none are provided. K - Kick. Plain kick, matching users. KA - Kick + IP Ban. Like a normal "/BAN". KB - Kick + Ban. Like a normal "/BAN". KF - Kick + Fuck-off-and-go-to-Hell ban (drastic host ban). KH - Kick + Host ban. People from that host are out. KU - Kick + User ban. Bans all users with same userhost. MK - Multiple kicks. Kick one or more users at once. KBI - Kick + Ban + Ignore. Ignores the users you are kicking. KI - Same as "/KBI". Edit the file "~/.lice/kick.reasons" to customize the default reason. Examples: /K mikh you momo! kicks mikh from current channel /KB *@*.edu school sucks! kick and bans all users on the *.edu domain. /KI *osek* you lamer!! kick ban ignores all users with the word "osek" contained in their address. See also: [BAN] [RBAN] [USER] [BWORD] [RK] [BOOT] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/oper/relmk�������������������������������������������������������������������������������0000644�0001750�0001750�00000000265�11542462257�013170� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: RELMK [nick]  Uses last recieved message as the kick reason to "nick" If no nick is given, it acts like "/RELM". See also: [RELM] [RELN] [user TLM] [RELNK] �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/oper/quiet�������������������������������������������������������������������������������0000644�0001750�0001750�00000000327�11542462257�013204� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: QUIET <nick1 nick2 ... nicks>  Removes channel voice status (-v) from the specified nick(s) Voice status is required to speak in moderated (+m) channels. See also: [OP] [DOP] [VOICE] [MASS] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/oper/rinv��������������������������������������������������������������������������������0000644�0001750�0001750�00000001767�11542462257�013044� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: RINV <nick/pattern>  Usage: RINV -<flag>  Usage: RINV <#inv number>  Removes invite(s) for a certain nick or invite(s) for user@host mask that matches with pattern(s). Flags: a ALL. Removes all the invites in your channel. s SELECTIVE. Removes only the invites you select. Only one flag can be used at a time. ie. /RINV SrfRoG uninvs "SrfRoG", if online. /RINV *.edu uninvs all *.edu hosts invned. /RINV *root@* uninvs all root users invned. /RINV *anon?????@*.fi uninvs host matching mask. /RINV *@* removes all invs. /RINV #2 removes inv number 2. /RINV -a removes all invs. /RINV -s prompts you before uninv. Note: pattern "*@*" and flag "-a" have the same effect. The third form of the command lets you specify invs to remove single invs by number or multiple invs if more than one number are selected. This command is only available on networks with +I channel mode support. See also: [BINV] [KICK] [C] [RBAN] [REXC] ���������lice5/help/oper/rban��������������������������������������������������������������������������������0000644�0001750�0001750�00000002162�11542462257�012776� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: RBAN <nick/pattern>  Usage: RBAN -<flag>  Usage: RBAN <#ban number>  Removes ban(s) for a certain nick or ban(s) for user@host mask that matches with pattern(s). Flags: a ALL. Removes all the bans in your channel. s SELECTIVE. Removes only the bans you select. l DURATION. Removes bans older than minutes specified. n NICK. Removes all bans made by nick specified. Only one flag can be used at a time. ie. /RBAN SrfRoG unbans "SrfRoG", if online. /RBAN *.edu unbans all *.edu hosts banned. /RBAN *root@* unbans all root users banned. /RBAN *anon?????@*.fi unbans host matching mask. /RBAN *@* removes all bans. /RBAN #2 removes ban number 2. /RBAN -a removes all bans. /RBAN -s prompts you before unban. /RBAN -n evilfrog removes all evilfrog's bans. /RBAN -l 30 removes bans older than 30 minutes. Note: pattern "*@*" and flag "-a" have the same effect. The third form of the command lets you specify bans to remove single bans by number or multiple bans if more than one number are selected. See also: [BAN] [KICK] [C] [REXC] [RINV] ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/oper/mass��������������������������������������������������������������������������������0000644�0001750�0001750�00000001307�11751175147�013020� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: MASS <-flag> [pattern [reason of kick]] Performs multiple commands in your current channel. Flags: -o MassOP (+o) non-op'd nicks. -d MassDEOP (-o) op'd nicks. -h MassHOP (+h) non-halfop'd nicks. -n MassDHOP (-h) halfop'd nicks. -v MassVOICE (+v) non-op'd nicks. -q MassQUIET (-v) voice'd nicks. -k MassKICK all nicks. -l MassKICK non-op'd nicks (lamers) i.e /MASS -o *@*usf.edu MassOP all nicks from *@*usf.edu /MASS -l *@*.com MassKICK non-opped nicks at *@*.com /MASS -v MassVOICE all nicks that match *@* /MASS -v *@* Same as above. /MASS -l *.edu school sux!!! /MASS -k *.com paying for internet is lame!!!! See also: [OP] [DOP] [VOICE] [QUIET] [KICK] �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/oper/bword�������������������������������������������������������������������������������0000644�0001750�0001750�00000001466�11542462257�013177� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: BWORD [-fslr] <#channel> [list of words] Kickbans nicks that say the words specified with /BWORD for that channel. To BAN a word in all channels, use #* as the channel. Examples: "/BWORD -f #LiCe phoenix kewl" - Bans 'phoenix' and 'kewl' from '#LiCe'. "/BWORD -s &hut op me" - Bans string 'op me' from '&hut'. "/BWORD #* osek" - Bans 'osek' from all your channels. "/BWORD -l #Linux" - Shows banned words in #Linux "/BWORD -l" - Shows banned words in current channel. "/BWORD -r #LiCe" - Removes all banned words from '#LiCe'. "/BWORD -r" - Removes banned words from current #. "/BWORD -a" - Removes all banned words. See also: [KICK] [BAN] [USER] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/oper/oper��������������������������������������������������������������������������������0000644�0001750�0001750�00000000140�11542462257�013013� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� 3 11@3..11@ ( Channel operator commands ) 3 (\--/) / 3 (.>__<.) 3 ^^^ ^^^ ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/oper/wall��������������������������������������������������������������������������������0000644�0001750�0001750�00000000417�11542462257�013014� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: WALL [channel] <message>  Sends a messages to channel operators on one of your channels. The channel name is optional, defaults to your current channel. You must be a channel operator in order to send WALLs. See also: [MSAY] [MME] [WLM] [WLN] �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/oper/hop���������������������������������������������������������������������������������0000644�0001750�0001750�00000000246�11751175147�012644� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: HOP <nick1 nick2 ... nicks>  Gives channel half-operator status (+h) to the specified nick(s) See also: [REOP] [DHOP] [QUIET] [VOICE] [MASS] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/oper/boot��������������������������������������������������������������������������������0000644�0001750�0001750�00000000230�11542462257�013011� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: BOOT <nick>  Kicks and bans a nick from all the channels you are currently in (if found), at once. See also: [KICK] [BAN] [user] ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/help/oper/c�����������������������������������������������������������������������������������0000644�0001750�0001750�00000000701�11542462257�012273� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Usage: C [<-flag> | <-/+>modes [arguments]]  Changes the channel modes for your current channel. If no modes or arguments are specified, the current channel modes are displayed. Flags: -c Clears all modes from channel. -k Removes any channel key -1 Changes channel modes to "+inst" only. -2 Changes channel modes to "+nst" only. -3 Changes channel modes to "+nt" only. See also: [T] ���������������������������������������������������������������lice5/help/index������������������������������������������������������������������������������������0000644�0001750�0001750�00000001147�11753124217�012213� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� All about LiCe commands and internals: 3 11@3..11@ [ user ] General user commands. 3 (\--/) [ oper ] Channel operator commands. 3 (.>__<.) [ party ] Partyline module. 3 ^^^ ^^^ [ binds ] Some special key binds included. Other topics: 3 11@3..11@ [CREDITS] Who made this? 3 (\--/) [COPYING] GNU GENERAL PUBLIC LICENSE 3 (.>__<.) [LICENSE] LiCe Public License 3 ^^^ ^^^ [ChangeLog] Changes from previous versions [QuickStart] A guide to using LiCe �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/oops.reasons����������������������������������������������������������������������������������0000644�0001750�0001750�00000000771�11542462257�012614� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������bleh, wrong msg. Stupid me, I sent you a wrong message. Pardon moi. Next time I send you someone else's message, please *slap* me :P Sorry, that message was not meant for you. :) Oops! my fingers crossed. That message was meant for someone else! Sorry, that message was not meant for you. :) damn, my tab key got screwed. sorry wrong nick. get off my tab list! :) j/k i typed the wrong nick. Sorry, that message was not meant for you. :) Oops! my fingers crossed. That message was meant for someone else! �������lice5/extra/����������������������������������������������������������������������������������������0000755�0001750�0001750�00000000000�12126724361�011352� 5����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/extra/lice.color������������������������������������������������������������������������������0000644�0001750�0001750�00000002000�11546244257�013324� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������### color is lame!!! PACKAGE LiCe; ALIAS color (chan,switch) { IF (switch) { IF (switch == [OFF]) { XECHO -B Removed COLORBAN in $chan; ^ASSIGN -color[$hash_32bit($chan)]; ^ON #-PUBLIC 31 -'% $chan **'; RETURN; }; XECHO -B Now enforcing COLORBAN in $chan; ^ASSIGN color[$hash_32bit($chan)] 1; ^ON #-PUBLIC 31 '% $chan **' { IF (!ischanop($servernick() $1)) {RETURN}; @ :serv = servernum(); @ :chan.hash = hash_32bit($1); IF (iscset(F $chan.hash)) { _proc.ban $1 $serv $mask(2 $userhost($0)) $0 $chan.hash; }; IF (iscset(C $chan.hash)) { _proc.quote_add $serv KICK $1 $0 :Brought to you by TECHNICOLOR(c); _proc.quote_flush $serv; }; }; }{ IF (chan == [ON] || chan == [OFF]) {/COLOR $C $chan}{ @ ch = (chan ? chan : C); uecho COLORBAN in $ch is ${color[$hash_32bit($ch)]?[ON]:[OFF]}; uecho Usage: /COLOR <#channel> [ON|OFF]; }}; }; lice5/extra/lice.scan�������������������������������������������������������������������������������0000644�0001750�0001750�00000002660�11542462257�013144� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������## addon scan for insecure socks by using a seperate proggie PACKAGE LiCe # our prog @ ss.scan = [~/.irc/extra/sscan] ON ^EXEC_ERRORS "scan*" # ON ^EXEC "scan% Y *" # ON ^EXEC "scan% N *" { @ :lame = rest(1 $strip(\(\) $~)) XEVAL -S $5 { IF (iscset(C $4) && ischanop($servernick() $3)) { _proc.quote_add $5 KICK $3 $2 :$6- IF (iscset(F $4)) { _proc.ban $3 $5 $lame $2 $4 }{_proc.quote_flush $5} }{ IF (iscset(F $4) && ischanop($servernick() $3)) { _proc.ban $3 $5 $lame $2 $4 } } IF (ismset(U)) {_proc.away_save LiCe licelogd $9-} IF (iscset(S $4)) { ^_proc.ul_add Shit SOCKS $uhc($lame) ^_proc.ul_chg_chan Shit SOCKS + $3 KH Don't IRC from open SOCKS servers. _proc.ul_save QUIET } } } ALIAS scan { @ :sc.chan = @ ? [$0] : C FE ($channel($sc.chan)) sc_1 { @ :sc.nick = rest(2 $sc_1) @ :sc.host = userhost($sc.nick) UNLESS (rmatch($X $sc.host)) { _proc.join_socks $sc.nick $sc.host $sc.chan $hash_32bit($sc.chan) $servernum() } } } ALIAS _proc.join_socks (nick,host,chan,hash,serv) { IF (!isset(Q) && dcnt[$hash] < 3) { @ :uid = pass(~ $before(@ $host)) ? strip(~ $before(@ $host)) : before(@ $host) @ :uhos = after(@ $host) ^EXEC -NAME scan[$host] $ss.scan $uid $uhos "$nick" "$chan" $hash $serv #XEVAL -S $serv {^WAIT %scan[$host]} } } #HS/00 ��������������������������������������������������������������������������������lice5/extra/lice.passcmd����������������������������������������������������������������������������0000644�0001750�0001750�00000001243�12126407634�013643� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # IRC Script Program. For use with ircii-EPIC5 clients. # Copyright (C) 2013 whitefang (tyler@ionise.org) # # --------------------------------------------------------------------------- # All code by whitefang, unless specified. Visit http://lice.muppetz.com # --------------------------------------------------------------------------- ALIAS passcmd { IF (@) { ^ASSIGN pass.in $*; UNLESS (match(\$pass $*)) {iecho The identifier '\$pass\' must be in the arguments.;RETURN}; INPUT -NOECHO "Password: " IF (@) { @ pass.out = sar(g/\$pass/$*/$pass.in); /^$pass.out; purge pass; }; } {uecho Usage: /PASSCMD <command>}; }; # tjbh/13 �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/extra/lice.sdcc�������������������������������������������������������������������������������0000644�0001750�0001750�00000002156�11542462257�013134� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������## a decent dcc interface! PACKAGE LiCe ALIAS my.dots @FUNCTION_RETURN = left($0 $1$repeat($0 .)) ALIAS sdcc { ^ON ^DCC_LIST * { IF (([$0]==[GET] || [$0]==[SEND]) && [$3]==[Active]) { ^SET FLOATING_POINT_MATH ON @ :per.real = [${100 * [$6] / [$5]}] @ :per.total = [${32 * [$6] / [$5]}] ^SET FLOATING_POINT_MATH OFF @ :per.so = repeat($before(. $per.total) #) XECHO -W SDCC 10$[-4]0 12$[9]2\: 7${pass(/ $7) ? [$[25]after(-1 / $7)] : [$[25]7]} 12[10$my.dots(31 $per.so)11$[2]per.real\%12] IF (iswset(E)) {^TIMER 10 CLEAR;${K}DCCST} } } //DCC LIST ^ON ^DCC_LIST - } # ripped from skuld... ALIAS gdcc { IF ([$0]) { @ _gd.n = [$0] @ _gd.p = strlen($1) ? [$1] : [*] ^ON ^DCC_LIST * { IF ([$0]==[GET] && [$3]==[Offered] && match(*$_gd.n* $2) && match(*$_gd.p* $7)) { WAIT -CMD //^DCC GET $2 $7 @ _gd.t++ } } //DCC LIST UNLESS (_gd.t) {iecho No files matching $_gd.p offered in SEND mode by $_gd.n} ^ON ^DCC_LIST - purge _gd }{iecho Usage: ${K}GDCC <nick/pattern> [filename pattern]} } ##HS/00 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/extra/lice.fwall������������������������������������������������������������������������������0000644�0001750�0001750�00000001740�11542462257�013323� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # IRC Script Program. For use with ircii-EPIC4 clients. # Copyright (C) 2000 SrfRoG (cag@codehack.com) # # --------------------------------------------------------------------------- # All code by HSOC, unless specified. Visit http://lice.codehack.com # --------------------------------------------------------------------------- PACKAGE LiCe ALIAS fwall { @ :fw_chan = ischannel($0) ? [$0] : C @ :fw_hash = hash_32bit($fw_chan) @ :fw_text = (fw_chan == [$0]) ? [$1-] : [$0-] @ fw_send = [] FE ($channel($fw_chan)) fw_1 { @ :fw_nick = rest(2 $fw_1) @ :fw_mode = get_cookie(User $fw_chan $fw_nick $fw_hash) IF (fw_mode > 0) {PUSH fw_send $fw_nick} } UNLESS (strlen($fw_send) == 0 || strlen($fw_text) == 0) { @ fw_who = [fWall:$fw_chan\\($numwords($fw_send)\) $fw_text] mecho $fmt.wallop_me($fw_chan $numwords($fw_send) $fw_text) _proc.loop_send $winserv() NOTICE fw_send fw_who }{uecho Usage\: /FWALL <#channel> message} purge fw } ��������������������������������lice5/extra/dcrypt-4-epic4.irc����������������������������������������������������������������������0000644�0001750�0001750�00000021507�11542462257�014532� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#### #### Dynamicrypt, (c)1996 Slasher. Mods by SrfRoG/asmodean/HSOC #### v1.0m, public release. #### #### This code brought to you by Slasher: 100% elite, 100% cryptic. #### #### 02/25/96 : Basic encryption / decryption scheme active. #### 02/28/96 : Added user friendly symbols to indicate en/de-cryption #### 03/04/96 : Fixed [Bogus Encryption] errors in decrypt sequence. #### 03/07/96 : Added multichannel decryption support. #### 03/08/96 : Fixed repeating of last message error. #### 05/11/96 : Enhanced for ircii-2.8.2 #### - Added fec() support, for faster proc. #### - Lots of hacks to make it faster/safer. #### 07/11/96 : added ON PUBLIC/ON PUBLIC_OTHER hooks to avoid multiple- #### leaks. Also changed the public mask to ^O^O to avoid fake #### encryption. #### 04/24/98 : Enhanced for EPIC 3.004 by asmodean #### The encryption now designates blocks of encrypted text, #### deliminated by ascii 5 chars (^E), instead of being #### hard coded to public text. Encrypted blocks anywhere #### are automatically decrypted and underlined. #### 06/07/98 : Changed the function names to avoid conflict with internal #### EPIC client functions. Now dencrypt() and ddecrypt(). #### 02/11/98 : Added more aliases eglobops/ewall(ops). #### 09/16/00 : Ported for EPIC4 by HSOC (FINALLY) #### added multiple hooks for decoding. @ crypt.ver = [v1.0m] @ crypt.dec = chr(5) @ crypt.alpha = [abcdefghijklmnopqrstuvwxyz] alias e { if ([$0]) { MSG $C $crypt.dec$crypt.dec$cencrypt($*) }{uecho [?] USAGE: /E <text to encrypt>} } alias em emsg alias en enotice alias emsg if ([$0]) {msg $0 $crypt.dec$crypt.dec$cencrypt($1-)}{uecho [?] USAGE: /EMSG <nick/channel> <message to send encrypted>} alias enotice if ([$0]) {notice $0 $crypt.dec$crypt.dec$cencrypt($1-)}{uecho [?] USAGE: /ENOTICE <nick/channel> <notice to send encrypted>} alias ekill if ([$0]) {kill $0 $crypt.dec$crypt.dec$cencrypt($1-)}{uecho [?] USAGE: /EKILL <nick> <kill message to encrypt>} alias eme if ([$0]) {me $crypt.dec$crypt.dec$cencrypt($*)}{uecho [?] USAGE: /EME <action text to say encrypted>} alias eglobops if ([$0]) {globops $crypt.dec$crypt.dec$cencrypt($*)}{uecho [?] USAGE: /EGLOBOPS <globop message to send encrypted>} alias ewallops if ([$0]) {wallops $crypt.dec$crypt.dec $cencrypt($*)}{uecho [^B?^B] USAGE: /EWALLOPS <wallop message to send encrypted>} alias etopic if ([$0]) { if (ischannel($0)) { topic $0 $crypt.dec$crypt.dec$cencrypt($1-) }{etopic $C $*} }{echo [?] USAGE: /ETOPIC [channel] <topic to set encrypted>} alias ekick if ([$0]) { if (ischannel($0)) { kick $0 $1 $crypt.dec$crypt.dec$cencrypt($2-) }{ekick $C $*} }{echo [?] USAGE: /EKICK [channel] <nick> <kick message to encrypt>} alias ewall { IF (@) { IF (ischannel($0) && onchannel($N $0)) { ^LOCAL wall.chan $0 ^LOCAL wall.msg $1- }{ ^LOCAL wall.chan $C ^LOCAL wall.msg $* } UNLESS (ischanop($N $wall.chan)) {ECHO $fmt.banner_alert() Warning: You are not channel operator on $ch($wall.chan)} @ :_e.out = cencrypt($wall.msg) IF (left(1 $R) == [u]) { @ :wall.many = numwords($chops($wall.chan)) QUOTE NOTICE @$wall_chan :$crypt.dec$crypt.dec eWall:$wall.chan\($wall.many\) $_e.out }{ @ wall_list = chops($wall.chan) @ :wall.many = numwords($chops($wall.chan)) @ wall_list = remw($N $wall_list) ^ASSIGN wall_send $crypt.dec$crypt.dec eWall:$wall.chan\($wall.many\) $_e.out _proc.loop_send $winserv() NOTICE wall_list wall_send } mecho >>12-11e7Wall:12-$wall.chan\\($wall.many\) $wall.msg }{uecho [?] USAGE: /EWALL [channel] <message>} } ^on ^public '% % $crypt.dec$crypt.dec*' { xecho -w $chanwin($1) 11e\: $fmt.public($0 $1 $decrypt($tolower($mid(2 256 $2-)))) } ^on ^public_other '% % $crypt.dec$crypt.dec*' { xecho -w $chanwin($1) 11e\: $fmt.public_other($0 $1 $decrypt($tolower($mid(2 256 $2-)))) } ^on ^public_msg '% % $crypt.dec$crypt.dec*' { xecho -w $chanwin($1) 11e\: $fmt.public_msg($0 $1 $decrypt($tolower($mid(2 256 $2-)))) } ^on ^public_notice '% % $crypt.dec$crypt.dec*' { xecho -w $chanwin($1) 11e\: $fmt.public_notice($0 $1 $decrypt($tolower($mid(2 256 $2-)))) } ^on ^action '% % $crypt.dec$crypt.dec*' { if (ischannel($1)) { xecho -w $chanwin($1) 11e\: $fmt.action($0 $1 $decrypt($tolower($mid(2 256 $2-)))) }{ echo 11e\: $fmt.action_me($0 $1 $decrypt($tolower($mid(2 256 $2-)))) } } ^on ^kick '% % % $crypt.dec$crypt.dec*' { @ :text = ([$0] == servernick()) ? fmt.kick_me($0 $1 $2 $decrypt($tolower($mid(2 256 $3-)))) : fmt.kick($0 $1 $2 $decrypt($tolower($mid(2 256 $3-)))) xecho -w $chanwin($2) 11e\: $fmt.banner_kick() $text } ^on ^kill '% % % % $crypt.dec$crypt.dec*' { xecho -w OV$servernum() 11e\: ### KILL $0\: $1 killed by $2 \($decrypt($tolower($mid(2 256 $4-)))\) } ^on ^332 '% % $crypt.dec$crypt.dec*'{ xecho -w $chanwin($1) 11e\: $fmt.banner_chan() $fmt.topic_set($1 $decrypt($tolower($mid(2 256 $2-)))) } ^on ^topic '% % $crypt.dec$crypt.dec*' { xecho -w $chanwin($1) 11e\: $fmt.banner_chan() $fmt.topic($0 $1 $decrypt($tolower($mid(2 256 $2-)))) } ^on ^wallop '% % $crypt.dec$crypt.dec*' { xecho -w OV$servernum() 11e\: $fmt.banner_server() $fmt.wallop($0 $1 $decrypt($tolower($mid(2 256 $2-)))) } ^on ^server_notice '% ??? %GLOBAL% -- % % $crypt.dec$crypt.dec*' { xecho -w OV$servernum() 11e\: $fmt.banner_server() #GLOBOPS# $fmt.wallop($5 null $decrypt($tolower($mid(2 256 $6-)))) } ^on ^msg '% $crypt.dec$crypt.dec*' { if (ismset(M)) {_proc.away_save $0 $userhost() $decrypt($tolower($mid(2 256 $1-)))} mecho 11e\: $fmt.msg($0 $decrypt($tolower($mid(2 256 $1-)))) $chr(7) } ^on ^msg_group '% % $crypt.dec$crypt.dec*' { if (ismset(M)) {_proc.away_save $0 $userhost() [$1] $decrypt($tolower($mid(2 256 $2-)))} mecho 11e\: $fmt.msg_group($0 $1 $decrypt($tolower($mid(2 256 $2-)))) } ^on ^notice '% $crypt.dec$crypt.dec*' { if (ismset(M)) {_proc.away_save $0 $userhost() $decrypt($tolower($mid(2 256 $1-)))} mecho 11e\: $fmt.notice($0 $decrypt($tolower($mid(2 256 $1-)))) } ^on ^send_action '% $crypt.dec$crypt.dec*' { if (ischannel($0)) { xecho -w $chanwin($0) 11e\: $fmt.send_action($0 $decrypt($tolower($mid(2 256 $1-)))) }{ echo 11e\: $fmt.send_action_me($0 $decrypt($tolower($mid(2 256 $1-)))) } } ^on ^send_msg '% $crypt.dec$crypt.dec*' { mecho 11e\: $fmt.send_msg($0 $decrypt($tolower($mid(2 256 $1-)))) } ^on ^send_notice '% $crypt.dec$crypt.dec*' { mecho 11e\: $fmt.send_notice($0 $decrypt($tolower($mid(2 256 $1-)))) } ^on ^send_public '% $crypt.dec$crypt.dec*' { xecho -w $chanwin($0) 11e\: $fmt.send_public($0 $decrypt($tolower($mid(2 256 $1-)))) } alias decrypt { @ _d.csum = index($mid(0 1 $0-) $crypt.alpha) @ _d.rand = index($mid(1 1 $0-) $crypt.alpha) @ _d.line = mid(2 256 $0-) @ _d.outs = [] fec ($_d.line) _d { @ _d.indx = index($_d $crypt.alpha) if ((_d.indx - _d.rand) < 0) {@ _d.mask = 26 + _d.indx - _d.rand} {@ _d.mask = _d.indx - _d.rand} if (_d.indx >= 0) {@ _d.outs = [$_d.outs]##[$mid($_d.mask 1 $crypt.alpha)]} {@ _d.outs = [$_d.outs]##[$_d]} } @ _d.fchr = index($mid(0 1 $_d.outs) $crypt.alpha) @ _d.lchr = index($mid(${@_d.outs - 1} 1 $_d.outs) $crypt.alpha) if (_d.lchr > _d.fchr) {@ _d.mask = _d.lchr - _d.fchr}{@ _d.mask = _d.fchr - _d.lchr} if ([$_d.csum]==[$_d.mask]) {@ function_return = [$_d.outs]} {@ function_return = [$_d.line (no encryption)]} } alias cencrypt { @ _e.line = tolower($0-) @ _e.rand = rand(24) + 1 @ _e.outs = [] fec ($_e.line) _e { @ _e.indx = index($_e $crypt.alpha) if ((_e.indx + _e.rand) > 25) {@ _e.mask = _e.indx + _e.rand - 26} {@ _e.mask = _e.indx + _e.rand} if (_e.indx >= 0) {@ _e.outs = [$_e.outs]##[$mid($_e.mask 1 $crypt.alpha)]} {@ _e.outs = [$_e.outs]##[$_e]} } @ _e.fchr = index($mid(0 1 $_e.line) $crypt.alpha) @ _e.lchr = index($mid(${@_e.line - 1} 1 $_e.line) $crypt.alpha) if (_e.lchr > _e.fchr) {@ _e.csum = _e.lchr - _e.fchr}{@ _e.csum = _e.fchr - _e.lchr} @ _e.csum = mid($_e.csum 1 $crypt.alpha) @ function_return = [$_e.csum]##[$mid($_e.rand 1 $crypt.alpha)]##[$_e.outs] } alias dcrypt crypt alias crypt { echo echo @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ echo @@ DynamiCrypt $crypt.ver\ @@ Encrypt : /E <text to encrypt> @@ echo @@---------------------@@ Decrypt : automatic. @@ echo @@ (c)1996 Slasher @@ Mods: SrfRoG (srfrog@srfrog.com) @@ echo @@==========================================================@@ echo @@ 100% elite, 100% cryptic @@ echo @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ echo } eval echo *** Slasher's \DynamiCrypt $crypt.ver\ now loaded. /CRYPT for help. @ lice(DynamiCrypt $crypt.ver) @ srand($time()) �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/extra/lice.database���������������������������������������������������������������������������0000644�0001750�0001750�00000011614�11755560256�013767� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# lice.database # --------------------------------------------------------------------------- # LiCe Database Editor/Viewer for epic5's $dbmctl() # --------------------------------------------------------------------------- # # Written by tjh 2012 - tim@muppetz.com # # Much help and guidance from #epic on efnet. Couldn't have written this # without the help of hop, caf, CrazyEddy & many other helpful friendly souls # in there. Thanks! # # IF (word(2 $loadinfo()) != [pf]) { LOAD -pf $word(1 $loadinfo()); RETURN; }; # database editor version ASSIGN db.ev 1.1; UNLESS (id.v) {XECHO -B What? You need to have loaded LiCe 5.2.0+ first before you can edit its Database!;RETURN} XECHO; XECHO +--------------------------------------------------------+; XECHO Database Editor v$db.ev for LiCe $id.v; XECHO; XECHO /dblist - Database list/search commands; XECHO /dbedit - Database editing commands; # This routine lets you edit/change/delete and create database variables. # Which is kinda useful really for an "editor" right? ALIAS dbedit { UNLESS (([$0]) && ([$1])) { XECHO -B Usage: /dbedit <option>; XECHO -B; XECHO -B -c <variable> Create <variable>; XECHO -B -e <variable> Edit the contents of <variable>; XECHO -B -r <variable> Rename <variable>; XECHO -B -d <variable> Delete <variable>; RETURN; }; UNLESS (finddb($1) && ($0 != [-c])) {XECHO ERROR: $1 doesn't exist in the database;RETURN}; @ dbvar = [$1]; @ dbval = dbmctl(READ $lice.fd $1); SWITCH ($0) { (-e) { INPUT "New value for $1: " { IF (@ && [$*] != [$dbval]) { @ dbmctl(CHANGE $lice.fd $dbvar $*); XECHO $dbvar changed to: $*; }{ XECHO $dbvar unchanged; }; }; XTYPE -literal $dbmctl(READ $lice.fd $dbvar); }; (-d) {@ dbmctl(DELETE $lice.fd $dbvar); XECHO $dbvar Deleted;} (-c) { INPUT "New value for new variable $1: " { @ dbmctl(ADD $lice.fd $dbvar $*); XECHO $dbvar created with value: $*; }; }; (-r) { INPUT "Rename $1 to: " { @dbmctl(ADD $lice.fd $0 $dbmctl(READ $lice.fd $dbvar)); @dbmctl(DELETE $lice.fd $dbvar); XECHO $dbvar renamed to: $0; }; }; }; }; # This routine resets the database to the start and loops over them all returning # their values. The dump is completed when the next read of the database returns # null. Some filtering/search capabilities are included, these still loop over # the whole database as there's no way to search within in. # ALIAS dblist { UNLESS (@) { XECHO -B Usage: /db <option>; XECHO -B; XECHO -B -k List all database variables.; XECHO -B -a List all database variables and contents.; XECHO -B -f <text> Find variable names containing <text>; XECHO -B -d <text> Find variable contents containing <text>; XECHO -B -ac List all database variables and contents, stripped of control chars; XECHO -B -fa <text> Find variable names containing <text>, stripped of control chars; XECHO; RETURN; }; XECHO; XECHO $repeat(15 ) [Database: $lice.save_path/lice.db; @ :endfile = :position = :matchcount = 0; XECHO Variable $repeat(37 ) Value; XECHO $repeat(70 =); WHILE (endfile != 1) { IF (position == 0) { @ item = dbmctl(NEXT_KEY $lice.fd 1); }{ @ item = dbmctl(NEXT_KEY $lice.fd 0); }; @ position++; @ itemdata = dbmctl(READ $lice.fd $item); UNLESS (item) { @ endfile = 1; @ position--; XECHO $repeat(70 =); IF (matchcount == 0) {XECHO Nothing found!}{XECHO Total Items: $matchcount}; }{ SWITCH ($0) { (-a) { XECHO $item $repeat(${45 - strlen($item)} ) $itemdata; @ matchcount++}; (-k) { XECHO $item; @ matchcount++}; (-ac) { XECHO $stripcrap(ALL $item) $repeat(${45 - strlen($item)} ) $stripcrap(ALL $itemdata); @ matchcount++}; (-f) { IF (match(*$1* $item)) {XECHO $item $repeat(${45 - strlen($item)} ) $itemdata; @ matchcount++}}; (-fa) { IF (match(*$1* $stripcrap(ALL $itemdata))) {XECHO $stripcrap(ALL $item) $repeat(${45 - strlen($item)} ) $stripcrap(ALL $itemdata); @ matchcount++}}; (-d) { IF (match(*$1* $itemdata)) {XECHO $item $repeat(${45 - strlen($item)} ) $itemdata; @ matchcount++}}; (*) { XECHO Unsupported flag;RETURN}; }; }; }; }; # We walk through the database looking for $query # If we find it exactly, we return 1 to the calling # function. Lets you confirm a variable name exists. ALIAS finddb (query) { @ :endfile = :position = 0; WHILE (endfile != 1) { IF (position == 0) { @ item = dbmctl(NEXT_KEY $lice.fd 1); }{ @ item = dbmctl(NEXT_KEY $lice.fd 0); }; @ position++; IF ([$item] == [$query]) {RETURN 1}; UNLESS (item) { @ endfile = 1; @ position--; }; }; }; }; #tjh/12 ��������������������������������������������������������������������������������������������������������������������lice5/extra/koko.irc��������������������������������������������������������������������������������0000644�0001750�0001750�00000002031�11542462257�013014� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# MaSS-Deop protection for LiCe4 PACKAGE LiCe ON #-MODE -99 "% % *-o* *" { IF (match($0 $servernick($servernum())) || pass(. $0) || !ischanop($servernick($servernum()) $1)) {RETURN} IF (rmatch($2 *-oo* *-o*-o*)) { @ :serv = servernum() @ :bmask = mask(11 $0!$userhost($0)) @ :chan_hash = hash_32bit($1) @ :mode = get_cookie(User $1 $0 $chan_hash) #IF ((mode & 10) == 10) {RETURN} IF (mode & 4) {RETURN} IF (iscset(C $chan_hash)) { _proc.quote_add $serv KICK $1 $0 :[DEOP FLOOD] - kicking after $count(o $2) modes. IF (iscset(F $chan_hash)) { _proc.ban $1 $serv $bmask $0 $chan_hash }{_proc.quote_flush $serv} }{ #IF (!iscset(C $chan_hash) && !iscset(F $chan_hash)) { _proc.mode_add $serv $1 -o $0 _proc.mode_flush $serv $1 } IF (ismset(U)) {_proc.away_save LiCe licelogd [$1] FAST DEOP FLOOD from $0 \($userhost($0)\)} UNLESS (isset(Q)) {_proc.quote_add $serv NOTICE $0 :[DEOP FLOOD]: $randread($main.reason_revenge)} } } #HS/00 �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/extra/lice.trace������������������������������������������������������������������������������0000644�0001750�0001750�00000003112�11542462257�013307� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������## Easy trace interface... ## Based on skuld3 (asmodean) ALIAS trace { UNLESS (@) {uecho Usage: /TRACE -lmosuz [server];RETURN} @ :trace.foo = getopt() @ :serv = strlen($1) ? [$1] : [$0] WHILE (option = getopt(optopt optarg lmosuz $*)) { SWITCH ($option) { (l) {@ trace.mask #= [L]} (m) {@ trace.mask #= [M]} (o) {@ trace.mask #= [O]} (s) {@ trace.mask #= [S]} (u) {@ trace.mask #= [U]} (z) {@ trace.mask #= [Z]} (!) {uecho Usage: /TRACE -lmosuz [server];RETURN} } } UNLESS (strlen($trace.mask)) {/TRACE -lmosuz $serv}{//TRACE $serv} } ON ^200 * {IF (pass(L $trace.mask)) {echo [ $[4]1 ] through $4 \($2\)}} ON ^201 * {IF (pass(Z $trace.mask)) {echo [ $[4]1 ] trying... $3 \(class $2\)}} ON ^202 * {IF (pass(Z $trace.mask)) {echo [ $[4]1 ] handshake $3 \(class $2\)}} ON ^203 * {IF (pass(Z $trace.mask)) {echo [ $[4]1 ] *unknown* $3 \(class $2\)}} ON ^204 * {IF (pass(O $trace.mask)) {echo [ $[4]1 ] $before(\[ $3)\[$after(\[ $3) \(class $2\)}} ON ^205 * {IF (pass(U $trace.mask)) {echo [ $[4]1 ] $3 \(class $2\)}} ON ^206 * {IF (pass(S $trace.mask)) {echo [ $[4]1 ] $stu($before(\[ $5)) connected by ${left(1 $6) == [*] ? [UNKNOWN] ## [@] ## before(\[ $5) : [${left(8 $6) == [AutoConn] ? left(8 $6) ## [@] ## after(@ $6) : [${ismset(V) ? [$6] : before(! $6)}]}]}}} ON ^207 * {IF (pass(Z $trace.mask)) {echo [ $[4]1 ] service $3-}} ON ^208 * {IF (pass(Z $trace.mask)) {echo [ $[4]1 ] newtype $3-}} ON ^209 * {IF (pass(M $trace.mask)) {echo [ Misc ] \($1 $2\)\: $3}} ON ^262 * {^ASSIGN -trace.mask} #HS'00 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/extra/darkness.irc����������������������������������������������������������������������������0000644�0001750�0001750�00000001472�11542462257�013673� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������### darkness oh oh oh great one! ### do we really want to see all notices? :p PACKAGE dark ALIAS darkness dark $* ALIAS dark (switch) { IF (switch) { IF (switch == [OFF]) { ^ASSIGN -dsw XECHO -B Removed filter of annoying server notices in $servername() ^ON ^SERVER_NOTICE -"% ??? %NOTICE% -- K-lined *" ^ON ^SERVER_NOTICE -"% ??? %NOTICE% -- Autokilled *" ^ON ^SERVER_NOTICE -"% ??? %NOTICE% -- SSL_accept() *" RETURN } @ dsw = 1 XECHO -B Now filtering annoying server notices in $servername() ^ON ^SERVER_NOTICE "% ??? %NOTICE% -- K-lined *" # ^ON ^SERVER_NOTICE "% ??? %NOTICE% -- Autokilled *" # ^ON ^SERVER_NOTICE "% ??? %NOTICE% -- SSL_accept() *" # }{uecho Usage: /DARKNESS [ON|OFF] \(currently ${dsw ? [ON] : [OFF]}\)} } #HS/03 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/extra/sscan.c���������������������������������������������������������������������������������0000644�0001750�0001750�00000013160�11542462257�012632� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* sockcheck.c By BigDawg dawg@nuthin.nu - [ http://www.rootshell.com/ ] * gatecheck.c By BigDawg - [ http://www.rootshell.com/ ] * Compile: gcc sockcheck.c -o sockcheck * * DINOS AND CHARON AND MOURGOS AND DOCTORX: THANK YOU -HS * * I'd like to say thanks to all who have helped me throughout the past years. */ #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <string.h> #include <sys/types.h> #include <sys/socket.h> #include <sys/time.h> #include <sys/stat.h> #include <netinet/in.h> #include <netdb.h> #include <fcntl.h> #include <errno.h> #include <signal.h> #include <stdio.h> #include <time.h> #include <stdarg.h> #include <ctype.h> #include <arpa/inet.h> extern int hexstr; static int sockfd; static int sockfd2; #define socknull 5 #define socktimeout 8 #define longtime 10 #undef SKIP_GR int flag; static char sockip[1024],a[1024],b[1024],c[1024],d[1024]; void sigalrm_handler(int sig) { close(sockfd2); if (flag == 9) { printf("Y check timeout %d seconds exceeded\n", socktimeout); } else printf("N %s %s %s %s Do NOT attempt to grow a Brain! (%s)\n", a,b,c,d,sockip); exit(9); } int main(int argc, char *argv[]) { // char sockip[1024]; // char a[1024],b[1024],c[1024],d[1024]; if (argc < 3) { fprintf(stderr, "USAGE: sscan ident host [args]\n"); return 1; } strcpy(sockip, argv[2]); if (argc >= 3) { strcpy(a, ""); strcpy(b, ""); strcpy(c, ""); strcpy(d, ""); } if (argc >= 4) strcpy(a, argv[3]); if (argc >= 5) strcpy(b, argv[4]); if (argc >= 6) strcpy(c, argv[5]); if (argc >= 7) strcpy(d, argv[6]); #ifdef SKIP_GR if ((sockip[strlen(sockip)-2] == 103) && (sockip[strlen(sockip)-1] == 114) ) { printf("Y this is GR domain, skipping check\n"); exit(0); } #endif signal(SIGALRM, sigalrm_handler); flag = 9; alarm(longtime); sockcheck(sockip,a,b,c,d); printf("Y %s\n", sockip); } int sockcheck(char *host, char *ba, char *bb, char *bc, char *bd) { int s = 1000; int c, d, r, e, f; int i = 0; char keystring[] = { 0x04, 0x01, 0x1A, 0x0B, 0xC7, 0x02, 0xD2, 0xF1, 0x62, 0x6C, 0x61, 0x68, 0x74, 0x65, 0x73, 0x74, 0x00 }; char hexstr[20]; char tmpstr2[20] = "\0\0\0\0\0\0"; char buf[20]; fd_set gateset; struct timeval tv; struct in_addr MyHostAddr; struct hostent *he; struct sockaddr_in sin; sockfd2 = socket(AF_INET, SOCK_STREAM, 0); sin.sin_family = AF_INET; sin.sin_port = htons(1080); sin.sin_addr.s_addr = inet_addr(host); if (sin.sin_addr.s_addr == INADDR_NONE) { he = gethostbyname(host); if (!he) { close(sockfd2); printf("Y %s was not an open socks server(1)\n", host); exit(1); } memcpy(&sin.sin_addr, he->h_addr, he->h_length); } signal(SIGALRM, sigalrm_handler); flag = 9; alarm(longtime); e = connect(sockfd2, (struct sockaddr *) &sin, sizeof(sin)); if (e == -1) { close(sockfd2); printf("Y %s was not an open socks server (2)\n",host); exit(2); } if (e == 0) { signal(SIGALRM, sigalrm_handler); flag = 3; alarm(socknull); FD_ZERO(&gateset); FD_SET(sockfd2, &gateset); tv.tv_sec = 10; tv.tv_usec = 0; d = select(sockfd2 + 1, NULL, &gateset, NULL, &tv); if (d == 0) { close(sockfd2); printf("Y %s was not an open socks server (3)\n", host); exit(3); } send(sockfd2, keystring, 17, 0); tv.tv_sec = 10; tv.tv_usec = 0; f = select(sockfd2 + 2, &gateset, NULL, NULL, &tv); if (f) { read(sockfd2, tmpstr2, 10); strcpy(hexstr, "HEX:"); sprintf(buf, "%d ", tmpstr2[i]); strcat(hexstr, buf); if ((tmpstr2[0] == 0) && (tmpstr2[1] == 90) /*&& (tmpstr2[2] == 0)*/) { close(sockfd2); printf("N %s %s %s %s Don't IRC from open socks4+ servers (%s)\n", ba,bb,bc,bd,host); exit(0); } if (tmpstr2[0] == 5) { if (tmpstr2[1] == 0) { close(sockfd2); printf("N %s %s %s %s Don't IRC from open socks5 servers (%s)\n", ba,bb,bc,bd,host); exit(0); } else if (tmpstr2[1] != 2) { close(sockfd2); printf("N %s %s %s %s Don't IRC from open socks5b servers (%s)\n", ba,bb,bc,bd,host); exit(0); } } // printf("Y %s was not an open socks server (4)\n", host); close(sockfd2); // exit(4); wingate(host,ba,bb,bc,bd); // now scan for wingates } } } int wingate(char *host, char *ba, char *bb, char *bc, char *bd) { int wgsock; int e, d, numbytes; char buf[1024]; struct in_addr MyHostAddr; struct hostent *he; struct sockaddr_in sin; fd_set gateset; struct timeval tv; sockfd = socket(AF_INET, SOCK_STREAM, 0); sin.sin_family = AF_INET; sin.sin_port = htons(23); sin.sin_addr.s_addr = inet_addr(host); if (sin.sin_addr.s_addr == INADDR_NONE) { he = gethostbyname(host); if (!he) { close(sockfd); printf("Y %s was not an open wingate (1)\n", host); exit(1); } memcpy(&sin.sin_addr, he->h_addr, he->h_length); } e = connect(sockfd, (struct sockaddr *) &sin, sizeof(sin)); if (e == -1) { close(sockfd); printf("Y %s was not an open wingate (2)\n", host); exit(2); } if (e == 0) { signal(SIGALRM, sigalrm_handler); flag = 3; alarm(socknull); FD_ZERO(&gateset); FD_SET(sockfd, &gateset); tv.tv_sec = 10; tv.tv_usec = 0; d = select(sockfd + 4, NULL, &gateset, NULL, &tv); if (d == 0) { close(sockfd); printf("Y %s was not an open wingate (3)\n", host); exit(3); } numbytes = read(sockfd, buf, sizeof(buf)); buf[numbytes] = '\0'; if (numbytes >= 9) { numbytes = read(sockfd, buf, sizeof(buf)); buf[numbytes] = '\0'; if ((strcmp(buf, "WinGate>") == 0) || (strncmp (buf, "Too many connected users - try again later", numbytes) == 0)) { close(sockfd); printf("N %s %s %s %s Don't abuse misconfigured WinGates (%s)\n", ba,bb,bc,bd,host); exit(0); } } } } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/extra/cooltalk.scr����������������������������������������������������������������������������0000644�0001750�0001750�00000014664�11542462257�013712� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Dir. : ~/Deturbo # Name : tool.talk # Desc. : Cool Talking Tool - DESS # Version : 5.0 # ToolId : T7 # Date : 1/6/95 # Author : Converted by FRobOS!bcoats@indiana.edu # : See additional credits below. # Size : 11009 # Attrib. : rw-r--r-- # # This tool is a collection of CoolTalk aliases converted to # DESS originally taken from SuperPak by TG!cedras@rahul.net. # Original CoolTalk written by Sunil!sunil@silicone.che.sdsmt.edu and # drow!drow@phantom.com. Thanks to all these people for providing the # source of this tool. # DESS tool setup #^De.Tool.id T7 TALK 5.0 FRobOS!bcoats@indiana.edu IF ([$De.Version]==[]) {^alias De.Echo echo *** $0- ^alias HelpTalk T7.HelpTalk echo *** Talk loading - a DESS tool script echo *** /HelpTalk for help. } ALIAS BSAY { IF (strlen($0)) { @ :txt = ischannel($0) ? [$1-] : [$0-] @ :wid = strlen(SAY1 $txt) / 2 MSG ${ischannel($0)?[$0]:[$C]} $repeat($wid 2,10$chr(219)10,2$chr(219)) MSG ${ischannel($0)?[$0]:[$C]} 10,2$chr(219)11 $txt 2,10$chr(219) MSG ${ischannel($0)?[$0]:[$C]} $repeat($wid 2,10$chr(219)10,2$chr(219)) }{ECHO *** Usage: /BSAY [#channel] <text>} } # DESS tool ^assign T7.Sane.Set abcdefghijklmnopqrstuvwxyz ^assign T7.Leet.Set.0.0 a ^assign T7.Leet.Set.0.1 A ^assign T7.Leet.Set.0.2 @ ^assign T7.Leet.Set.0.3 a ^assign T7.Leet.Set.1.0 b ^assign T7.Leet.Set.1.1 B ^assign T7.Leet.Set.1.2 |3 ^assign T7.Leet.Set.1.3 b ^assign T7.Leet.Set.2.0 c ^assign T7.Leet.Set.2.1 C ^assign T7.Leet.Set.2.2 ( ^assign T7.Leet.Set.2.3 [ ^assign T7.Leet.Set.3.0 d ^assign T7.Leet.Set.3.1 D ^assign T7.Leet.Set.3.2 c| ^assign T7.Leet.Set.3.3 |) ^assign T7.Leet.Set.4.0 e ^assign T7.Leet.Set.4.1 E ^assign T7.Leet.Set.4.2 3 ^assign T7.Leet.Set.4.3 [- ^assign T7.Leet.Set.5.0 f ^assign T7.Leet.Set.5.1 F ^assign T7.Leet.Set.5.2 /= ^assign T7.Leet.Set.5.3 ph ^assign T7.Leet.Set.6.0 g ^assign T7.Leet.Set.6.1 G ^assign T7.Leet.Set.6.2 9 ^assign T7.Leet.Set.6.3 g ^assign T7.Leet.Set.7.0 h ^assign T7.Leet.Set.7.1 H ^assign T7.Leet.Set.7.2 # ^assign T7.Leet.Set.7.3 |-| ^assign T7.Leet.Set.8.0 i ^assign T7.Leet.Set.8.1 I ^assign T7.Leet.Set.8.2 1 ^assign T7.Leet.Set.8.3 ! ^assign T7.Leet.Set.9.0 j ^assign T7.Leet.Set.9.1 J ^assign T7.Leet.Set.9.2 _/ ^assign T7.Leet.Set.9.3 j ^assign T7.Leet.Set.10.0 k ^assign T7.Leet.Set.10.1 K ^assign T7.Leet.Set.10.2 |< ^assign T7.Leet.Set.10.3 k ^assign T7.Leet.Set.11.0 l ^assign T7.Leet.Set.11.1 L ^assign T7.Leet.Set.11.2 |_ ^assign T7.Leet.Set.11.3 /_ ^assign T7.Leet.Set.12.0 m ^assign T7.Leet.Set.12.1 M ^assign T7.Leet.Set.12.2 |\/| ^assign T7.Leet.Set.12.3 m ^assign T7.Leet.Set.13.0 n ^assign T7.Leet.Set.13.1 N ^assign T7.Leet.Set.13.2 |\| ^assign T7.Leet.Set.13.3 /v ^assign T7.Leet.Set.14.0 o ^assign T7.Leet.Set.14.1 O ^assign T7.Leet.Set.14.2 0 ^assign T7.Leet.Set.14.3 () ^assign T7.Leet.Set.15.0 p ^assign T7.Leet.Set.15.1 P ^assign T7.Leet.Set.15.2 /> ^assign T7.Leet.Set.15.3 p ^assign T7.Leet.Set.16.0 q ^assign T7.Leet.Set.16.1 Q ^assign T7.Leet.Set.16.2 (,) ^assign T7.Leet.Set.16.3 q ^assign T7.Leet.Set.17.0 r ^assign T7.Leet.Set.17.1 R ^assign T7.Leet.Set.17.2 /~ ^assign T7.Leet.Set.17.3 /^ ^assign T7.Leet.Set.18.0 s ^assign T7.Leet.Set.18.1 S ^assign T7.Leet.Set.18.2 5 ^assign T7.Leet.Set.18.3 $ ^assign T7.Leet.Set.19.0 t ^assign T7.Leet.Set.19.1 T ^assign T7.Leet.Set.19.2 + ^assign T7.Leet.Set.19.3 ~|~ ^assign T7.Leet.Set.20.0 u ^assign T7.Leet.Set.20.1 U ^assign T7.Leet.Set.20.2 (_) ^assign T7.Leet.Set.20.3 |_| ^assign T7.Leet.Set.21.0 v ^assign T7.Leet.Set.21.1 V ^assign T7.Leet.Set.21.2 \/ ^assign T7.Leet.Set.21.3 v ^assign T7.Leet.Set.22.0 w ^assign T7.Leet.Set.22.1 W ^assign T7.Leet.Set.22.2 |/\| ^assign T7.Leet.Set.22.3 \/\/ ^assign T7.Leet.Set.23.0 x ^assign T7.Leet.Set.23.1 X ^assign T7.Leet.Set.23.2 >< ^assign T7.Leet.Set.23.3 x ^assign T7.Leet.Set.24.0 y ^assign T7.Leet.Set.24.1 Y ^assign T7.Leet.Set.24.2 `/ ^assign T7.Leet.Set.24.3 v/ ^assign T7.Leet.Set.25.0 z ^assign T7.Leet.Set.25.1 Z ^assign T7.Leet.Set.25.2 2 ^assign T7.Leet.Set.25.3 ~/_ alias T7.CoolTalk.1 {@ T7.Sane.Str = [$*] @ T7.Sane.Len = @T7.Sane.Str @ T7.Leet.Str = [] @ T7.Leet.Len = 0 while (T7.Leet.Len < T7.Sane.Len) {@ T7.Leet.Ind = index($mid($T7.Leet.Len 1 $T7.Sane.Str) $T7.sane.set) if (T7.Leet.Ind > -1) {@ T7.Leet.Str = T7.Leet.Str ## T7.leet.set[$T7.Leet.Ind][$rand(4)] } {@ T7.Leet.Str = T7.Leet.Str ## mid($T7.Leet.Len 1 $T7.Sane.Str) } @ T7.Leet.Len = T7.Leet.Len + 1 } @ function_return = T7.Leet.Str ^assign -T7.Leet.Len ;^assign -T7.Leet.Str ;^assign -T7.Leet.Ind ^assign -T7.Sane.Str ;^assign -T7.Sane.Str } alias T7.CoolTalk.2 {@ T7.In = [$0-] @ T7.Out = [] @ T7.Sz = @T7.In @ T7.Pt=0 while (T7.Pt < T7.Sz) {@ T7.Out = [$mid($T7.Pt 1 $T7.In)] ## T7.Out @ T7.Pt = T7.Pt + 1 } @ function_return= T7.Out } ^alias Me1 //me $T7.CoolTalk.1($0-) ^alias Say1 //say $T7.CoolTalk.1($0-) ^alias Msg1 //notice $0 $T7.CoolTalk.1($1-) ^alias Topic1 //topic $C $T7.CoolTalk.1($0-) #^alias Describe1 //describe $0 $T7.CoolTalk.1($1-) #^alias Reply1 Reply $0 $T7.CoolTalk.1($1-) ^alias Me2 //me $T7.CoolTalk.2($0-) ^alias Say2 //say $T7.CoolTalk.2($0-) ^alias Msg2 //notice $0 $T7.CoolTalk.2($1-) ^alias Topic2 //topic $C $T7.CoolTalk.2($0-) #^alias Describe2 //describe $0 $T7.CoolTalk.2($1-) #^alias Reply2 Reply $0 $T7.CoolTalk.2($1-) ^alias T7.HelpTalk { echo $bold$under\CoolTalk$bold$under $boldVersion 5.0 FroboS echo echo CoolTalk is a collection of talking/msging/etc alaises taken from echo Various Sources(SuperPak, Infinity, jfk), and modified slightly to fit echo DESS format to work with deturbo. Original CoolTalk co-authored by echo Sunil!sunil@silicone.che.sdsmt.edu and drow!drow@phantom.com. echo echo Usage: /me# /say# /msg# /topic# /describe# echo (Where # is a number value 1-2 ie. /me2 <text>) echo echo Samples: echo 1 $T7.CoolTalk.1(Sample Text) 2 $T7.CoolTalk.2(Sample Text) } ##-end ����������������������������������������������������������������������������lice5/gone.reasons����������������������������������������������������������������������������������0000644�0001750�0001750�00000001343�11542462257�012560� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������we'll be back after a few words from our sponsor. idle is to perfection. away is to godliness. idle is to perfection. away is to godliness. idle is to perfection. away is to godliness. bbl, i'm petting my pet boa constrictor. recording messages. leave yours after the tone. *beep* bbl, the dog pissed on the rug ... stop whatever you are doing until i return. i am not here. please, leave a message. brb my leg is on fire ... practicing new lurking techniques. practicing new lurking techniques. at class ... Advanced Idle Management 5060 can't you see that i am away?! 1 2 3 testing. can you see me? i finally managed to get off this damn thing. i finally managed to get off this damn thing. i finally managed to get off this damn thing. ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/themes/���������������������������������������������������������������������������������������0000755�0001750�0001750�00000000000�12126724361�011514� 5����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/themes/ashee����������������������������������������������������������������������������������0000644�0001750�0001750�00000011660�11752707471�012537� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # Description: for ashee # Author: whitefang (thall@magenet.com) # PACKAGE LiCeTheme # status sets SET CLOCK ON SET CLOCK_24HOUR OFF SET STATUS_AWAY A SET STATUS_CHANNEL %C SET STATUS_CHANOP @ SET STATUS_CLOCK [%T] SET -STATUS_CPU_SAVER SET STATUS_DOES_EXPANDOS OFF SET STATUS_FORMAT 16,2%T %*%N%# %@%C%+ %W%A %H%B %F%M%Q %>[Lag: %2] [%1:%0] SET STATUS_FORMAT1 16,2%T %*%N%# %@%=%C%+ %A %>%Q %M [%1:%0] SET STATUS_FORMAT2 16,2[Win: %W%R%F] %H%B %D%>[Lag: %2] [%3] SET STATUS_HOLD Press ENTER SET STATUS_HOLD_LINES :%B SET -STATUS_INSERT SET STATUS_MAIL [Mail: %M] SET STATUS_MODE (+%+) SET STATUS_NICKNAME %N SET STATUS_NOTIFY (%F) SET STATUS_NO_REPEAT ON SET STATUS_OPER * SET STATUS_OVERWRITE (Overwrite) SET STATUS_QUERY [Query: %Q] SET STATUS_SERVER %S SET STATUS_TRUNCATE_RHS ON SET STATUS_UMODE (+%#) SET STATUS_VOICE + SET STATUS_WINDOW + # event formats ALIAS fmt.back_msg RETURN is back. $0- ALIAS fmt.gone_msg RETURN is gone. $0- ALIAS fmt.playmsg (num,tot,mtime,mnick,muh,mtext) { ECHO [Num: $num/$tot - $stime($mtime) \($tdiff2(${time() - mtime}) ago\)] ECHO 10From: $mnick \($muh\) @ :width = word(0 $geom()) - 2 @ :fix = (strlen($mtext) > width) ? CONTINUED_LINE ## mtext : mtext ECHO $fix } ALIAS fmt.playmsg_prompt RETURN [$0/$1] Enter option (ENTER to continue, ? for help): ALIAS fmt.usergreet RETURN [$0] $1- ALIAS fmt.action RETURN * $0${iscurchan($1)?[]:[\:$1]} $2- ALIAS fmt.action_me RETURN > \($N\) * $0 $2- ALIAS fmt.auto_reply RETURN <$0> $2- ALIAS fmt.auto_reply_other RETURN <$0:$1\> $2- ALIAS fmt.channel_nick RETURN $1 is now known as $2 ALIAS fmt.channel_signoff RETURN Signoff $0\: $1 \($2-\) ALIAS fmt.ctcp_channel RETURN CTCP $toupper($2) request: $0 \($userhost()\) to $1 ALIAS fmt.ctcp_me RETURN CTCP $toupper($2) request: $0 \($userhost()\) to You ALIAS fmt.ctcp_server RETURN CTCP $toupper($2) request: $0 \($userhost()\) to $1 ALIAS fmt.dcc_chat RETURN =$0= $1- ALIAS fmt.invite RETURN $0 \($2\) invites you to $1 ALIAS fmt.join RETURN ${iscurchan($1)?[$0]:[$0]} \($2\) joined $1 at $Z ALIAS fmt.kick RETURN $1 kicked ${iscurchan($2)?[$0]:[$0]} from $2 \($3-\) ALIAS fmt.kick_me RETURN $1 kicked You from $2 \($3-\) ALIAS fmt.leave RETURN ${iscurchan($1)?[$0]:[$0]} \($2\) left $1 at $Z ALIAS fmt.mode RETURN Mode change \"$2-\" on $1 by ${iscurchan($1)?[$0]:[$0]} ALIAS fmt.mode_bans RETURN Mode stack \($2\) on $1 by ${iscurchan($1)?[$0]:[$0]} ALIAS fmt.mode_me RETURN User mode change \"$N $2-\" on $S ALIAS fmt.mode_server RETURN Mode hack \"$2-\" on $1 \($0\) ALIAS fmt.msg RETURN 12[ 10$uh($0)\ 12] $1- ALIAS fmt.msg_group RETURN 12[ 10$uh($0)\ 12] \($1:$S\) $2- ALIAS fmt.notice RETURN [$0!$userhost()\] $1- ALIAS fmt.notify_signoff RETURN Signoff: $0 at $Z ALIAS fmt.notify_signon RETURN Signon: $0 at $Z ALIAS fmt.notify_signon_uh RETURN Signon: $0 \($1\) at $Z ALIAS fmt.public RETURN <$0> $2- ALIAS fmt.public_msg RETURN \($0\/$1\) $2- ALIAS fmt.public_other RETURN <$0:$1\> $2- ALIAS fmt.public_notice RETURN [$0!$userhost():$1\] $2- ALIAS fmt.sc_max RETURN 7 ALIAS fmt.sc_top RETURN *** Names on $0: ${numonchannel($0)?[\[$numonchannel($0)\]]:[]} ALIAS fmt.sc_mid { FE ($*) nick {@ :ret #= [$[11]nick]} RETURN $ret } ALIAS fmt.sc_bot { @ :ch.h = hash_32bit($0) RETURN *** Stats $0: +o[$1] -o[$4] +b[$numitems(B$winserv()\-$ch.h)] +h[$2] +v[$3] ${chan[$ch.h][S]?[\(Sets\: +$chan[$ch.h][S]\)]:[]} } ALIAS fmt.send_action RETURN * $N${iscurchan($0)?[]:[\:$0]} $1- ALIAS fmt.send_action_me RETURN > \($0\) * $N $1- ALIAS fmt.send_dcc_chat RETURN > =$0= $1- ALIAS fmt.send_msg RETURN 14>> 12[ 10$0 12] $1- ALIAS fmt.send_notice RETURN > [$0] $1- ALIAS fmt.send_public RETURN <$N${iscurchan($0)?[]:[\:$0]}\> $1- ALIAS fmt.server_notice RETURN [ $0 ] $2- ALIAS fmt.talk_reply RETURN $0: ALIAS fmt.topic RETURN Topic change on $1 by $0: $2- ALIAS fmt.topic_set RETURN Topic on $0 $1- ALIAS fmt.titlebar RETURN 16,2 $0 - $1- ALIAS fmt.usercmd RETURN Friend $1 request: $0 \($userhost()\) ALIAS fmt.wallop RETURN Wallop: <$0> $2- ALIAS fmt.wallop_me RETURN [WallOp:$0\\($1\)]  $N  $2- ALIAS fmt.whois_top RETURN [ $0 $1!$2@$3 ] ALIAS fmt.whois_mid RETURN 10: $[9]tolower($0) : $1- ALIAS -fmt.whois_bot # banner ^SET BANNER *** # banner colors ALIAS fmt.banner_info RETURN 3$G ALIAS fmt.banner_party RETURN ::: ALIAS fmt.banner_join RETURN 12$G ALIAS fmt.banner_leave RETURN 2$G ALIAS fmt.banner_signon RETURN 4$G ALIAS fmt.banner_signoff RETURN 5$G ALIAS fmt.banner_invite RETURN 12$G ALIAS fmt.banner_mode RETURN 10$G ALIAS fmt.banner_kick RETURN 11$G ALIAS fmt.banner_nick RETURN 9$G ALIAS fmt.banner_ctcp RETURN 13$G ALIAS fmt.banner_dcc RETURN 6$G ALIAS fmt.banner_alert RETURN 8$G ALIAS fmt.banner_userlist RETURN 9$G ALIAS fmt.banner_server RETURN ### ALIAS fmt.banner_chan RETURN 3$G ALIAS fmt.banner_usage RETURN 14$G ALIAS fmt.banner_tip RETURN +++ # tjbh/99 #tjh/12 ��������������������������������������������������������������������������������lice5/themes/total����������������������������������������������������������������������������������0000644�0001750�0001750�00000020433�11752707471�012573� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # Description: ToTaL, theme for LiCe. # Author: HSOC <hsoc@irc.gr> # started: Mon Dec 6 01:01:40 MST 1999 # updated: Thu Jun 1 18:51:10 MST 2000 PACKAGE LiCeTheme EVAL XECHO -RAW $chr(27)\(U # Banner for this theme ^SET BANNER => # DCC's made phaster... ^SET DCC_SLIDING_WINDOW 1024 ALIAS myserv { @ :tmp1 = left($rindex(. $S) $S) @ :tmp2 = rest($rindex(. $tmp1) $tmp1) @ function_return = strip(. $tmp2) } #correction for modes ON ^MODE "% % %bb *" {XECHO -W $1 $fmt.banner_mode() $fmt.mode_bans($*)} ON ^MODE "% % %oo *" {XECHO -W $1 $fmt.banner_mode() $fmt.mode_bans($*)} ON ^MODE "% % %vv *" {XECHO -W $1 $fmt.banner_mode() $fmt.mode_bans($*)} ON ^MODE "*.* #% *" {XECHO -W $1 $fmt.banner_mode() $fmt.mode_server($*)} # Status sets SET CLOCK ON SET CLOCK_24HOUR OFF SET NOTIFY_USERHOST_AUTOMATIC ON SET STATUS_AWAY 8=A= SET STATUS_CHANNEL 12%C SET STATUS_CHANOP 4@ SET STATUS_CLOCK %T SET STATUS_CPU_SAVER {10%L SAVER} SET STATUS_DOES_EXPANDOS ON ALIAS koko {@ function_return = strip(\: $*)} SET STATUS_FORMAT [%T] %*%N%# %@%C%+ %W %A %H%B %F %Q%M %>[Lag: %2][%1:%0] SET STATUS_FORMAT1 14ÚÄ[%T]14Ä[%*%N${ischanop($N $C)?[%@]:[${[%C]!=[]?[10@]:[]}]}12$rest(4 %C)%=]14Ä[${[%#]!=[]?[10Modes\: %#]:[-]}${[%+]!=[]?[/%+]:[10/-]}]14Ä%>%Q%M14Ä[10%1\:%0]14Ä¿ SET STATUS_FORMAT2 14ÀÄ[10W\: %W%R%F]14Ä${[$numonchannel($chan)]!=[0]?[\[10@\: $numwords($chops())/$numonchannel($chan)\]]:[14Ä]}14Ä%H%B14Ä$left($index(\: %D) %D)$rest($rindex(\: %D) %D)14Ä%>%L[$myserv($S): %2]14Ä[%3]%A14ÄÙ SET -INPUT_PROMPT SET STATUS_HOLD 10MORE SET STATUS_HOLD_LINES : %B SET STATUS_MAIL [10M\: %M] SET STATUS_MODE %+ SET STATUS_NICKNAME 12%N SET STATUS_NOTIFY (%F) SET STATUS_NO_REPEAT OFF SET STATUS_OPER 7* SET -STATUS_INSERT SET -STATUS_OVERWRITE SET STATUS_QUERY [10Q\: %Q] SET STATUS_SERVER (on %S) SET STATUS_TRUNCATE_RHS ON SET STATUS_UMODE %# SET STATUS_VOICE 8+ SET STATUS_WINDOW +++ ^WINDOW DOUBLE ON # sanity timestamping ALIAS ts.time RETURN 10@ # Event formats ALIAS fmt.action RETURN * ${ischanop($0 $1)?[12@$0]:[${ischanvoice($0 $1)?[12+$0]:[$0]}]}${iscurchan($1)?[]:[12/$rest(1 $1)]} $2- ALIAS fmt.action_me RETURN > \(16$N\\) * $0 $2- ALIAS fmt.auto_reply RETURN 10\(${ischanop($0 $1)?[12@8$0]:[${ischanvoice($0 $1)?[12+8$0]:[8$0]}]}10\)8: $2- ALIAS fmt.auto_reply_other RETURN 10\(${ischanop($0 $1)?[12@8$012/$rest(1 $1)]:[${ischanvoice($0 $1)?[12+8$012/$rest(1 $1)]:[8$012/$rest(1 $1)]}]}\2\)8: $2- ALIAS fmt.cant_join RETURN 10$0\: You can't join \($1-\) ALIAS fmt.channel_nick RETURN 10$0\: $1 is now known as $2 ALIAS fmt.channel_signoff RETURN 10$0\: $1 signed-off \($2-\) $ts.time() $Z ALIAS fmt.ctcp_channel RETURN CTCP $toupper($2) from $0 \($userhost()\) to $1 ALIAS fmt.ctcp_me RETURN CTCP $toupper($2) from $0 \($userhost()\) to You ALIAS fmt.ctcp_server RETURN CTCP $toupper($2) from $0 \($userhost()\) to $1 ALIAS fmt.dcc_chat RETURN 11=9$011= $1- ALIAS fmt.invite RETURN 10$1\: invited by $0 \($2\) ALIAS fmt.join RETURN 10$1\: $0 ${ismset(V)?[\($2\)]:[]} joined $ts.time() $Z ALIAS fmt.kick RETURN 10$2\: $0 was kicked by $1 \($3-\) $ts.time() $Z ALIAS fmt.kick_me RETURN $1 kicked you from $2 \($3-\) $ts.time() $Z ALIAS fmt.leave RETURN 10$1\: $0 ${ismset(V)?[\($2\)]:[]} left ${[$3]!=[]?[\($3-\)]:[]} $ts.time() $Z ALIAS fmt.mode RETURN 10$1\: Mode set \"$2-\" by $0 ALIAS fmt.mode_bans RETURN 10$1\: Mode stack \($2\) ${ismset(V)?[$3- by]:[by]} $0 ALIAS fmt.mode_me RETURN User mode change \"$2- $N\" on $S ALIAS fmt.mode_server RETURN 10$1\: $0 sets mode \"$2-\" ALIAS fmt.msg RETURN 11\( 2$uh($0)\ 11\)\ $1- ALIAS fmt.msg_group RETURN 11\( 2$uh($0)\ 11\)\ [$1] $2- ALIAS fmt.notice RETURN ${(rmatch($strip( $1) *wall*))?[11-7$strip( $1)11-13$uh($0)\:]:[11- 13$uh($0)\ 11- $1]} $2- ALIAS fmt.notice_group RETURN 11- 13$uh($0)\ 11- [$1] $2- ALIAS fmt.notify_signoff RETURN Signoff detected: $0 on $myserv($S) ${ismset(T)?[]:ts.time() $Z} ALIAS fmt.notify_signon RETURN Signon detected: $0 on $myserv($S) ${ismset(T)?[]:[$ts.time() $Z]} ALIAS fmt.notify_signon_uh RETURN Signon detected: $0 \($1\) on $myserv($S) ${ismset(T)?[]:[$ts.time() $Z]} ALIAS fmt.public RETURN ${match(** $igtype($rigmask($0!$userhost($0))))?[10\(${ischanop($0 $1)?[12@$0]:[${ischanvoice($0 $1)?[12+$0]:[$0]}]}10\)\: $2-]:[10\(${ischanop($0 $1)?[12@$0]:[${ischanvoice($0 $1)?[12+$0]:[$0]}]}10\)\: $2-]} ALIAS fmt.public_msg RETURN ${match(** $igtype($rigmask($0!$userhost($0))))?[11\( 2$012/11$rest(1 $1)\ 11\)\ $2-]:[11\( 2$012/11$rest(1 $1)\ 11\)\ $2-]} ALIAS fmt.public_other RETURN ${match(** $igtype($rigmask($0!$userhost($0))))?[10\(${ischanop($0 $1)?[12@$012/$rest(1 $1)]:[${ischanvoice($0 $1)?[12+$012/$rest(1 $1)]:[$012/$rest(1 $1)]}]}10\)\: $2-]:[10\(${ischanop($0 $1)?[12@$012/$rest(1 $1)]:[${ischanvoice($0 $1)?[12+$012/$rest(1 $1)]:[$012/$rest(1 $1)]}]}10\)\: $2-]} ALIAS fmt.public_notice RETURN 11- 13$012/11$rest(1 $ch($1))\ 11- $2- ALIAS fmt.sc_max RETURN 7 ALIAS fmt.sc_top RETURN $cparse(%KÖÄ\(%n%Cchannel:%n%c $0%n%K\)$repeat(${64-strlen($0)} Ä)·) ALIAS fmt.sc_mid (list) { FE ($list) xx { @ :mod = pass(@+% $xx) @ :spc = mod ? mod : [ ] @ msar(r/%/%%/spc) @ :nic = strip(@+% $xx) @ :ret #= [%Y] ## spc ## [%B] ## [$[9]nic] ## [%Kº] } RETURN $cparse(%Kº%n$ret) } ALIAS fmt.sc_bot { ^set floating_point_math ON @ :operc = ([$1] / [$5]) * 100 @ :perce = strlen($stripc($[6]operc)) @ :bigcent = 37 - perce RETURN $cparse(%KÓÄ\(%n%Y@%C:%c $[-6]operc%C%%%K\)$repeat($bigcent Ä)\(%n%Co:%n%c$repeat(${3-strlen($1)} $chr(32))$1%n%K\)Ä\(%n%Cv:%n%c$repeat(${3-strlen($3)} $chr(32))$3%n%K\)Ä\(%n%Ct:%n%c$repeat(${3-strlen($5)} $chr(32))$5%n%K\)Ä\(%n%Cb:%n%c$repeat(${3-strlen($numitems(B$winserv()\-$hash_32bit($0)))} $chr(32))$numitems(B$winserv()\-$hash_32bit($0))%n%K\)Ľ%n) ^set floating_point_math OFF } ALIAS fmt.send_action RETURN 10* ${ischanop($N $0)?[12@$N]:[${ischanvoice($N $0)?[12+$N]:[$N]}]}${iscurchan($0)?[]:[12/$rest(1 $0)]} $1- ALIAS fmt.send_action_me RETURN 14>> \(16$0\\) 10* $N $1- ALIAS fmt.send_dcc_chat RETURN 14>> 11=9$011= $1- ALIAS fmt.send_msg RETURN 14>> 11\( 2$0 11\)\ $1- ALIAS fmt.send_notice RETURN 14>> 11- 13$0 11- $1- ALIAS fmt.send_public RETURN 10\(${ischanop($N $0)?[12@$N${iscurchan($0)?[]:[12/$rest(1 $0)]}]:[${ischanvoice($N $0)?[12+$N${iscurchan($0)?[]:[12/$rest(1 $0)]}]:[$N${iscurchan($0)?[]:[12/$rest(1 $0)]}]}]}\10\): $1- ALIAS fmt.server_notice RETURN +$0+ $2- ALIAS fmt.talk_reply RETURN -$0-> ALIAS fmt.titlebar RETURN 14Ä50[$050]14ÄÄ50[37$1-50]14Ä ALIAS fmt.topic RETURN 10$1\: Topic change by $0 10- $2- ALIAS fmt.topic_set RETURN 10$0\: Topic is $1- ALIAS fmt.usercmd RETURN Friend !$1 request: $uh($0) ALIAS fmt.wallop RETURN $banner 7WallOp: 11\( $0@$myserv($S) 11\)\ $2- ALIAS fmt.wallop_me RETURN 14>> 11-7WallOp:11-$0\\($1\) $2- ALIAS fmt.wallop_server RETURN $banner 7WallOp: +$0+ $2- ALIAS fmt.whois_bot RETURN 14--- End of $0 info --- ALIAS fmt.whois_mid RETURN 2= 12$[-9]0 2=> $1- ALIAS fmt.whois_top RETURN 1,12= 8,12$[-9]1 10,12$rest(3 $0) 11,12$2@$3  # Event banner colors ALIAS fmt.banner_info RETURN 4$G ALIAS fmt.banner_party RETURN 3[PARTY] ALIAS fmt.banner_join RETURN 12$G ALIAS fmt.banner_leave RETURN 2$G ALIAS fmt.banner_signon RETURN 12$G ALIAS fmt.banner_signoff RETURN 2$G ALIAS fmt.banner_invite RETURN 12$G ALIAS fmt.banner_mode RETURN 10$G ALIAS fmt.banner_kick RETURN 11$G ALIAS fmt.banner_nick RETURN 7$G ALIAS fmt.banner_ctcp RETURN 13$G ALIAS fmt.banner_dcc RETURN 6$G ALIAS fmt.banner_alert RETURN 8$G ALIAS fmt.banner_userlist RETURN 9$G ALIAS fmt.banner_server RETURN 5$G ALIAS fmt.banner_chan RETURN 5$G ALIAS fmt.banner_usage RETURN 16$G ALIAS fmt.banner_tip RETURN 16+++ # I'm bad :p @ mytheme = [ToTal] ON ^CTCP "% % THEME *" { IF (ischannel($1)) { XECHO -W $1 $fmt.banner_ctcp() $fmt.ctcp_channel($*) }{ ECHO $fmt.banner_ctcp() ${([$1] == servernick($servernum())) ? fmt.ctcp_me($*) : fmt.ctcp_server($*)} } UNLESS (isset(Q)) { n $0 Current theme is $mytheme for LiCev$id.v } } XECHO -b +ToTal+, LiCe theme by HSOC <hsoc@irc.gr> #HS/00 �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/themes/clice����������������������������������������������������������������������������������0000644�0001750�0001750�00000013133�11753027721�012520� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # Description: clice color theme # Author: whitefang (thall@magenet.com) # PACKAGE LiCeTheme EVAL XECHO -r $chr(27)\(U # status sets SET CLOCK ON SET CLOCK_24HOUR OFF SET STATUS_AWAY [Away: $STATUS_USER1] SET STATUS_CHANNEL 2,4%C2,9 SET STATUS_CHANOP 2,7@2,9 SET STATUS_CLOCK %T SET -STATUS_CPU_SAVER SET STATUS_DOES_EXPANDOS ON SET STATUS_FORMAT 2,9[$tolower($Z)] %*%N%# %C%+ %M%Q %H%B %F %W%O%>[%R%I] SET STATUS_FORMAT1 2,9[$tolower($Z)] %*%N%# %@%=%C%+ %M%Q %H%B %F %W%O%>[%R%I] SET STATUS_FORMAT2 2,13%D%>%A[Up: $tdiff2(${time() - F})][Lag: %2] SET STATUS_HOLD More SET STATUS_HOLD_LINES :%B SET STATUS_INSERT + SET STATUS_MAIL [Mail: %M] SET STATUS_MODE 2,11[2+%+2,11]2,9 SET STATUS_NICKNAME 2,11%N2,9 SET STATUS_NOTIFY (%F) SET STATUS_NO_REPEAT ON SET STATUS_OPER * SET STATUS_OVERWRITE ~O SET STATUS_QUERY [Query: %Q] SET STATUS_SERVER [%S] SET STATUS_TRUNCATE_RHS ON SET STATUS_UMODE (+%#) SET STATUS_VOICE + SET STATUS_WINDOW + # event formats ALIAS fmt.action RETURN ${iscurchan($1)?[12* $0 $2-]:[2* $0:$1 $2-]}i ALIAS fmt.action_me RETURN -> \($N\) 12* $0 $2- ALIAS fmt.auto_reply RETURN <$0> $2- ALIAS fmt.auto_reply_other RETURN <$0:$1\> $2- ALIAS fmt.channel_nick RETURN Nick $0: $1 -> ${iscurchan($0)?[12$2]:[2$2]} ALIAS fmt.channel_signoff RETURN Quit $0: ${iscurchan($0)?[12$1]:[2$1]} \($2-\) ALIAS fmt.ctcp_channel RETURN CTCP $toupper($2) request: 12$0 \($userhost()\) to $1 ALIAS fmt.ctcp_me RETURN CTCP $toupper($2) request: 12$0 \($userhost()\) to You ALIAS fmt.ctcp_server RETURN CTCP $toupper($2) request: 12$0 \($userhost()\) to $1 ALIAS fmt.dcc_chat RETURN ð13$0ð $1- ALIAS fmt.invite RETURN $0 \($2\) invites you to $1 ALIAS fmt.join RETURN Join $1: ${iscurchan($1)?[12$0]:[2$0]} \($2\) at $tolower($Z) ALIAS fmt.kick ^ASSIGN temp.kick_me 0;RETURN Kick $2: ${iscurchan($2)?[12$0]:[2$0]} \($3-\) ALIAS fmt.kick_me ^ASSIGN temp.kick_me 1;RETURN You were kicked off $2 by 11$1 \($3-\) ALIAS fmt.leave RETURN Part $1: ${iscurchan($1)?[12$0]:[2$0]} \($2\) at $tolower($Z) ALIAS fmt.mode RETURN Mode $1: \"$2-\" by ${iscurchan($1)?[12$0]:[2$0]} ALIAS fmt.mode_bans RETURN Mode $1: \"$2\" by ${iscurchan($1)?[12$0]:[2$0]} ALIAS fmt.mode_me RETURN Mode change \"$2-\" on 3$N #ALIAS fmt.mode_server RETURN Mode hack \"$2-\" on $1 \($0\) ALIAS fmt.msg RETURN 4,16 $uh($0)  $1- #ALIAS fmt.msg_group RETURN [$1:$S\]  $0!$userhost()\]  $2- ALIAS fmt.notice RETURN [8 $uh($0) ] $1- ALIAS fmt.notify_signoff RETURN Signoff: 13$0 at $tolower($Z) ALIAS fmt.notify_signon RETURN Signon: 13$0 at $tolower($Z) ALIAS fmt.notify_signon_uh RETURN Signon: 13$0 \($1\) at $Z ALIAS fmt.public RETURN 12<$0> $2- #ALIAS fmt.public_msg RETURN \($0\/$1\) $2- ALIAS fmt.public_other RETURN 2<$0:$1\> $2- ALIAS fmt.public_notice RETURN [ ${iscurchan($1)?[12$0]:[2$0]}\:$1 \] $2- ALIAS fmt.sc_max RETURN 6 ALIAS fmt.sc_top RETURN $G Names ${iscurchan($0)?[12$0]:[2$0]}\: ALIAS fmt.sc_mid { FE ($*) nick {@ :ret #= [$[11]nick]} RETURN $ret } ALIAS fmt.sc_bot { @ :ch.h = hash_32bit($0) RETURN $G Ministats $0 $1o $2h $4n $numitems(B$winserv()\-$ch.h)b $3v ${chan[$ch.h][S]?[\(Sets\: +$chan[$ch.h][S]\)]:[]} } ALIAS fmt.send_action RETURN 3* $N${iscurchan($0)?[]:[\:$0]} $1- ALIAS fmt.send_action_me RETURN -> \($N\) 9$0 $1- ALIAS fmt.send_dcc_chat RETURN 3ð$0ð $1- ALIAS fmt.send_msg RETURN 3*$0* $1- ALIAS fmt.send_notice RETURN 3[$0] $1- ALIAS fmt.send_public RETURN 3<$N${iscurchan($0)?[]:[\:$0]}\> $1- ALIAS fmt.server_notice RETURN *** $2- ALIAS fmt.talk_reply RETURN $0: ALIAS fmt.topic RETURN Topic $1: changed by ${iscurchan($1)?[12$0]:[2$0]}\: $2- ALIAS fmt.topic_set RETURN Topic ${iscurchan($0)?[12$0]:[$0]}\: $1- ALIAS fmt.titlebar RETURN 2,9$0 - $1- ALIAS fmt.usercmd RETURN Friend 5$1: $0 \($userhost()\) ALIAS fmt.wallop RETURN Wallop: <$0> $2- ALIAS fmt.wallop_me RETURN [WallOp:$0\\($1\)] 12,11 $N  $2- ALIAS fmt.whois_top { ECHO 16Ú7ÄÄÄ4ÄÄÄÄÄÄÄÄÄ--ÄÄÄ--ÄÄÄÄÄÄ14ÄÄÄÄÄ4ÄÄÄÄ14Ä4Ä--Ä14ÄÄ Ä Ä RETURN 7³ $[8]0 4ù 12$1 14\($214@$314\) } ALIAS fmt.whois_mid { SWITCH ($0) { (Ircname) {RETURN 4³ 7Ircname 4ù $1-} (Domain) {RETURN 4³ 7Domain 4ù $strip(." $1 14\(12$3-14\))} (Shitlist) {RETURN 4³ 7Shitlist 5ù $1-} (Userlist) {RETURN 4³ 7Userlist 5ù $1-} (Channels) {RETURN 4³ 7Channels 4ù $1-} (Server) {RETURN 4³ 7Server 4ù $1 14\[$after([ $2) $sar(g/]/14]/$3-)} (Services) {RETURN 4³ 7Services 4ù $1-} (Away) {RETURN 4³ 7Away 4ù $1-} (Operator) {RETURN 4³ 7Operator 4ù $1-} (Signon) {RETURN 4³ 7Signon 4ù at $1-} (Spoof) {RETURN 4³ 7Spoof 4ù $1-} (Idle) {RETURN 4³ 7Idletime 4ù $1-} (Notes) {RETURN 4³ 7Notes 4ù $1-} (Identity) {RETURN 4³ 7Identity 4ù $1-} } } ALIAS -fmt.whois_bot # banner ^SET BANNER ::: # banner colors ALIAS fmt.banner_info RETURN $G ALIAS fmt.banner_party RETURN $G ALIAS fmt.banner_join RETURN $G ALIAS fmt.banner_leave RETURN $G ALIAS fmt.banner_signon RETURN $G ALIAS fmt.banner_signoff RETURN $G ALIAS fmt.banner_invite RETURN :9:: ALIAS fmt.banner_mode RETURN $G ALIAS fmt.banner_kick RETURN ${temp.kick_me?[\:9\:\:]:G} ALIAS fmt.banner_nick RETURN $G ALIAS fmt.banner_ctcp RETURN $G ALIAS fmt.banner_dcc RETURN $G ALIAS fmt.banner_alert RETURN $G ALIAS fmt.banner_userlist RETURN $G ALIAS fmt.banner_server RETURN $G ALIAS fmt.banner_chan RETURN $G ALIAS fmt.banner_usage RETURN $G ALIAS fmt.banner_tip RETURN +++ # tjbh/99 �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/themes/blackwind������������������������������������������������������������������������������0000644�0001750�0001750�00000015523�11750552054�013403� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# descr: blackwind theme, just playing with the colors # auth: Kiril Todorov <voland@online.bg> # crdt: whitefang, #LiCe PACKAGE LiCeTheme EVAL XECHO -r $chr(27)\(U # vvsar ALIAS vvsar (host) { @ :hst = msar(g/@/14@/./14./~/14~/!/14!/+/14+/$host) RETURN $hst } ALIAS bbsar (host) { @ :hst = msar(g/@/14@16/./14.16/~/14~16/!/14!16/$host) RETURN $hst } # shade ALIAS shade (nick,c1,c2,c3) { @ :nik = stripc($nick) @ :len = strlen($nik) IF (len <= 2) { @ :_shade = chr(3) ## c1 ## nik } ELSIF (len == 3) { @ :_shade = chr(3) ## c1 ## mid(0 1 $nik) @ :_shade #= chr(3) ## c2 ## mid(1 1 $nik) @ :_shade #= chr(3) ## c1 ## mid(2 1 $nik) } ELSE { @ :_shade = chr(3) ## c1 ## mid(0 1 $nik) @ :_shade #= chr(3) ## c2 ## mid(1 1 $nik) @ :_shade #= chr(3) ## c3 ## mid(2 ${len-4} $nik) @ :_shade #= chr(3) ## c2 ## mid(${len-2} 1 $nik) @ :_shade #= chr(3) ## c1 ## mid(${len-1} 1 $nik) } @ :_shade #= chr(3) RETURN $_shade } # sets, status and stuff set clock on set clock_24hour on set status_away 3:9zZzZ3: set status_channel %C14/ set status_chanop 12@ set status_clock 14[%T14] set -status_cpu_saver set status_does_expandos on set status_format :: %T %*%N%# %@%C%+ %W%A %H%B %F%M%Q %>[Lag: %2] [tog::%0] :: set status_format1 12:: %@%=%*%N%# 12:: 14[%W%R14]12 ::14 [act14::%F14] %> %S 14[tog12::%014]12 :: set status_format2 12:: %C%+ 12:: 14[query12::%Q14]12 :: 14[lag12::%214] %H%B %A%>%D %T 12:: set status_hold 14-12:more12:14- set status_hold_lines 14:%B set status_insert 12-14ins12- set -status_mail set status_mode +%+ set status_nickname %N14/ set status_notify 16%F set status_no_repeat on set status_oper 7* set status_overwrite 14-rep14- set status_query %Q set status_server %S set status_truncate_rhs on set status_umode +%# set status_voice 2+ set status_window + # fmt's alias fmt.back_msg return is back, $0- alias fmt.gone_msg return is away, $0- alias fmt.usergreet return <$0> $1- alias fmt.action return 12* 16$0${iscurchan($1)?[]:[\14:$1]} $2- alias fmt.action_me return 12* 16$014/12$N $2- alias fmt.auto_reply return 12<${ischanop($0 $1)?[14@]:ischanvoice($0 $1)?[14+]:[]}16$012> $2- alias fmt.auto_reply_other return 12<${ischanop($0 $1)?[14@]:ischanvoice($0 $1)?[14+]:[]}16$014:$112> $2- alias fmt.channel_nick return $shade(nick 3 9 14) $shade($0 14 9 3) 3:: $1 to $2 alias fmt.channel_signoff return $shade(quit 2 12 14) $shade($0 14 12 2) 2:: $1 14\($2-14\) alias fmt.ctcp_channel return 3CTCP 9$toupper($2) request14: 16$0 14\($userhost()14\) to 16$1 alias fmt.ctcp_me return 3CTCP 9$toupper($2) request14: 16$014 \($userhost()14\) to 16You alias fmt.ctcp_server return 3CTCP 9$toupper($2) request14: 16$014 \($userhost()14\) to 16$1 alias fmt.dcc_chat return 6::14=$014=6:: $1- alias fmt.invite return $shade(invite 4 7 14) $shade($1 7 4 14) 4:: 16$014 \($2-14\) alias fmt.join return $shade(join 11 10 14) $shade($1 14 10 11) 11:: ${iscurchan($1)?[$0]:[$0]} 14\($vvsar($2)14\) alias fmt.kick return $shade(kick 7 4 14) $shade($2 14 4 7) 7:: $1 kicked ${iscurchan($2)?[$0]:[$0]} 14\($3-14\) alias fmt.kick_me return $shade(kick 7 4 14) $shade($2 14 4 7) 7:: $1 kicked You 14\($3-14\) alias fmt.leave return $shade(part 12 2 14) $shade($1 14 2 12) 14:: ${iscurchan($1)?[$0]:[$0]} 14\($vvsar($2)14\) alias fmt.mode return $shade(mode 4 7 14) $shade($1 14 7 4) 4:: 14\(16$bbsar($2-)14\) by $0 alias fmt.mode_bans return $shade(mode 4 7 14) $shade($1 14 7 4) 4:: 14\(16$bbsar($2-)14\) by $0 alias fmt.mode_me return $shade(umode 4 7 14) $shade($N 14 7 4) 4:: 14\(16$2-14\) on $S alias fmt.mode_server return $shade(servermode 4 7 14) $shade($1 14 7 4) 4:: 14\(16$2-14\) by $0 alias fmt.msg return 14\[13$014\(6$userhost()14\)\] $1- alias fmt.msg_group return 14\[\$114\($userhost()14\)\]:3$S $2- alias fmt.notice return 2-12\(16$012\)2- $1- alias fmt.notify_signoff return notify14:12off2:: $0 at $Z alias fmt.notify_signon return notify14:12on2:: $0 at $Z alias fmt.notify_signon_uh return notify14:12on2:: 16$0 14\($vvsar($1)14\) at $Z alias fmt.public return 12<${ischanop($0 $1)?[14@]:ischanvoice($0 $1)?[14+]:[]}$012> $2- alias fmt.public_msg return <${ischanop($0 $1)?[14@]:ischanvoice($0 $1)?[14+]:[]}$0::$1> $2- alias fmt.public_other return 12<${ischanop($0 $1)?[14@]:ischanvoice($0 $1)?[14+]:[]}$014::$112> $2- alias fmt.public_notice return 2-12\(16$014:16$112\)2- $2- alias fmt.send_action return 12* 16$N${iscurchan($0)?[]:[\14:$0]} $1- alias fmt.send_action_me return 12* 16$N14/12$0 $1- alias fmt.send_dcc_chat return 6:>14=$014=6<: $1- alias fmt.send_msg return 14\[4msg14\(7$014\)\] $1- alias fmt.send_public return 13<${ischanop($N $0)?[14@]:ischanvoice($N $0)?[14+]:[]}$N13> $1- alias fmt.server_notice return 3$0 9:: $2- alias fmt.talk_reply return $tolower($0), alias fmt.topic return $shade(topic 4 7 14) $1 4:: 14\($2-14\) by $0 alias fmt.titlebar return $0 12:: $1- alias fmt.topic_set return $shade(topic 4 7 14) $0 4:: $1- alias fmt.usercmd return userlist $1 request : $0 \($userhost()\) alias fmt.wallop return 9:: 3!$014:$13! 9:: $2- alias fmt.wallop_me return 9:: wallop:$0 9:: \($1\) $N $2- alias fmt.wallop_server return 9!3$09! :: $2- # /sc alias fmt.sc_max return 6 alias fmt.sc_top return 12:: $shade(names 12 2 14) $0: ${numonchannel($0)?[\[$numonchannel($0)\]]:[]} alias fmt.sc_mid { FE ($*) nick {@ :ret #= [$[10]nick ]} return 12:: $vvsar($ret) } alias fmt.sc_bot { @ :ch.h = hash_32bit($0) return 12:: $shade(stats 12 2 14) $0: +o[$1] +h[$2] -o[$4] +b[$numitems(B$winserv()\-$ch.h)] +v[$3] ${chan[$ch.h][S]?[\(Sets\: +$chan[$ch.h][S]\)]:[]} } # /whois alias fmt.whois_top return 12.: $0 12:: $114!$214@$3 12:. alias fmt.whois_mid return 12.: $[9]tolower($0) 12:: $1- 12:. alias -fmt.whois_bot # banner ^set banner :: # banner colors ALIAS fmt.banner_info RETURN 12$G ALIAS fmt.banner_party RETURN 12::: ALIAS fmt.banner_join RETURN 11$G ALIAS fmt.banner_leave RETURN 14$G ALIAS fmt.banner_signon RETURN 12$G ALIAS fmt.banner_signoff RETURN 2$G ALIAS fmt.banner_invite RETURN 7$G ALIAS fmt.banner_mode RETURN 4$G ALIAS fmt.banner_kick RETURN 7$G ALIAS fmt.banner_nick RETURN 3$G ALIAS fmt.banner_ctcp RETURN 9>3>14> ALIAS fmt.banner_dcc RETURN 6$G ALIAS fmt.banner_alert RETURN 8$G ALIAS fmt.banner_userlist RETURN 5$G ALIAS fmt.banner_server RETURN 9:: ALIAS fmt.banner_chan RETURN 4$G ALIAS fmt.banner_usage RETURN 12$G ALIAS fmt.banner_tip RETURN 12::: �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/themes/ouzo12���������������������������������������������������������������������������������0000644�0001750�0001750�00000016360�11752124167�012606� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # Description: OuZo12, theme for LiCe. # Author: HSOC <hsoc@irc.gr> # Based on other themes...(ripped) # started @ Thu Sep 2 20:41:11 MST 1999 # updated @ Thu Jun 1 18:51:10 MST 2000 PACKAGE LiCeTheme # Banner for this theme ^SET BANNER %% # DCC's made phaster... ^SET DCC_SLIDING_WINDOW 800 #correction for modes ON ^MODE "% % %bb *" {XECHO -W $1 $fmt.banner_mode() $fmt.mode_bans($*)} ON ^MODE "% % %oo *" {XECHO -W $1 $fmt.banner_mode() $fmt.mode_bans($*)} ON ^MODE "% % %vv *" {XECHO -W $1 $fmt.banner_mode() $fmt.mode_bans($*)} ON ^MODE "*.* #% *" {XECHO -W $1 $fmt.banner_mode() $fmt.mode_server($*)} # Status sets SET CLOCK ON SET CLOCK_24HOUR OFF SET NOTIFY_USERHOST_AUTOMATIC ON SET STATUS_AWAY 8,10=A= SET STATUS_CHANNEL 1,10%C SET STATUS_CHANOP 4,10@ SET STATUS_CLOCK %T SET STATUS_CPU_SAVER {%L} SET STATUS_DOES_EXPANDOS ON SET STATUS_FORMAT 2,10[%T] %*%N2,10%# %@%C2,10%+ %W %A2,10 %H%B %F %Q%M %>[Lag: %2] [%1:%0] SET STATUS_FORMAT1 2,10[%T] [%3] %*%N2,10%# $left($index(: %D) %D)$rest($rindex(: %D) %D) %>%Q%M [%1:%0] SET STATUS_FORMAT2 2,10[Win: %W%R%F] [Lag: %2] %@%=%C2,10%+ ${[$numonchannel($chan)]!=[0]?[\[@\:$numwords($chops())/$numonchannel($chan)\]]:[]} %L%H%B%I%O %>%A2,10[$servername($winserv())] SET -INPUT_PROMPT SET STATUS_HOLD MORE SET STATUS_HOLD_LINES :%B SET STATUS_MAIL [Mail: %M] SET STATUS_MODE (+%+) SET STATUS_NICKNAME 1,10%N SET STATUS_NOTIFY (%F) SET STATUS_NO_REPEAT ON SET STATUS_OPER 7,10* SET -STATUS_INSERT SET STATUS_OVERWRITE (O) SET STATUS_QUERY [Query: %Q] SET STATUS_SERVER (on %S) SET STATUS_TRUNCATE_RHS ON SET STATUS_UMODE (+%#) SET STATUS_VOICE 8,10+ SET STATUS_WINDOW +++ ^WINDOW DOUBLE ON # sanity timestamping ALIAS ts.time RETURN 10@ $sar(/AM/am/$sar(/PM/pm/$0)) # Event formats ALIAS fmt.action RETURN * $0${iscurchan($1)?[]:[\:10$tolower($1)]} $2- ALIAS fmt.action_me RETURN > \(16$N\\) * $0 $2- ALIAS fmt.auto_reply RETURN 2<8$02> $2- ALIAS fmt.auto_reply_other RETURN 2<8$0:10$1\2> $2- ALIAS fmt.cant_join RETURN 10Join $tolower($0)\: Can't join $0 \($1-\) ALIAS fmt.channel_nick RETURN 10Nick $0\: $1 is now known as $2 ALIAS fmt.channel_signoff RETURN 10Quit $0\: $1 \($2-\) $ts.time($Z) ALIAS fmt.ctcp_channel RETURN CTCP $toupper($2) from $0 \($userhost()\) to $1 ALIAS fmt.ctcp_me RETURN CTCP $toupper($2) from $0 \($userhost()\) to You ALIAS fmt.ctcp_server RETURN CTCP $toupper($2) from $0 \($userhost()\) to $1 ALIAS fmt.dcc_chat RETURN 12= 6$0 12= $1- ALIAS fmt.invite RETURN 10Invited to $1\: by $0 \($2\) ALIAS fmt.join RETURN 10Join $tolower($1)\: $0 ${ismset(V)?[\($2\) $ts.time($Z)]:[$ts.time($Z)]} ALIAS fmt.kick RETURN 10Kick $tolower($2)\: $0 by $1 \($3-\) $ts.time($Z) ALIAS fmt.kick_me RETURN $1 kicked YOU from $tolower($2) \($3-\) $ts.time($Z) ALIAS fmt.leave RETURN 10Part $tolower($1)\: $0 ${ismset(V)?[\($2\) \($3-\) $ts.time($Z)]:[\($3-\) $ts.time($Z)]} #${[$3]!=[]?[\($3-\) #$ts.time($Z)]:[$ts.time($Z)]}: #[${[$3]!=[]?[\($3-\) $ts.time($Z)]: #[$ts.time($Z)]}]} ALIAS fmt.mode RETURN 10Mode $tolower($1)\: $0 sets \"$2-\" ALIAS fmt.mode_bans RETURN 10Mode $tolower($1)\: $0 stacks \($2\) ${ismset(V)?[$3-]:[]} ALIAS fmt.mode_me RETURN User mode change \"$2-\" for $N on $S ALIAS fmt.mode_server RETURN 12$0 10sets mode\: \"$2-\" on $1 ALIAS fmt.msg RETURN 12[ 11$uh($0)\ 12] $1- ALIAS fmt.msg_group RETURN 12[ 11$uh($0)\ 12] \($1\) $2- ALIAS fmt.notice RETURN ${(rmatch($strip( $1) *wall*))?[12-7$strip( $1)12-9$uh($0)\:]:[12- 9$uh($0)\ 12- $1]} $2- ALIAS fmt.notice_group RETURN 12- 9$uh($0)\ 12- \($1\) $2- ALIAS fmt.notify_signoff RETURN Signoff detected: $0 $ts.time($Z) ALIAS fmt.notify_signon RETURN Signon detected: $0 $ts.time($Z) ALIAS fmt.notify_signon_uh RETURN Signon detected: $0 \($1\) $ts.time($Z) ALIAS fmt.public RETURN ${match(** $igtype($rigmask($0!$userhost($0))))?[2<$02> $2-]:[2<$02> $2-]} ALIAS fmt.public_msg RETURN ${match(** $igtype($rigmask($0!$userhost($0))))?[2\($0\:11$tolower($1)\2\) $2-]:[2\($0\:11$tolower($1)\2\) $2-]} ALIAS fmt.public_other RETURN ${match(** $igtype($rigmask($0!$userhost($0))))?[2<$0\:10$tolower($1)\2> $2-]:[2<$0\:10$tolower($1)\2> $2-]} ALIAS fmt.public_notice RETURN 12- 9$0:10$tolower($ch($1))\ 12- $2- ALIAS fmt.sc_max RETURN 7 ALIAS fmt.sc_top RETURN $cparse(%K=\(%nchannel:%n%c $0%n%K\)$repeat(${66-strlen($0)} =)) ALIAS fmt.sc_mid (list) { FE ($list) xx { @ :mod = pass(@+% $xx) @ :spc = mod ? mod : [ ] @ msar(r/%/%%/spc) @ :nic = strip(@+% $xx) @ :ret #= [%K=] ## [%B] ## spc ## [%n] ## [$[9]nic] } RETURN $cparse(%n$ret%K=) } ALIAS fmt.sc_bot RETURN $cparse(%K=\(%nscanned %B@%c $tolower($strftime(%I:%M %p))%n%K\)$repeat(17 =)\(%no:%n%c$repeat(${3-strlen($1)} $chr(32))$1%n%K\)=\(%nh:%n%c$repeat(${3-strlen($2)} $chr(32))$2%n%K\)=\(%nv:%n%c$repeat(${3-strlen($3)} $chr(32))$3%n%K\)=\(%nt:%n%c$repeat(${3-strlen($5)} $chr(32))$5%n%K\)=\(%nb:%n%c$repeat(${3-strlen($numitems(B$winserv()\-$hash_32bit($0)))} $chr(32))$numitems(B$winserv()\-$hash_32bit($0))%n%K\)=%n) ALIAS fmt.send_action RETURN 10* $N${iscurchan($0)?[]:[\:10$tolower($0)]} $1- ALIAS fmt.send_action_me RETURN 14>> \(16$0\\) 10* $N $1- ALIAS fmt.send_dcc_chat RETURN 14>> 12= 6$0 12= $1- ALIAS fmt.send_msg RETURN 14>> 12[ 11$0 12] $1- ALIAS fmt.send_notice RETURN 14>> 12- 9$0 12- $1- ALIAS fmt.send_public RETURN 10<$N${iscurchan($0)?[]:[\:10$tolower($0)]}\10> $1- ALIAS fmt.server_notice RETURN #12$0# $2- ALIAS fmt.talk_reply RETURN [$0]: ALIAS fmt.titlebar RETURN 10,2[$0] $1- ALIAS fmt.topic RETURN 10Topic $tolower($1)\: ${[$2]!=[]?[$2-]:[10*\\UNSET10\\*]} 10\(by $0\) ALIAS fmt.topic_set RETURN 10Topic $tolower($0)\: $1- ALIAS fmt.usercmd RETURN Friend !$1 request\: $uh($0) ALIAS fmt.wallop RETURN $banner 7WallOp\: 12\( $0@$after(-2 . $S) 12\) $2- ALIAS fmt.wallop_me RETURN 14>> 12-7WallOp\:12-$0\\($1\) $2- ALIAS fmt.wallop_server RETURN $banner 7WallOp\: #12$0# $2- ALIAS fmt.whois_bot RETURN 14--- End of $0 info --- ALIAS fmt.whois_mid RETURN 2: 10$[-9]0 2: $1- ALIAS fmt.whois_top RETURN 1,10[ 2,10$0 for 1,10: 16,10$1 2,10\($2@$3\) 1,10] # Event banner colors ALIAS fmt.banner_info RETURN 4$G ALIAS fmt.banner_party RETURN 3[PARTY] ALIAS fmt.banner_join RETURN 12$G ALIAS fmt.banner_leave RETURN 2$G ALIAS fmt.banner_signon RETURN 12$G ALIAS fmt.banner_signoff RETURN 2$G ALIAS fmt.banner_invite RETURN 12$G ALIAS fmt.banner_mode RETURN 10$G ALIAS fmt.banner_kick RETURN 11$G ALIAS fmt.banner_nick RETURN 7$G ALIAS fmt.banner_ctcp RETURN 13$G ALIAS fmt.banner_dcc RETURN 6$G ALIAS fmt.banner_alert RETURN 8$G ALIAS fmt.banner_userlist RETURN 9$G ALIAS fmt.banner_server RETURN 5$G ALIAS fmt.banner_chan RETURN 5$G ALIAS fmt.banner_usage RETURN 16$G ALIAS fmt.banner_tip RETURN 16+++ @ mytheme = [ouzo12] ON ^CTCP "% % THEME *" { IF (ischannel($1)) { XECHO -W $1 $fmt.banner_ctcp() $fmt.ctcp_channel($*) }{ ECHO $fmt.banner_ctcp() ${([$1] == servernick($servernum())) ? fmt.ctcp_me($*) : fmt.ctcp_server($*)} } UNLESS (isset(Q)) { n $0 Current theme is $mytheme for LiCev$id.v } } XECHO -b OuZo12, LiCe theme by HSOC <hsoc@irc.gr> #HS/00 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/themes/khaze����������������������������������������������������������������������������������0000644�0001750�0001750�00000005262�11542462257�012552� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������PACKAGE LiCeTheme EVAL XECHO -r $chr(27)\(U ^SET BANNER .%o SET status_no_repeat off SET status_does_expandos on SET status_away 14,1[10a14,1] SET status_channel %C SET status_chanop @ SET status_clock 14,1[14time14,1.11$tolower(%T)14,1] SET status_format 14,11ktheme does not support single line statusbar. /theme or ^WD to resolve... SET status_format1 14[11%@%=10%N%#14]1,1Ä14[10%314][10lag14.11%214]1,1Ä%>14[10%1.11$tolower(%0)14]1,1 14%F1,114[win.11%R14]%W1,1ÄÄ¿ SET status_format2 14%9%Q%\ [10,1$servername($winserv())14,1\]%D1,1Ä%>14%H%M%A%T1,1ÄÙ SET status_hold 14,1[14more14,1] SET status_insert 14,1[14ins14,1] SET status_mail 14,1[14m14,1.11%M14,1] SET status_mode 14,1/11+%+ SET status_nickname %N SET status_notify 14,1[14a14,1.11%F14,1] SET status_oper * SET status_overwrite 14,1[14ovr14,1] SET status_query 14,1[14q14,1.11%Q14,1] SET status_scrollback 14,1[11buf14,1] SET status_server %S SET status_umode 14,1/14,1+%# SET status_user9 ${C?[14,1[10o14,1.11$#chops()14,1/10n14,1.11$#nochops()14,1/10t14,1.11$numonchannel()14,1]] : []} SET status_voice + SET status_window 14,1[14+14,1] SET input_prompt 14[$C14]11+$chanmode()14>  ALIAS fmt.talk_reply RETURN $0- ALIAS fmt.whois_bot RETURN 14... end.14of.14$0 ... ALIAS fmt.whois_mid RETURN 14: 14$[-9]0 16: $1- ALIAS fmt.whois_top RETURN 16.15.14. whodat! $1 \14[10$211@10$3\14] .. ALIAS fmt.msg RETURN 14[15[2$uh($0)\15] $1- ALIAS fmt.msg_group RETURN 14[15[2$uh($0)\15] \($1:$S\) $2- ALIAS fmt.send_msg RETURN 14>> 15[ 2$0 15] $1- ALIAS fmt.dcc_chat RETURN 14=:$0:14= $1- ALIAS fmt.send_dcc_chat RETURN 14>> =$014= $1- ALIAS fmt.notice RETURN 16- 11$uh($0)\ 16- $1- ALIAS fmt.titlebar RETURN 14[10$014] [$1-14] ALIAS fmt.send_notice RETURN 14>> 16- 10$0 16- $1- ALIAS fmt.banner_info RETURN 4$G ALIAS fmt.banner_party RETURN 3$G ALIAS fmt.banner_join RETURN 4$G ALIAS fmt.banner_leave RETURN 2$G ALIAS fmt.banner_signon RETURN 12$G ALIAS fmt.banner_signoff RETURN 2$G ALIAS fmt.banner_invite RETURN 12$G ALIAS fmt.banner_mode RETURN 10$G ALIAS fmt.banner_kick RETURN 11$G ALIAS fmt.banner_nick RETURN 7$G ALIAS fmt.banner_ctcp RETURN 13$G ALIAS fmt.banner_dcc RETURN 6$G ALIAS fmt.banner_alert RETURN 8$G ALIAS fmt.banner_userlist RETURN 9$G ALIAS fmt.banner_server RETURN 14$G ALIAS fmt.banner_chan RETURN 14$G ALIAS fmt.banner_usage RETURN 16$G ALIAS fmt.banner_tip RETURN 16+++ XECHO -b (k) 11haze theme by invalid XECHO -b <invalid@worldnetoh.com> ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/themes/papara���������������������������������������������������������������������������������0000644�0001750�0001750�00000014144�11752707471�012716� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # Description: papara, theme for LiCe. # Author: HSOC <hsoc@irc.gr> # Based on other themes...(ripped) # Tue Nov 16 01:27:27 MST 1999 # update: Thu Jun 1 18:51:10 MST 2000 PACKAGE LiCeTheme # Banner for this theme ^SET BANNER [+] # DCC's made phaster... ^SET DCC_SLIDING_WINDOW 8000 # Status sets SET CLOCK ON SET CLOCK_24HOUR OFF SET STATUS_AWAY (8,16A2,16) SET STATUS_CHANNEL 1,16%C SET STATUS_CHANOP 4,16@ SET STATUS_CLOCK %T SET STATUS_CPU_SAVER {%L SAVE} SET STATUS_DOES_EXPANDOS ON SET STATUS_FORMAT 2,16%T %*%N2,16%# %@%C2,16%+ %W %A2,16 %H%B %F %Q%M %>(Lag: %2) (%1:%0) SET STATUS_FORMAT1 2,16(%T)%A2,16 (%3) %*%N2,16%# %>%Q%M (%1:%0) SET STATUS_FORMAT2 2,16(Win: %W%R%F) (Lag: %2) %@%=%C2,16%+ %L %H%B%D %>%S SET -INPUT_PROMPT SET STATUS_HOLD MORE SET STATUS_HOLD_LINES : %B SET STATUS_MAIL (Mail: %M) SET STATUS_MODE (+%+) SET STATUS_NICKNAME 1,16%N SET STATUS_NOTIFY (%F) SET STATUS_NO_REPEAT ON SET STATUS_OPER 7,16* SET -STATUS_INSERT SET -STATUS_OVERWRITE SET STATUS_QUERY (Query: %Q) SET STATUS_SERVER (on %S) SET STATUS_TRUNCATE_RHS ON SET STATUS_UMODE (+%#) SET STATUS_VOICE 8,16+ SET STATUS_WINDOW +++ ^WINDOW DOUBLE ON # Event formats ALIAS fmt.action RETURN * $0${iscurchan($1)?[]:[\:12$1]} $2- ALIAS fmt.action_me RETURN > \(16$N\\) * $0 $2- ALIAS fmt.auto_reply RETURN 2\(${ischanop($0 $1)?[12@16$0]:[16$0]}2\): $2- ALIAS fmt.auto_reply_other RETURN 2\(${ischanop($0 $1)?[2@16$0\:12$1]:[16$0\:12$1]}\2\): $2- ALIAS fmt.cant_join RETURN You can't join $0: $1- ALIAS fmt.channel_nick RETURN 14* $0 14* $1 is now known as $2 ALIAS fmt.channel_signoff RETURN Quit $0\: $1 \($2-\) $Z ALIAS fmt.ctcp_channel RETURN CTCP $toupper($2) from $uh($0) to $1 ALIAS fmt.ctcp_me RETURN CTCP $toupper($2) from $uh($0) to You ALIAS fmt.ctcp_server RETURN CTCP $toupper($2) from $uh($0) to $1 ALIAS fmt.dcc_chat RETURN 7=12$07= $1- ALIAS fmt.invite RETURN $0 \($2\) invites you to $1 ALIAS fmt.join RETURN Join $1\: $0 \($2\) $Z ALIAS fmt.kick RETURN Kick $2\: $0 by $1 \($3-\) $Z ALIAS fmt.kick_me RETURN $1 kicked you from $2 \($3-\) $Z ALIAS fmt.leave RETURN Left $1\: $0 \($2\) ${[$3]!=[]?[\($3-\)]:[]} $Z ALIAS fmt.mode RETURN Mode set \"$2-\" on $1 by $0 ALIAS fmt.mode_bans RETURN Mode stack \($2\) on $1 by $0 ALIAS fmt.mode_me RETURN User mode change \"$N $2-\" on $S ALIAS fmt.mode_server RETURN $0 sets mode \"$2-\" on $1 ALIAS fmt.msg RETURN 10\( 12$uh($0)\ 10\) $1- ALIAS fmt.msg_group RETURN 10\( 12$uh($0)\ 10\) \($1:$S\) $2- ALIAS fmt.notice RETURN 4- 12$uh($0)\ 4- $1- ALIAS fmt.notice_group RETURN 4- 12$uh($0)\ 4- \($1:$S\) $2- ALIAS fmt.notify_signoff RETURN Signoff detected: $0 ${ismset(T)?[]:ts()} ALIAS fmt.notify_signon RETURN Signon detected: $0 ${ismset(T)?[]:ts()} ALIAS fmt.notify_signon_uh RETURN Signon detected: $0 \($1\) ${ismset(T)?[]:ts()} ALIAS fmt.public RETURN 2\(${match(** $igtype($rigmask($0!$userhost($0))))?[${ischanop($0 $1)?[12@$0]:[$0]}]:[${ischanop($0 $1)?[12@$0]:[$0]}]}2\): $2- ALIAS fmt.public_msg RETURN 2\(<$0:11$1\2>\): $2- ALIAS fmt.public_other RETURN 2\(${match(** $igtype($rigmask($0!$userhost($0))))?[${ischanop($0 $1)?[12@$0\:12$1]:[$0\:12$1]}]:[${ischanop($0 $1)?[12@$0\:12$1]:[$0\:12$1]}]}2\): $2- ALIAS fmt.public_notice RETURN 4- 13$0:12$ch($1) 4- $2- ALIAS fmt.sc_max RETURN 7 ALIAS fmt.sc_top RETURN $cparse(%K|\(%n%Wchannel:%n%c $0%n%K\)$repeat(${66-strlen($0)} -)) ALIAS fmt.sc_mid (list) { FE ($list) xx { @ :mod = pass(@+% $xx) @ :spc = mod ? mod : [ ] @ msar(r/%/%%/spc) @ :nic = strip(@+% $xx) @ :ret #= [%B] ## spc ## [%n] ## [$[9]nic] ## [ ] } RETURN $cparse(%K|%n$ret) } ALIAS fmt.sc_bot RETURN $cparse(%K|\(%n%Wscanned %B@%c $Z%n%K\)$repeat(26 -)\(%n%Wo:%n%c$repeat(${3-strlen($1)} $chr(32))$1%n%K\)=\(%n%Wh:%n%c$repeat(${3-strlen($2)} $chr(32))$2%n%K\)=\(%n%Wv:%n%c$repeat(${3-strlen($3)} $chr(32))$3%n%K\)=\(%n%Wt:%n%c$repeat(${3-strlen($5)} $chr(32))$5%n%K\)-%n) ALIAS fmt.send_action RETURN 10* $N${iscurchan($0)?[]:[\:$0]} $1- ALIAS fmt.send_action_me RETURN 14>> \(16$0\\) 10* $N $1- ALIAS fmt.send_dcc_chat RETURN 14>> 7=12$07= $1- ALIAS fmt.send_msg RETURN 14>> 10\( 12$0 10\) $1- ALIAS fmt.send_notice RETURN 14>> 4- 12$0 4- $1- ALIAS fmt.send_public RETURN 10\(${ischanop($N $0)?[12@$N${iscurchan($0)?[]:[\:12$0]}]:[$N${iscurchan($0)?[]:[\:12$0]}]}\10\): $1- ALIAS fmt.server_notice RETURN *$0* $2- ALIAS fmt.talk_reply RETURN *$0* ALIAS fmt.titlebar RETURN 2,15$0: $1- ALIAS fmt.topic RETURN Topic change on $1 by $0: $2- ALIAS fmt.topic_set RETURN Topic on $0\: $1- ALIAS fmt.usercmd RETURN Friend !$1 request: $uh($0) ALIAS fmt.wallop RETURN 7WallOp: 12\( $0@$servername() 12\) $2- ALIAS fmt.wallop_me RETURN 14>> 4-7WallOp:4-$0\\($1\) $2- ALIAS fmt.wallop_server RETURN 7WallOp: *$0* $2- ALIAS fmt.whois_bot RETURN 14--- End of $0 info --- ALIAS fmt.whois_mid RETURN 2: 12$[-9]0 2: $1- ALIAS fmt.whois_top RETURN 1,12: 9,12$0 for 1,12: 16,12$1 11,12\($2@$3\)  # Event banner colors ALIAS fmt.banner_info RETURN 4$G ALIAS fmt.banner_party RETURN 3$G ALIAS fmt.banner_join RETURN 12$G ALIAS fmt.banner_leave RETURN 2$G ALIAS fmt.banner_signon RETURN 12$G ALIAS fmt.banner_signoff RETURN 2$G ALIAS fmt.banner_invite RETURN 12$G ALIAS fmt.banner_mode RETURN 10$G ALIAS fmt.banner_kick RETURN 11$G ALIAS fmt.banner_nick RETURN 7$G ALIAS fmt.banner_ctcp RETURN 13$G ALIAS fmt.banner_dcc RETURN 6$G ALIAS fmt.banner_alert RETURN 8$G ALIAS fmt.banner_userlist RETURN 9$G ALIAS fmt.banner_server RETURN 5$G ALIAS fmt.banner_chan RETURN 5$G ALIAS fmt.banner_usage RETURN 16$G ALIAS fmt.banner_tip RETURN 16+++ @ mytheme = [PaPaRa] ON ^CTCP "% % THEME *" { IF (ischannel($1)) { XECHO -W $1 $fmt.banner_ctcp() $fmt.ctcp_channel($*) }{ ECHO $fmt.banner_ctcp() ${([$1] == servernick($servernum())) ? fmt.ctcp_me($*) : fmt.ctcp_server($*)} } UNLESS (isset(Q)) { n $0 Current theme is $mytheme for LiCev$id.v } } XECHO -b PaPaRa, LiCe theme by HSOC <hsoc@irc.gr> #HS/00 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/themes/syntax���������������������������������������������������������������������������������0000644�0001750�0001750�00000017513�11753027721�012775� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # Description: syntax color theme. # Author: whitefang (thall@magenet.com) # # TODO: # - fix mode_me # PACKAGE LiCeTheme ALIAS shade (nick,c1,c2,c3) { @ :nik = stripc($nick) @ :len = strlen($nik) IF (len <= 2) { @ :_shade = chr(3) ## c1 ## nik } ELSIF (len == 3) { @ :_shade = chr(3) ## c1 ## mid(0 1 $nik) @ :_shade #= chr(3) ## c2 ## mid(1 1 $nik) @ :_shade #= chr(3) ## c1 ## mid(2 1 $nik) } ELSE { @ :_shade = chr(3) ## c1 ## mid(0 1 $nik) @ :_shade #= chr(3) ## c2 ## mid(1 1 $nik) @ :_shade #= chr(3) ## c3 ## mid(2 ${len-4} $nik) @ :_shade #= chr(3) ## c2 ## mid(${len-2} 1 $nik) @ :_shade #= chr(3) ## c1 ## mid(${len-1} 1 $nik) } @ :_shade #= chr(3) RETURN $_shade } EVAL XECHO -r $chr(27)\(U SET NOTIFY_USERHOST_AUTOMATIC ON SET STATUS_DOES_EXPANDOS ON ALIAS syn.time RETURN 11@14\($sar(/:/14:10/$sar(/AM/14am/$sar(/PM/14pm/10$0)))14\) # Event formats ALIAS fmt.action RETURN ù 14\[16$014:15$114\] $2- ALIAS fmt.action_me RETURN ù 14\[16$014\] $2- ALIAS fmt.auto_reply RETURN 14\<11$014\> $2- ALIAS fmt.auto_reply_other RETURN 14\<11$014:15$114\> $2- ALIAS fmt.channel_nick RETURN 14\(16nick14!15change14\) \(10$1 14Ä15Ä16> 11$214\) $syn.time($Z) ALIAS fmt.channel_signoff RETURN 14\(16signoff14!15$014\) \(11$1 14ð 10$sar(/@/14@10/$userhost())14\) \($2-14\) $syn.time($Z) ALIAS fmt.ctcp_channel RETURN \(16$0\($userhost()\)\(16$1\) $toupper($2)\) ALIAS fmt.ctcp_me RETURN \(16$015\($userhost()\) $toupper($2)\) ALIAS fmt.ctcp_server RETURN \(16$015\($userhost()\) $toupper($2)\) ALIAS fmt.dcc_chat RETURN 14\[16<11Ä10Ä 16dcc14\($014\)\] $1- ALIAS fmt.invite RETURN 14[15[16Invite15]14] $0 invites you to join 16$1 ALIAS fmt.join RETURN 14\(16join14!15$114\) \(11$0 14ð 10$sar(/@/14@10/$2)14\) $syn.time($Z) ALIAS fmt.kick RETURN 14\(16kick14!15$214\) by14\(11$1 14ð 10$sar(/@/14@10/$userhost())14\) kicked 14\(11$0 14ð $3-14\) $syn.time($Z) ALIAS fmt.kick_me RETURN 14\(16kick14!15$214\) by14\(11$1 14ð 10$sar(/@/14@10/$userhost())14\) kicked 14\(11YOU 14ð $3-14\) $syn.time($Z) ALIAS fmt.leave RETURN $14\(16part14!$114\) \(11$0 14ð 10$sar(/@/14@10/$userhost())14\) $syn.time($Z) ALIAS fmt.mode RETURN 14\(16mode14!$114\) \(11$0 14ð $2-14\) $syn.time($Z) ALIAS fmt.mode_bans RETURN 14\(16stack14!$114\) \(11$0 14ð $214\) $syn.time($Z) ALIAS fmt.mode_me RETURN 14[15[16UserMode15]14] Your usermode is now: 16+$usermode()$2 ALIAS fmt.mode_server RETURN 14\(16servermode14!$114\) \(11$0 14ð $2-14\) $syn.time($Z) ALIAS fmt.msg RETURN 14\[16<11Ä10Ä 16msg14\($0 14ð $sar(/@/14@15/$userhost())14\)\] $1- ALIAS fmt.msg_group RETURN 14\[16<11Ä10Ä 16msg14\($0 14ð $sar(/@/14@15/$userhost())14\)\] $2- #ALIAS fmt.msg_group RETURN 14-13$014:6$114- $2- ALIAS fmt.notice RETURN -16$0\($userhost()\)- $1- ALIAS fmt.notify_signoff RETURN 14\[15\[16Signoff15\]14\] $syn.time($Z) 10$0 has left IRC... ALIAS fmt.notify_signon RETURN 14\[15\[16Signon15\]14\] $syn.time($Z) 11$014\(10$sar(/@/14@10/$1)14\) is on IRC... ALIAS fmt.notify_signon_uh RETURN 14\[15\[16Signon15\]14\] $syn.time($Z) 11$014\(10$sar(/@/14@10/$1)14\) is on IRC... ALIAS fmt.public RETURN 14\<16$014\> $2- ALIAS fmt.public_msg RETURN 14\(16$014\) $2- ALIAS fmt.public_other RETURN 14\<16$014:15$114\> $2- ALIAS fmt.public_notice RETURN -16$0\($userhost()\):16$1- $2- ALIAS fmt.sc_max RETURN 6 ALIAS fmt.sc_top { ECHO $G 14\(16names 14ú 15$014\) 15Listing users on 16$015\(16$numonchannel($0)15\) RETURN 14ÚÄÄ15Ä16-15Ä14ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ-Ä-Ä15Ä16-15Ä15Ä14Ä--ÄÄ-Ä15Ä-16Ä-Ä 14-Ä15Ä16-Ä- 15-16Ä } ALIAS fmt.sc_mid (list) { @ :cnt = 0 FE ($list) xx { @ :cnt++ @ :mod = pass(@+% $xx) @ :spc = mod ? mod : [ ] @ :nic = strip(@+% $xx) @ :ret #= [16] ## spc ## [15] ## [$[10]nic] ## [${cnt!=fmt.sc_max()?[14ú ]:[]}] } RETURN 14³ $ret } ALIAS fmt.sc_bot RETURN 14ÀÄÄ15Ä16-15Ä14ÄÄÄÄÄÄÄ15Ä16Ä-15ÄÄ15Ä14ÄÄÄ--ÄÄÄ-Ä15ÄÄ-16ÄÄ-Ä 14Ä-Ä15Ä16-ÄÄ- 15-16Ä01$0 ALIAS fmt.send_action RETURN ù 14[$shade($N 14 15 16)14] $1- ALIAS fmt.send_action_me RETURN 14\[10Ä11Ä16> 16action14\(15$014\)\] $1- ALIAS fmt.send_dcc_chat RETURN 14\[10Ä11Ä16> 16dcc14\(15$014\)\] $1- ALIAS fmt.send_msg RETURN 14\[10Ä11Ä16> 16msg14\(15$014\)\] $1- ALIAS fmt.send_notice RETURN 14\[10Ä11Ä16> 16notice14\(15$014\)\] $1- ALIAS fmt.send_public RETURN 14\<$shade($N 14 15 16)14\> $1- ALIAS fmt.server_notice RETURN \(16$0\) $4- ALIAS fmt.titlebar RETURN 14[10$014] [$1-14] ALIAS fmt.topic RETURN 14\(16topic14!15$114\) \(11$0 14ð 15$2-14\) $syn.time($Z) ALIAS fmt.topic_set { if ([$1-] == [<No Topic Set>]) {RETURN 14\(16topic 14ú 15$014\) None} if ([$1]==[Set]&&[$2]==[by]&&[$4]==[on]) {RETURN 14\(16topic 14ú 15$014\) set by 16$3 on $5-} {RETURN 14\(16topic 14ú 15$014\) $1-} } ALIAS fmt.usercmd RETURN 14\[15\[16Friend15\]14\] 11$1 request from 16$0 $syn.time($Z) ALIAS fmt.wallop RETURN 16!3$016! $2- ALIAS fmt.wallop_me RETURN $G \(16wallop\($0\) $2- ALIAS fmt.whois_bot RETURN $()14ÀÄÄ15Ä16-15Ä14ÄÄÄÄÄÄÄ15Ä16Ä-15ÄÄ15Ä14ÄÄÄ--ÄÄÄ-Ä15ÄÄ-16ÄÄ-Ä 14Ä-Ä15Ä16-ÄÄ- 15-16Ä ALIAS fmt.whois_mid { IF (temp.syn.whois_uh) { echo 14³ 16address 14ð15 $sar(/@/14@15/$temp.syn.whois_uh) ^assign -temp.syn.whois_uh } SWITCH ($0) { (Ircname) {RETURN 14³ 16quote 14ð $1-} (Domain) {RETURN 14³ 16domain 14ð $1-} (Shitlist) {RETURN 14³ 16shitinfo 14ð $1-} (Userlist) {RETURN 14³ 16userinfo 14ð $1-} (Channels) {RETURN 14³ 16channels 14ð $1-} (Server) {RETURN 14³ 16server 14ð $1-} (Away) {RETURN 14³ 16away 14ð $1-} (Operator) {RETURN 14³ 16operator 14ð ..16!@#$15} (Signon) {RETURN 14³ 16signon 14ð $1-} (Idle) {RETURN 14³ 16idle 14ð $1-} (Spoof) {RETURN 14³ 16spoof 14ð $1-} (Notes) {RETURN 14³ 16notes 14ð $1-} (Identity) {RETURN 14³ 16identity 14ð $1-} } } ALIAS fmt.whois_top { ^ASSIGN temp.syn.whois_uh $2@$3 RETURN 14ÚÄÄ15Ä16-15Ä14ÄÄ\(\( $tolower($0) information: 16$114 \)\)ÄÄ-Ä-Ä15Ä16-15Ä15Ä14Ä--ÄÄ-Ä15Ä-16Ä-Ä 14-Ä15Ä16-Ä- 15-16Ä } # Banner for this theme SET BANNER 14ú15ú16ú15 # Event banner colors ALIAS fmt.banner_info RETURN $G ALIAS fmt.banner_party RETURN $G ALIAS fmt.banner_join RETURN $G ALIAS fmt.banner_leave RETURN $G ALIAS fmt.banner_signon RETURN $G ALIAS fmt.banner_signoff RETURN $G ALIAS fmt.banner_invite RETURN $G ALIAS fmt.banner_mode RETURN $G ALIAS fmt.banner_kick RETURN $G ALIAS fmt.banner_nick RETURN $G ALIAS fmt.banner_ctcp RETURN ${} ALIAS fmt.banner_dcc RETURN $G ALIAS fmt.banner_alert RETURN $G ALIAS fmt.banner_userlist RETURN $G ALIAS -fmt.banner_server ALIAS fmt.banner_usage RETURN $G SET CLOCK_24HOUR OFF SET STATUS_NO_REPEAT OFF SET STATUS_AWAY 14]ÄÄ[16a15way14:16$sar(/://$status_user1) SET STATUS_CHANNEL 15ù 10%C SET STATUS_CHANOP 11@ SET STATUS_CLOCK 10À14Ä[16c15lock14:16%T SET STATUS_FORMAT 14ð 16%R10:%*%@%N%#%B%C%+%A14Ä%>%!110:16%2 14ð SET STATUS_FORMAT1 11Ú14Ä[16%R14:%*%@10%N%#%B%C%+%A14]Ä%>¿ 11Ú10Ä14ÄÄÄ[16l15ag14:16%214]ÄÄÄÄÄ10¿ SET STATUS_FORMAT2 10ÀÄ14[16t15og14:16%014]ÄÄ[16s15erver14:16$servername($winserv())14%F%M14]Ä%>10Ù %T14]ÄÙ SET STATUS_HOLD_LINES 10, %B SET STATUS_MAIL 14]ÄÄ[11m10ail11(10%M11) SET STATUS_MODE 14(11+%+14) SET STATUS_NICK %N SET STATUS_NOTIFY 14]ÄÄ[11a14:10%F SET STATUS_OPER 11* SET STATUS_UMODE 14(11+%#14) SET STATUS_VOICE + SET STATUS_WINDOW ^^^^^ #tjbh/99 �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/themes/merenta��������������������������������������������������������������������������������0000644�0001750�0001750�00000017200�11752157556�013104� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # Description: Merenta, theme for LiCe. # Author: HSOC <hsoc@irc.gr> # started @ Wed May 17 19:57:15 MST 2000 # updated @ Tue Jun 6 13:13:18 MST 2000 PACKAGE LiCeTheme # Banner for this theme ^SET BANNER |%| # DCC's made phaster... ^SET DCC_SLIDING_WINDOW 500 #correction for modes ON ^MODE "% #% %bb *" {XECHO -W $1 $fmt.banner_mode() $fmt.mode_bans($*)} ON ^MODE "% #% %oo *" {XECHO -W $1 $fmt.banner_mode() $fmt.mode_bans($*)} ON ^MODE "% #% %vv *" {XECHO -W $1 $fmt.banner_mode() $fmt.mode_bans($*)} ON ^MODE "*.* #% *" {XECHO -W $1 $fmt.banner_mode() $fmt.mode_server($*)} # Status sets SET CLOCK ON SET CLOCK_24HOUR OFF SET NOTIFY_USERHOST_AUTOMATIC ON SET STATUS_AWAY 9|A| SET STATUS_CHANNEL 10%C SET STATUS_CHANOP 4@ SET STATUS_CLOCK 4@12$uni.time SET STATUS_CPU_SAVER =%L= SET STATUS_DOES_EXPANDOS ON SET STATUS_FORMAT 12[%T] %*%N12%# %@%=%C12%+ %W %A12 %H%B %F %Q%M %>12[Lag: %2] [%1:%0] SET STATUS_FORMAT1 12[%T] %@%=%C%+12 %Q%L%H%B%I%O %>$left($index(: %D) %D)$rest($rindex(: %D) %D) 12[%3] SET STATUS_FORMAT2 12[Win-%R: %*${%1!=[0]?[\(%1\)]:[]}%N11@10$after(-2 . $S)12]%A12 %>%M12[Lag: %2] SET -INPUT_PROMPT SET STATUS_HOLD MORE SET STATUS_HOLD_LINES : %B SET STATUS_MAIL [Mail: %M] SET STATUS_MODE (+%+) SET STATUS_NICKNAME 10%N SET STATUS_NOTIFY (%F) SET STATUS_NO_REPEAT OFF SET STATUS_OPER 7* SET -STATUS_INSERT SET STATUS_OVERWRITE [O] SET STATUS_QUERY [Query: %Q] SET STATUS_SERVER (on %S) SET STATUS_TRUNCATE_RHS ON SET STATUS_UMODE (+%#) SET STATUS_VOICE 8+ SET STATUS_WINDOW +++ ^WINDOW DOUBLE ON # sanity timestamping ALIAS ts.time RETURN 10@ $sar(/AM/am/$sar(/PM/pm/$0)) # Event formats ALIAS fmt.action RETURN * ${ischanop($0 $1)?[9@$0${iscurchan($1)?[]:[\:10$tolower($1)]}]:[$0${iscurchan($1)?[]:[\:10$tolower($1)]}]} $2- ALIAS fmt.action_me RETURN > \(16$N\) * $0 $2- ALIAS fmt.auto_reply RETURN 2\(${ischanop($0 $1)?[9@8$0]:[8$0]}2\> $2- ALIAS fmt.auto_reply_other RETURN 2\(${ischanop($0 $1)?[9@8$0\:10$1]:[8$0\:10$1]}2\> $2- ALIAS fmt.cant_join RETURN 10[ JOIN ] Can't join $0 \($1-\) ALIAS fmt.channel_nick RETURN 10[ NICK ] $1 is now known as $2 in $0 ALIAS fmt.channel_signoff RETURN 10[ QUIT ] $1 signed off $0 \($2-\) $ts.time($Z) ALIAS fmt.ctcp_channel RETURN CTCP $toupper($2) from $0 \($userhost()\) to $1 ALIAS fmt.ctcp_me RETURN CTCP $toupper($2) from $0 \($userhost()\) to You ALIAS fmt.ctcp_server RETURN CTCP $toupper($2) from $0 \($userhost()\) to $1 ALIAS fmt.dcc_chat RETURN 12=6$012= $1- ALIAS fmt.invite RETURN 10[ INVITE ] $0 \($2\) invites you to $1 ALIAS fmt.join RETURN 10[ JOIN ] $0 ${ismset(V)?[\($2\) entered $tolower($1) $ts.time($Z)]:[entered $tolower($1) $ts.time($Z)]} ALIAS fmt.kick RETURN 10[ KICK ] $1 kicked $0 from $tolower($2) \($3-\) $ts.time($Z) ALIAS fmt.kick_me RETURN [ KICK ] $1 kicked YOU from $tolower($2) \($3-\) $ts.time($Z) ALIAS fmt.leave RETURN 10[ PART ] $0 ${ismset(V) ? [\($2\) left $tolower($1) \($3-\) $ts.time($Z)]:[left $tolower($1) $ts.time($Z)]} #${[$strlen($3)] ? [\($3-\) $ts.time($Z)] : [$ts.time($Z)]} : # [${[strlen($3)]!=[] ? [left $tolower($1) \($3-\) $ts.time($Z)] : # [left $tolower($1) $ts.time($Z)]}]} ALIAS fmt.mode RETURN 10[ MODE ] $0 sets \"$2-\" in $tolower($1) ALIAS fmt.mode_bans RETURN 10[ MODE ] $0 stacks \($2\) ${ismset(V)?[$3- in $tolower($1)]:[in $tolower($1)]} ALIAS fmt.mode_me RETURN 12[ USER ] $N sets \"$2-\" on $S ALIAS fmt.mode_server RETURN 12[ SERVER ] 10$0 sets mode\: \"$2-\" on $1 ALIAS fmt.msg RETURN 12\( 11$uh($0)\ 12\> $1- ALIAS fmt.msg_group RETURN 12\( 11$uh($0)\ 12\> [$1] $2- ALIAS fmt.notice RETURN ${(rmatch($strip( $1) *wall*))?[12\[7$strip( $1)12\]9 $uh($0)\:]:[12\(- 9$uh($0)\ 12-\> $1]} $2- ALIAS fmt.notice_group RETURN 12\(- 9$uh($0)\ 12-\> [$1] $2- ALIAS fmt.notify_signoff RETURN Signoff detected: $0 $ts.time($Z) ALIAS fmt.notify_signon RETURN Signon detected: $0 $ts.time($Z) ALIAS fmt.notify_signon_uh RETURN Signon detected: $0 \($1\) $ts.time($Z) ALIAS fmt.public RETURN 12\(${match(** $igtype($rigmask($0!$userhost($0))))?[${ischanop($0 $1)?[9@$0]:[$0]}]:[${ischanop($0 $1)?[9@$0]:[$0]}]}12\> $2- ALIAS fmt.public_msg RETURN 12\(${match(** $igtype($rigmask($0!$userhost($0))))?[$0\:11$tolower($1)]:[$0\:11$tolower($1)]}12\> $2- ALIAS fmt.public_other RETURN 12\(${match(** $igtype($rigmask($0!$userhost($0))))?[${ischanop($0 $1)?[9@$0\:10$tolower($1)]:[$0\:10$tolower($1)]}]:[${ischanop($0 $1)?[9@$0\:10$tolower($1)]:[$0\:10$tolower($1)]}]}12\> $2- ALIAS fmt.public_notice RETURN 12\(- 9$0:10$tolower($ch($1))\ 12-\> $2- ALIAS fmt.sc_max RETURN 7 ALIAS fmt.sc_top RETURN $center($word(0 $geom()) Channel: $0) ALIAS fmt.sc_mid (list) { FE ($list) xx { @ :mod = pass(@+% $xx) @ :spc = mod ? mod : [ ] @ msar(r/%/%%/spc) @ :nic = strip(@+% $xx) @ :ret #= [%c=] ## [%B] ## spc ## [%n] ## [$[9]nic] } RETURN $cparse(%n$ret%c=) } ALIAS fmt.sc_bot RETURN $center($word(0 $geom()) [ops: $1] [halfs: $2] [voices: $3] [total: $5] [bans: $numitems(B$winserv()\-$hash_32bit($0))]) ALIAS fmt.send_action RETURN 10* ${ischanop($N $0)?[9@$N${iscurchan($0)?[]:[\:10$tolower($0)]}]:[$N${iscurchan($0)?[]:[\:10$tolower($0)]}]} $1- ALIAS fmt.send_action_me RETURN 14>> \(16$0\> 10* $N $1- ALIAS fmt.send_dcc_chat RETURN 14>> 12=6$012= $1- ALIAS fmt.send_msg RETURN 14>> 12\( 11$0 12\> $1- ALIAS fmt.send_notice RETURN 14>> 12\(- 9$0 12-\> $1- ALIAS fmt.send_public RETURN 10\(${ischanop($N $0)?[9@$N${iscurchan($0)?[]:[\:10$tolower($0)]}]:[$N${iscurchan($0)?[]:[\:10$tolower($0)]}]}\10\> $1- ALIAS fmt.server_notice RETURN \(\<12$0\>\) $2- ALIAS fmt.talk_reply RETURN \($0\> ALIAS fmt.titlebar RETURN 12[$0 : $1-] ALIAS fmt.topic RETURN 10[ TOPIC ] $0 sets \"$2-\" in $tolower($1) ALIAS fmt.topic_set RETURN 10[ TOPIC ] $1- ALIAS fmt.usercmd RETURN Friend !$1 request\: $uh($0) ALIAS fmt.wallop RETURN $banner 7[ WallOp ] 12\( $0@$after(-2 . $S) 12\) $2- ALIAS fmt.wallop_me RETURN 14>> 12[ 7WallOp 12] $0\\($1\) $2- ALIAS fmt.wallop_server RETURN $banner 7[ WallOp ] \(\<12$0\>\) $2- ALIAS fmt.whois_bot RETURN 1,2[$[${word(0 $geom()) - 3}]center(${word(0 $geom()) - 1} --- End of $0 info ---)] ALIAS fmt.whois_mid RETURN 1,10| 12,10$[-9]0 1,10:1,10 ${strlen($1-) < word(0 $geom()) - 15 ? [$[${word(0 $geom()) - 15}]stripcrap(ALL $1-)] : [$stripcrap(ALL $1-)]} ALIAS fmt.whois_top RETURN 1,2[ 11,2${[$right(2 $0)]==[is]?[$0 for]:[ $0 ]} 1,2: $[${word(0 $geom())}]center(${word(0 $geom()) - 2} 8,2$1 1,2\(9,2$2@$31,2\))] # Event banner colors ALIAS fmt.banner_info RETURN 4$G ALIAS fmt.banner_party RETURN 3[PARTY] ALIAS fmt.banner_join RETURN 12$G ALIAS fmt.banner_leave RETURN 2$G ALIAS fmt.banner_signon RETURN 12$G ALIAS fmt.banner_signoff RETURN 2$G ALIAS fmt.banner_invite RETURN 12$G ALIAS fmt.banner_mode RETURN 10$G ALIAS fmt.banner_kick RETURN 11$G ALIAS fmt.banner_nick RETURN 7$G ALIAS fmt.banner_ctcp RETURN 13$G ALIAS fmt.banner_dcc RETURN 6$G ALIAS fmt.banner_alert RETURN 8$G ALIAS fmt.banner_userlist RETURN 9$G ALIAS fmt.banner_server RETURN 5$G ALIAS fmt.banner_chan RETURN 5$G ALIAS fmt.banner_usage RETURN 16$G ALIAS fmt.banner_tip RETURN 16+++ @ mytheme = [merenta] ON ^CTCP "% % THEME *" { IF (ischannel($1)) { XECHO -W $1 $fmt.banner_ctcp() $fmt.ctcp_channel($*) }{ ECHO $fmt.banner_ctcp() ${([$1] == servernick($servernum())) ? fmt.ctcp_me($*) : fmt.ctcp_server($*)} } UNLESS (isset(Q)) { n $0 Current theme is $mytheme for LiCev$id.v } } XECHO -b MeReNTa, LiCe theme by HSOC <hsoc@irc.gr> #HS/00 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/themes/mirc�����������������������������������������������������������������������������������0000644�0001750�0001750�00000010761�11542462257�012402� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # Description: MIRC color theme. # Author: Hillie (hillie@amigascne.org) # PACKAGE LiCeTheme ECHO * Warning! You must use a white background for this to look right. purge temp.mcol purge temp.mopt # boolean: Prefix own PUBLIC TEXT? @ temp[MOPT][PREFIX] = 0 # boolean: Show USERHOST in notify? [must be on/off] ^SET NOTIFY_USERHOST_AUTOMATIC Off # Event color vars [edit this to your liking] @ temp[MCOL][NORMAL] = [1] @ temp[MCOL][ACTION] = [6] @ temp[MCOL][CTCP] = [7] @ temp[MCOL][HILITE] = [4] @ temp[MCOL][INFO] = [2] @ temp[MCOL][INFO2] = [3] @ temp[MCOL][INVITE] =[3] @ temp[MCOL][JOIN] = [3] @ temp[MCOL][KICK] = [3] @ temp[MCOL][MODE] = [3] @ temp[MCOL][NICK] = [3] @ temp[MCOL][NOTICE] = [4] @ temp[MCOL][NOTIFY] = [2] @ temp[MCOL][OTHER] = [6] @ temp[MCOL][OWN] = [1] @ temp[MCOL][PART] = [3] @ temp[MCOL][QUIT] = [2] @ temp[MCOL][TOPIC] = [3] @ temp[MCOL][WALLOPS] = [4] @ temp[MCOL][WHOIS] = [1] # Event formats ALIAS fmt.action RETURN ${temp[MCOL][NORMAL]}* $0${([$1]==C)?[]:[\:$1]} $2- ALIAS fmt.action_me RETURN ${temp[MCOL][NORMAL]}* $1- ALIAS fmt.auto_reply RETURN ${temp[MCOL][HILITE]}<$0> $2- ALIAS fmt.auto_reply_other RETURN ${temp[MCOL][HILITE]}<$0:$1> $2- ALIAS fmt.channel_nick RETURN $1 is now known as $2 ALIAS fmt.channel_signoff RETURN Quits $0: $1 \($2-\) ALIAS fmt.ctcp_channel RETURN [$0 $toupper($2)\] ALIAS fmt.ctcp_me RETURN [$0 $toupper($2)\] ALIAS fmt.ctcp_server RETURN [$0 $toupper($2)\] ALIAS fmt.dcc_chat RETURN ${temp[MCOL][NORMAL]}=$0= $1- ALIAS fmt.invite RETURN ${temp[MCOL][INVITE]}$0 \($2\) invites you to $1 ALIAS fmt.join RETURN $0 \($2\) has joined $1 ALIAS fmt.kick RETURN $0 was kicked from $2 by $1 \($3-\) ALIAS fmt.kick_me RETURN You were kicked from $2 by $1 \($3-\) ALIAS fmt.leave RETURN $0 has left $1 \($2\) ALIAS fmt.mode RETURN $0 sets mode on $1: $2- ALIAS fmt.mode_bans RETURN $0 sets mode on $1: $2- ALIAS fmt.mode_me RETURN ${temp[MCOL][MODE]}$N sets mode: $2- ALIAS fmt.mode_server RETURN $0 sets mode on $1: $2- ALIAS fmt.msg RETURN ${temp[MCOL][NORMAL]}*$0* $1- ALIAS fmt.msg_group RETURN ${temp[MCOL][NORMAL]}*$0* \($1:$S\) $2- ALIAS fmt.notice RETURN ${temp[MCOL][NOTICE]}-$0\- $1- ALIAS fmt.notify_signoff RETURN $0 is no longer on IRC ALIAS fmt.notify_signon RETURN $0 is on IRC ALIAS fmt.notify_signon_uh RETURN $0 \($1\) is on IRC ALIAS fmt.public RETURN ${temp[MCOL][NORMAL]}<$0> $2- ALIAS fmt.public_msg RETURN ${temp[MCOL][NORMAL]}*$0:$1* $2- ALIAS fmt.public_other RETURN ${temp[MCOL][NORMAL]}<$0:$1> $2- ALIAS fmt.public_notice RETURN ${temp[MCOL][NOTICE]}-$0:$1\- $2- ALIAS -fmt.sc_max ALIAS fmt.send_action RETURN ${temp[MCOL][NORMAL]}* $N${([$0]==C)?[]:[\:$0]} $1- ALIAS fmt.send_action_me RETURN ${temp[MCOL][NORMAL]}* $N $1- ALIAS fmt.send_dcc_chat RETURN ${temp[MCOL][NORMAL]}-> =$0= $1- ALIAS fmt.send_msg RETURN ${temp[MCOL][NORMAL]}-> *$0* $1- ALIAS fmt.send_notice RETURN ${temp[MCOL][NOTICE]}-> -$0\- $1- ALIAS fmt.send_public RETURN ${temp[MCOL][OWN]}${(!temp.mopt.prefix)?[> $1-]:[<$N${([$0]==C)?[]:[\:$0]}\> $1-]} ALIAS fmt.server_notice RETURN ${temp[MCOL][NORMAL]}#$0# $2- ALIAS fmt.topic RETURN ${temp[MCOL][TOPIC]}$0 changes topic on $1 to '$2-' ALIAS fmt.topic_set RETURN ${temp[MCOL][TOPIC]}Topic on $0 is: '$1-' ALIAS fmt.wallop RETURN ${temp[MCOL][WALLOPS]}Wallop: <$0> $3- ALIAS fmt.wallop_me RETURN ${temp[MCOL][NOTICE]}-$N- WallOp:$0\\($1\) $2- ALIAS fmt.whois_bot RETURN ${temp[MCOL][NORMAL]}* End of /$toupper($0) list $_wing() ALIAS fmt.whois_mid RETURN ${temp[MCOL][WHOIS]}$temp.wing $* ALIAS fmt.whois_top RETURN ${temp[MCOL][WHOIS]}$1 \($2@$3\) $_wing($1) # Banner for this theme ^SET BANNER *** # Event banner colors ALIAS fmt.banner_info RETURN ${temp[MCOL][INFO2]}$G ALIAS fmt.banner_party RETURN ${temp[MCOL][INFO]}$G ALIAS fmt.banner_join RETURN ${temp[MCOL][JOIN]}$G ALIAS fmt.banner_leave RETURN ${temp[MCOL][PART]}$G ALIAS fmt.banner_signon RETURN ${temp[MCOL][NOTIFY]}$G ALIAS fmt.banner_signoff fmt.banner_signon ALIAS fmt.banner_invite RETURN ${temp[MCOL][INVITE]}$G ALIAS fmt.banner_mode RETURN ${temp[MCOL][MODE]}$G ALIAS fmt.banner_kick RETURN ${temp[MCOL][KICK]}$G ALIAS fmt.banner_nick RETURN ${temp[MCOL][NICK]}$G ALIAS fmt.banner_ctcp RETURN ${temp[MCOL][CTCP]}- ALIAS fmt.banner_dcc RETURN ${temp[MCOL][CTCP]}- ALIAS fmt.banner_alert RETURN ${temp[MCOL][INFO]}$G ALIAS fmt.banner_userlist RETURN ${temp[MCOL][INFO]}$G ALIAS fmt.banner_server RETURN ${temp[MCOL][NORMAL]}* ALIAS fmt.banner_usage RETURN ${temp[MCOL][NORMAL]}* # whois nick grabber ALIAS _wing {IF ([$0]) {@ temp.wing = [$0]}{^ASSIGN -temp.wing}} # aeq/99 ���������������lice5/themes/ktheme���������������������������������������������������������������������������������0000644�0001750�0001750�00000005351�11542462257�012724� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� PACKAGE LiCeTheme EVAL XECHO -r $chr(27)\(U ^SET BANNER ... SET status_no_repeat off SET status_does_expandos on SET status_away 14,1[15a14,1]Ä SET status_channel %C SET status_chanop @ SET status_clock 14,1[14time14,1.16$tolower(%T)14,1] SET status_format 14,11ktheme does not support single line statusbar. /theme or ^WD to resolve... SET status_format1 14,1ÚÄ[16%@%=15%N%#14,1]Ä[15,1%314,1][15lag14,1.16%214,1]Ä%>14,1[15%114,1.16$tolower(%0)14,1]Ä%F14,1[14win14,1.16%R14,1]%W14,1ÄÄ¿ SET status_format2 14,1ÀÄÄÄ%9Ä%Q%\[15,1$servername($winserv())14,1\]Ä%>%H%M%A%T14,1ÄÙ SET status_hold 14,1[14more14,1]Ä SET status_insert 14,1[14ins14,1]Ä SET status_mail 14,1[14m14,1.16%M14,1]Ä SET status_mode 14,1/16+%+ SET status_nickname %N SET status_notify 14,1[14a14,1.16%F14,1]Ä SET status_oper * SET status_overwrite 14,1[14ovr14,1]Ä SET status_query 14,1[14q14,1.16%Q14,1]Ä SET status_scrollback 14,1[16buf14,1]Ä SET status_server %S SET status_umode 14,1/14,1+%# SET status_user9 ${C?[14,1[15o14,1.16$#chops()14,1/15n14,1.16$#nochops()14,1/15t14,1.16$numonchannel()14,1]] : []} SET status_voice + SET status_window 14,1Ä[14+14,1] SET input_prompt 14[$C14]+$chanmode()14>  ALIAS fmt.talk_reply RETURN $0- ALIAS fmt.whois_bot RETURN 14... end.14of.14$0 ... ALIAS fmt.whois_mid RETURN 14:. 10$[-9]0 14: $1- ALIAS fmt.whois_top RETURN 14:. $0 $1 \14[10$214@10$3\14] .. ALIAS fmt.msg RETURN 14[15[2$uh($0)\15] $1- ALIAS fmt.msg_group RETURN 14[15[2$uh($0)\15] \($1:$S\) $2- ALIAS fmt.send_msg RETURN 14>> 15[ 2$0 15] $1- ALIAS fmt.dcc_chat RETURN 14=:$0:14= $1- ALIAS fmt.send_dcc_chat RETURN 14>> =$014= $1- ALIAS fmt.titlebar RETURN 14[16$014] [$1-14] ALIAS fmt.notice RETURN 16- 11$uh($0)\ 16- $1- ALIAS fmt.send_notice RETURN 14>> 16- 10$0 16- $1- ALIAS fmt.banner_info RETURN 4$G ALIAS fmt.banner_party RETURN 3$G ALIAS fmt.banner_join RETURN 4$G ALIAS fmt.banner_leave RETURN 2$G ALIAS fmt.banner_signon RETURN 12$G ALIAS fmt.banner_signoff RETURN 2$G ALIAS fmt.banner_invite RETURN 12$G ALIAS fmt.banner_mode RETURN 10$G ALIAS fmt.banner_kick RETURN 11$G ALIAS fmt.banner_nick RETURN 7$G ALIAS fmt.banner_ctcp RETURN 13$G ALIAS fmt.banner_dcc RETURN 6$G ALIAS fmt.banner_alert RETURN 8$G ALIAS fmt.banner_userlist RETURN 9$G ALIAS fmt.banner_server RETURN 14$G ALIAS fmt.banner_chan RETURN 14$G ALIAS fmt.banner_usage RETURN 16$G ALIAS fmt.banner_tip RETURN 16+++ @ k.theme = [y] XECHO -b :: ktheme for [k] invalid modifikations: by invalid. XECHO -b :: <invalid@worldnetoh.com> ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/themes/simplex��������������������������������������������������������������������������������0000644�0001750�0001750�00000012677�11753027721�013136� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# simlpex # Author: Q <Q@ping.be> # Updated for Halfop support and bugfixes by tjh # last changed: 19990103 # last changed by tjh: 20120510 (13 years later!) # bases on the lice3 theme by SrfRoG (srfrog@mistik.net) PACKAGE LiCeTheme # Status sets SET CLOCK ON SET CLOCK_24HOUR ON SET STATUS_AWAY A SET STATUS_CHANNEL %C SET STATUS_CHANOP @ SET STATUS_CLOCK [%T] SET -STATUS_CPU_SAVER SET STATUS_DOES_EXPANDOS OFF SET STATUS_FORMAT %T %*%N%# %@%=%C%+ %W%A %H%B %F%M%Q %>[Lag: %2] [%1:%0] SET STATUS_FORMAT1 %T %*%N%# %@%=%C%+ %A %>%Q %M [%1:%0] SET STATUS_FORMAT2 [Win: %W%R%F] [Lag: %2] [%3] %H%B %>%D SET STATUS_HOLD Press ENTER SET STATUS_HOLD_LINES :%B SET -STATUS_INSERT SET STATUS_MAIL [Mail: %M] SET STATUS_MODE (+%+) SET STATUS_NICKNAME %N SET STATUS_NOTIFY (%F) SET STATUS_NO_REPEAT ON SET STATUS_OPER * SET -STATUS_OVERWRITE SET STATUS_QUERY [Query: %Q] SET STATUS_SERVER %S SET STATUS_TRUNCATE_RHS ON SET STATUS_UMODE (+%#) SET STATUS_VOICE + SET STATUS_WINDOW + ^WINDOW DOUBLE ON # Event formats ALIAS fmt.action RETURN * $0${iscurchan($1)?[]:[\:]##ch($1)} $2- ALIAS fmt.action_me RETURN  $uh($0)  * $0 $2- ALIAS fmt.auto_reply RETURN <$0> $2- ALIAS fmt.auto_reply_other RETURN <$0:$ch($1)\> $2- ALIAS fmt.channel_nick RETURN $1 is now known as $2 ALIAS fmt.channel_signoff RETURN Signoff $ch($0)\: $1 \($2-\) ALIAS fmt.ctcp_channel RETURN CTCP $toupper($2) from $uh($0) to $ch($1) ${!strlen($3)?[]:[:$3-]} ALIAS fmt.ctcp_me RETURN CTCP $toupper($2) from $uh($0) to You ${!strlen($3)?[]:[:$3-]} ALIAS fmt.ctcp_server RETURN CTCP $toupper($2-) from $uh($0) to $1 ${!strlen($3)?[]:[:$3-]} ALIAS fmt.dcc_chat RETURN =$0= $1- ALIAS fmt.invite RETURN $0 \($2\) invites you to $1 ALIAS fmt.join RETURN $0 \($2\) joined $ch($1) ALIAS fmt.kick RETURN $1 kicked $0 from $ch($2) \($3-\) ALIAS fmt.kick_me RETURN $1 kicked You from $ch($2) \($3-\) ALIAS fmt.leave RETURN $0 \($2\) left $ch($1) ${!strlen($3)?[]:[\($3-\)]} ALIAS fmt.mode RETURN Mode change \"$2-\" on $ch($1) by $0 ALIAS fmt.mode_bans RETURN Mode stack \($2\) on $ch($1) by $0 ALIAS fmt.mode_me RETURN User mode change \"$N $2-\" on $S ALIAS fmt.mode_server RETURN Mode change \"$2-\" on $ch($1) \($0\) ALIAS fmt.msg RETURN  $uh($0)  $1- ALIAS fmt.msg_group RETURN -$uh($0)- [$1] $2- ALIAS fmt.notice RETURN [$uh($0)] $1- ALIAS fmt.notify_signoff RETURN Signoff detected: $0 ALIAS fmt.notify_signon RETURN Signon detected: $0 ALIAS fmt.notify_signon_uh RETURN Signon detected: $0 \($1\) ALIAS fmt.public RETURN <$0> $2- ALIAS fmt.public_msg RETURN \($0:$ch($1)\) $2- ALIAS fmt.public_other RETURN <$0:$ch($1)\> $2- ALIAS fmt.public_notice RETURN [$uh($0):$ch($1)] $2- ALIAS fmt.send_action RETURN * $N${iscurchan($0)?[]:[\:]##ch($0)} $1- ALIAS fmt.send_action_me RETURN >  $0  * $N $1- ALIAS fmt.send_dcc_chat RETURN > =$0= $1- ALIAS fmt.send_msg RETURN >  $0  $1- ALIAS fmt.send_notice RETURN > [$0] $1- ALIAS fmt.send_public RETURN <$N${iscurchan($0)?[]:[\:]##ch($0)}\> $1- ALIAS fmt.server_notice RETURN #$0# $1- ALIAS fmt.talk_reply RETURN $0: ALIAS fmt.topic RETURN Topic change on $ch($1) by $0: $2- ALIAS fmt.topic_set RETURN Topic on $ch($0)\: $1- ALIAS fmt.usercmd RETURN Friend $1 request: $0 \($userhost()\) ALIAS fmt.wallop RETURN Wallop: <$0> $2- ALIAS fmt.wallop_me RETURN [WallOp:$ch($0)\\($1\)]  $N  $2- ALIAS fmt.whois_top RETURN Whois : $1!$2@$3 ALIAS fmt.whois_mid RETURN $[8]0: $1- ALIAS -fmt.whois_bot ALIAS fmt.sc_top RETURN $fmt.banner_chan() Names on $ch($0)\: ALIAS fmt.sc_mid (list) { FE ($list) xx { @ :mod = pass(@+% $xx) @ :spc = mod ? mod : [ ] @ msar(r/%/%%/spc) @ :nic = strip(@+% $xx) @ :ret #= [%n] ## spc ## [%n] ## [$[9]nic] ## [ ] } RETURN $cparse($ret) } ALIAS fmt.sc_bot RETURN $fmt.banner_chan() Ministats: +o[$1] +h[$2]-o[$4] +v[$3] - total: $5 # Event banner colors ALIAS fmt.banner_info RETURN 3$G ALIAS fmt.banner_party RETURN ::: ALIAS fmt.banner_join RETURN 12$G ALIAS fmt.banner_leave RETURN 2$G ALIAS fmt.banner_signon RETURN 7$G ALIAS fmt.banner_signoff RETURN 4$G ALIAS fmt.banner_invite RETURN 12$G ALIAS fmt.banner_mode RETURN 10$G ALIAS fmt.banner_kick RETURN 8$G ALIAS fmt.banner_nick RETURN 9$G ALIAS fmt.banner_ctcp RETURN 13$G ALIAS fmt.banner_dcc RETURN 6$G ALIAS fmt.banner_alert RETURN 8$G ALIAS fmt.banner_userlist RETURN 9$G ALIAS fmt.banner_server RETURN $G ALIAS fmt.banner_chan RETURN $G ALIAS fmt.banner_usage RETURN 14$G ALIAS fmt.banner_tip RETURN +++ ALIAS fmt.banner_whois RETURN 11$G ALIAS fmt.whois_top { ^ASSIGN sim.nick $1 ^ASSIGN sim.user $2 ^ASSIGN sim.host $3 } ALIAS fmt.whois_bot {purge sim} ALIAS fmt.whois_mid { SWITCH ($0) { (Away) {RETURN $fmt.banner_whois() $sim.nick is away: $1-} (Domain) {RETURN $fmt.banner_whois() $1-} (Ircname) {RETURN $fmt.banner_whois() $sim.nick is $sim.user@$sim.host \($1-\)} (Channels) {RETURN $fmt.banner_whois() $sim.nick on channels: $1-} (Operator) {RETURN $fmt.banner_whois() $1-} (Server) {RETURN $fmt.banner_whois() $sim.nick on irc via $1-} (Notes) {RETURN $fmt.banner_whois() Notes $1-} (Services) {RETURN $fmt.banner_whois() $1-} (Shitlist) {RETURN $fmt.banner_whois() $sim.nick has $1-} (Userlist) {RETURN $fmt.banner_whois() $sim.nick has $1-} (Spoof) {RETURN $fmt.banner_whois() $1-} (Idle) {RETURN $fmt.banner_whois() $sim.nick has been idle for $1-} (Signon) {RETURN $fmt.banner_whois() $sim.nick signed on at $1-} (Identity) {RETURN $fmt.banner_whois() $1-} } } �����������������������������������������������������������������lice5/themes/armitage�������������������������������������������������������������������������������0000644�0001750�0001750�00000020305�11753027721�013231� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # Description: .armitage. color theme. # Author: voland (voland@myboringlife.com) # based on echoes theme by whitefang. # TODO: # - so many things... # # ok... here's the idea... color sets/and ideas # taken mainly from BitchX script cypress # if u like it.. use it ;) # many thanks to whitefang for the help :) # # Have Fun (Gun?) clear eval xecho .armitage. theme by Voland EVAL XECHO -r $chr(27)\(U SET NOTIFY_USERHOST_AUTOMATIC ON SET STATUS_DOES_EXPANDOS ON # Event formats ALIAS fmt.action RETURN 12ì 16$014/12$1 $2- ALIAS fmt.action_me RETURN 12ì 12$0 $2- ### show modes idea from cypress, function by whitefang, thanx @whitefang :) ALIAS fmt.auto_reply RETURN 2<${ischanop($0 $1)?[14@]:ischanvoice($0 $1)?[14+]:[]]}16$02> $2- ### neat eh? ALIAS fmt.auto_reply_other RETURN 2<16$014/12$12> $2- ALIAS fmt.channel_nick RETURN 16nickchange 14\[\(2$114\) -> 14\(12$214\)\] ALIAS fmt.channel_signoff RETURN 14\(16quit14/12$014\) - 16$114 \($2-14\) ALIAS fmt.ctcp_channel RETURN 14\[12$014\(2$userhost()14\) requested 12CTCP 16$toupper($2) from 12$1 ALIAS fmt.ctcp_me RETURN 14\[12$014\(2$userhost()14\)\] requested 12CTCP 16$toupper($2) from 12$N ALIAS fmt.ctcp_server RETURN 14\[12$014\(10$userhost()14\)\] requested 12CTCP 16$toupper($2) from 12$N ALIAS fmt.dcc_chat RETURN 14\[.2.12d2cc14\(12$014\)\] $1- ALIAS fmt.invite RETURN 14<2$014\(12invite14.2$114\)> ALIAS fmt.join RETURN 14\(16join14/16$114\) - 16$0 14\[2$sar(g/@/12@2/$sar(g/./12.2/$2))14\] ALIAS fmt.kick RETURN 16$0 was kicked off 12$2 by 16$1 14\($3-14\) ALIAS fmt.kick_me RETURN 16Yoy were kicked of 12$2 by 16$1 14\($3-14\) ALIAS fmt.leave RETURN 14\(16part14/16$114\) - 16$0 14\[2$sar(g/@/12@2/$sar(g/./12.2/$2))14\] 14\($3-14\) ALIAS fmt.mode RETURN 14\[16mode14/12$1\(16$2-\)14\] by 16$0 ALIAS fmt.mode_bans RETURN 14\[16mode14/12$1\(16$2-\)14\] by 12$0 ALIAS fmt.mode_me RETURN 14\[16mode14/12$N14\(16$214\)\] ALIAS fmt.mode_server RETURN 14\[12s2erver12m2ode14/16$1 14\[\(16$2-14\)\] by 16$0 ALIAS fmt.msg RETURN 14\(16msg14/12$014\[2$sar(/@/12@2/$sar(g/./12.2/$userhost()))14\)\] $1- ALIAS fmt.msg_group RETURN 14\(16msg14/12$014\[2$sar(/@/12@2/2$sar(g/./12.2/$userhost()))14\):12$114\) $2- ALIAS fmt.notice RETURN 2-12\(16$012\)2- $1- ALIAS fmt.notify_signoff RETURN 14\[16notify14/2sign12off14\] 16$0 ALIAS fmt.notify_signon RETURN 14\[16notify14/2sign12on14\] 16$014\(2$sar(/@/12@2/$sar(g/./12.2/$1))14\) ALIAS fmt.notify_signon_uh RETURN 14\[16notify14/2sign12on14\] 16$014\(2$sar(/@/12@2/$sar(g/./12.2/$1))14\) ### show modes idea from cypress, function by whitefang, thanx @whitefang :) ALIAS fmt.public RETURN 2<${ischanop($0 $1)?[14@]:ischanvoice($0 $1)?[14+]:[]}$02> $2- ALIAS fmt.public_msg RETURN 2<${ischanop($0 $1)?[14@]:ischanvoice($0 $1)?[14+]:[]}$02> $2- ### neat eh? ALIAS fmt.public_other RETURN 2<$014:15$12> $2- ALIAS fmt.public_notice RETURN 2-12<16$012>:16$12- $2- ALIAS fmt.sc_max RETURN 5 ALIAS fmt.sc_top { ECHO 14\[16names14/16$014\] RETURN 12ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ } ALIAS fmt.sc_mid (list) { @ :cnt = 0 FE ($list) xx { @ :cnt++ @ :mod = pass(@+% $xx) @ :spc = mod ? mod : [ ] @ :nic = strip(@+% $xx) @ :ret #= [14\[12] ## spc ## [2] ## [$[10]nic] ## [${cnt!=fmt.sc_max()?[14\] ]:[]}] } RETURN 12º $ret } ALIAS fmt.sc_bot RETURN 12ÓÄÄÄÄÄ14\[\( 16$014 \)14\[16+o14\(16$114\)16+h14\(16$214\)16-o14\(16$414\)16+v14\(16$314\)\]\(16total14/16$514\)\] ALIAS fmt.send_action RETURN 12ì $N $1- ALIAS fmt.send_action_me RETURN 14¯ [12a2ct14/16$014\] $1- ALIAS fmt.send_dcc_chat RETURN 14¯ \[12d2cc14\(12$014\)\] $1- ALIAS fmt.send_msg RETURN 14¯\[12m2sg14\(12$014\)\] $1- ALIAS fmt.send_notice RETURN 14¯ \[12n2otice14\(12$014\)] $1- ### show modes idea from cypress, function by whitefang, thanx @whitefang :) ALIAS fmt.send_public RETURN 12<${ischanop($N $0)?[14@]:ischanvoice($N $0)?[14+]:[]}$N12> $1- ### neat eh? ALIAS fmt.server_notice RETURN 14\[12$sar(g/./2.12/$0)14\] $afterw(Notice $sar(g/@/12@/$sar(g/./12./$sar(g/!/12!/$sar(g/KILL/16KILL/$sar(g/STATS/16STATS/$sar(g/SQUIT/16SQUIT/$sar(g/CONNECT/16CONNECT/$sar(g/gline/16GLINE/$1-))))))))) ALIAS fmt.topic { IF (strlen($2-)) { RETURN 14\[16topic14/12$114\] - 14\[16$014/\($2-14\)\] } { RETURN 14\[16topic14/12$1 unset by 14[$014] } } ALIAS fmt.topic_set { IF ([$1-]==[<No Topic Set>]) { RETURN $0 : No topic is set. } IF ([$1]==[Set]&&[$2]==[by]&&[$4]==[on]) { RETURN 14\[16topic set by 16$3 14\(16$tolower($5-)14\)\] } { RETURN 14\[16topic14/12$014\($1-14\)\] } } ALIAS fmt.titlebar RETURN 14\[16topic14/12$014\($1-14\)\] ALIAS fmt.usercmd RETURN 14\[12f2riend14\] 16$1 request from 12$0 ALIAS fmt.wallop RETURN 14!12$014:12$114! $sar(g/OPERWALL/16OPERWALL/$sar(g/WALLOPS/16WALLOPS/$sar(g/LOCOPS/16LOCOPS/$sar(g/SLOCOPS/16SLOCOPS/$2-)))) ALIAS fmt.wallop_me RETURN 14!12$014:12$114! $sar(g/OPERWALL/16OPERWALL/$sar(g/WALLOPS/16WALLOPS/$sar(g/LOCOPS/16LOCOPS/$sar(g/SLOCOPS/16SLOCOPS/$2-)))) ALIAS fmt.wallop_server RETURN 14!12$014:12$114! $sar(g/./12./$sar(g/SQUIT/16SQUIT/$sar(g/CONNECT/16CONNECT/$sar(g/gline/16GLINE/$2-)))) ALIAS fmt.whois_bot RETURN $()12ÓÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\] ALIAS fmt.whois_mid { IF (temp.syn.whois_uh) { echo 12º 12a2ddress 14ð15 $sar(/@/12@/$sar(g/./12./$temp.syn.whois_uh)) ^assign -temp.syn.whois_uh } SWITCH ($0) { (Ircname) {RETURN 12º 12n2ame 14ð $1-} (Domain) {RETURN 12º 12h2ost 14ð $1-} (Shitlist) {RETURN 12º 12shit 14ð $1-} (Userlist) {RETURN 12º 12u2ser 14ð $1-} (Channels) {RETURN 12º 12c2han's 14ð $sar(g/@/12@/$sar(g/+/12+/$1-))} (Server) {RETURN 12º 12s2erver 14ð $sar(g/./12./$1-)} (Away) {RETURN 12º 12a2way 14ð $1-} (Operator) {RETURN 12º 12o2perator 14ð 16$1 can 16/KILL people you can't 14\(IRC 16Operat16or14\)} (Signon) {RETURN 12º 12s2ignon 14ð $1-} (Idle) {RETURN 12º 12i2dle 14ð $1-} (Spoof) {RETURN 12º 12s2poof 14ð $1-} (Notes) {RETURN 12º 12n2ote 14ð $1-} (Services) {RETURN 12º 12s2erivces 14ð $1-} (Identity) {RETURN 12º 12i2dentity 14ð $1-} } } ALIAS fmt.whois_top { ^ASSIGN temp.syn.whois_uh $2@$3 RETURN 12ÖÄ\[14\( $tolower($0)16: 16$114 \)12\]12ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\] } # Banner for this theme SET BANNER 12‘ # Event banner colors ALIAS fmt.banner_info RETURN $G ALIAS fmt.banner_party RETURN $G ALIAS fmt.banner_join RETURN 14¯ ALIAS fmt.banner_leave RETURN 14® ALIAS fmt.banner_signon RETURN 14¯2¯12¯ ALIAS fmt.banner_signoff RETURN 14®2®12® ALIAS fmt.banner_invite RETURN 14¯2¯12¯ ALIAS fmt.banner_mode RETURN $G ALIAS fmt.banner_kick RETURN $G ALIAS fmt.banner_nick RETURN $G ALIAS fmt.banner_ctcp RETURN 14¯2¯12¯ ALIAS fmt.banner_dcc RETURN $G ALIAS fmt.banner_alert RETURN $G ALIAS fmt.banner_userlist RETURN $G ALIAS -fmt.banner_server ALIAS fmt.banner_usage RETURN $G ALIAS fmt.talk_reply RETURN ..$0, SET CLOCK_24HOUR On SET STATUS_NO_REPEAT OFF SET STATUS_AWAY 14\(12a2way14\) SET STATUS_CHANNEL 16%C SET STATUS_CHANOP 12@ SET STATUS_CLOCK 12ù 12t2ime14/16%T SET STATUS_FORMAT 14ð 16%R12:%*%@%N%#%B%C%+%A14Ä%>%!112:16%2 14ð SET STATUS_FORMAT1 14[12n2ick12 ù %*%=%@$%N%# %A %Q %>12 ù %F12 ù %412%R12 ù 12l2ag14/16%214] SET STATUS_FORMAT2 14[12c2han12 ù %C%+ %D %>12 ù 12t2og14/16%0 %T 14] SET STATUS_HOLD_LINES 10, %B SET -STATUS_MAIL SET STATUS_MODE 14/16+%+ SET STATUS_QUERY 12q2uery14/16%Q SET STATUS_NICK 16%N SET STATUS_USER4 12w2in14/ SET STATUS_NOTIFY 12a2ct14/16%F SET STATUS_OPER 12* SET STATUS_UMODE 14/16+%# SET STATUS_VOICE 12+ SET STATUS_WINDOW ^^^^^ set input_prompt 14\<12$C14\>  ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/themes/default��������������������������������������������������������������������������������0000644�0001750�0001750�00000012107�11753043012�013054� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # Description: default color theme. # Author: SrfRoG (cag@codehack.com) # PACKAGE LiCe # Status sets - please be careful! SET CLOCK ON SET CLOCK_24HOUR OFF SET -INPUT_PROMPT SET STATUS_AWAY A SET STATUS_CHANNEL %C SET STATUS_CHANOP 16,4@ SET STATUS_CLOCK [%T] SET STATUS_CPU_SAVER {%L Save Mode} SET STATUS_DOES_EXPANDOS OFF SET STATUS_FORMAT %T %*%N%# %@%C%+ %W %A %H%B %F %Q%M %>[Lag: %2] [%1:%0] SET STATUS_FORMAT1 %T %*%N%# %@%=%C%+ %S %>%Q %M [%1:%0] SET STATUS_FORMAT2 [Win: %W%R%F] %L %H%B %>[%3] [Lag: %2] SET STATUS_HOLD Press ENTER SET STATUS_HOLD_LINES :%B SET -STATUS_INSERT SET STATUS_MAIL [Mail: %M] SET STATUS_MODE (+%+) SET STATUS_NICKNAME 16,2%N SET STATUS_NOTIFY (%F) SET STATUS_NO_REPEAT ON SET STATUS_OPER 16,4* SET -STATUS_OVERWRITE SET STATUS_QUERY [Query: %Q] SET STATUS_SERVER (on %S) SET STATUS_TRUNCATE_RHS ON SET STATUS_UMODE (+%#) SET STATUS_VOICE + SET STATUS_WINDOW + # bah! IF (iswset(D)) {^WINDOW DOUBLE ON} # Event formats ALIAS fmt.action RETURN * $0${iscurchan($1)?[]:[\:]##ch($1)} $2- ALIAS fmt.action_me RETURN > \(16$servernick()\\) * $0 $2- ALIAS fmt.auto_reply RETURN 2<16$02> $2- ALIAS fmt.auto_reply_other RETURN 2<16$0:$1\2> $2- ALIAS fmt.cant_join RETURN You can't join $ch($0) \($1-\) ALIAS fmt.channel_nick RETURN $1 is now known as $2 ALIAS fmt.channel_signoff RETURN Signoff $ch($0)\: $1 \($2-\) ALIAS fmt.ctcp_channel RETURN CTCP $toupper($2) from $uh($0) to $ch($1) ALIAS fmt.ctcp_me RETURN CTCP $toupper($2) from $uh($0) to You ALIAS fmt.ctcp_server RETURN CTCP $toupper($2) from $uh($0) to $1 ALIAS fmt.dcc_chat RETURN 6=$0= $1- ALIAS fmt.invite RETURN $0 \($2\) invites you to $ch($1) ALIAS fmt.join RETURN Join $ch($1)\: $0 \($2\) ALIAS fmt.kick RETURN Kick $ch($2)\: $0 by $1 \($3-\) ALIAS fmt.kick_me RETURN $1 kicked You from $ch($2) \($3-\) ALIAS fmt.leave RETURN Left $ch($1)\: $0 \($2\) $3- ALIAS fmt.mode RETURN Mode $ch($1)\: \"$2-\" by $0 ALIAS fmt.mode_bans RETURN Mode $ch($1)\: \(stacked $2\) by $0 ALIAS fmt.mode_me RETURN User mode change \"$servernick() $2-\" on $S ALIAS fmt.mode_server RETURN $fmt.mode($*) ALIAS fmt.msg RETURN 12[ 10$uh($0)\ 12] $1- ALIAS fmt.msg_group RETURN 12[ 10$uh($0)\ 12] \($1:$S\) $2- ALIAS fmt.notice RETURN 12- 13$uh($0)\ 12- $1- ALIAS fmt.notify_signoff RETURN Signoff detected: $0 ${ismset(T)?[]:ts()} ALIAS fmt.notify_signon RETURN Signon detected: $0 ${ismset(T)?[]:ts()} ALIAS fmt.notify_signon_uh RETURN Signon detected: $0 \($1\) ${ismset(T)?[]:ts()} ALIAS fmt.public RETURN 2<${match(** $igtype($rigmask($0!$userhost($0))))?[$0]:[$0]}2> $2- ALIAS fmt.public_msg RETURN 2\($0:$ch($1)\2\) $2- ALIAS fmt.public_other RETURN 2<${match(** $igtype($rigmask($0!$userhost($0))))?[$0\:$ch($1)]:[$0\:$ch($1)]}\2> $2- ALIAS fmt.public_notice RETURN 12- 13$0:$ch($1)\ 12- $2- ALIAS fmt.notice_group RETURN 12- 13$uh($0)\ 12- [$1] $2- ALIAS fmt.sc_top RETURN $fmt.banner_chan() Names on $ch($0)\: ALIAS -fmt.sc_max ALIAS fmt.sc_mid (list) { FE ($list) xx { @ :mod = pass(@+% $xx) IF (strlen($mod)) { @ :spc = [16] ## mod ## [] @ :nic = mid(0 9 $strip(@+% $xx)) }{ @ :spc = [ ] @ :nic = mid(0 9 $xx) } @ :len = 10 - strlen($nic) @ :ret #= spc ## nic ## pad($len " ") } RETURN $ret } ALIAS fmt.sc_bot RETURN $fmt.banner_chan() Ministats: +o[$1] +h[$2] -o[$4] +v[$3] - total: $5 ALIAS fmt.send_action RETURN 10* $servernick()${iscurchan($0)?[]:[\:]##ch($0)} $1- ALIAS fmt.send_action_me RETURN 14>> \(16$0\\) 10* $servernick() $1- ALIAS fmt.send_dcc_chat RETURN 14>> 6=$0= $1- ALIAS fmt.send_msg RETURN 14>> 12[ 10$0 12] $1- ALIAS fmt.send_notice RETURN 14>> 12- 13$0 12- $1- ALIAS fmt.send_public RETURN 10<$servernick()${iscurchan($0)?[]:[\:]##ch($0)}\10> $1- ALIAS fmt.server_notice RETURN #$0# $2- ALIAS fmt.talk_reply RETURN $0: ALIAS fmt.titlebar RETURN $0: $1- ALIAS fmt.topic RETURN Topic change on $ch($1) by $0: $2- ALIAS fmt.topic_set RETURN Topic on $ch($0)\: $1- ALIAS fmt.usercmd RETURN Friend !$1 request: $uh($0) ALIAS fmt.wallop RETURN 12\( 11$0@$servername()\ 12\) $4- ALIAS fmt.wallop_me RETURN 14>> 12- 13$servernick() 12- WallOp:$0\\($1\) $2- ALIAS fmt.wallop_server RETURN Wallop: #$0# $2- ALIAS fmt.whois_bot RETURN 14--- End of $0 --- ALIAS fmt.whois_mid RETURN 2: 10$[-9]0 2: $1- ALIAS fmt.whois_top RETURN 1,2[ 10,2$0 16,2$1 10,2\($2@$3\) 1,2] # Banner for this theme ^SET BANNER ## # Event banner colors ALIAS fmt.banner_info RETURN 4$G ALIAS fmt.banner_party RETURN 3$G ALIAS fmt.banner_join RETURN 12$G ALIAS fmt.banner_leave RETURN 2$G ALIAS fmt.banner_signon RETURN 12$G ALIAS fmt.banner_signoff RETURN 2$G ALIAS fmt.banner_invite RETURN 12$G ALIAS fmt.banner_mode RETURN 10$G ALIAS fmt.banner_kick RETURN 11$G ALIAS fmt.banner_nick RETURN 7$G ALIAS fmt.banner_ctcp RETURN 13$G ALIAS fmt.banner_dcc RETURN 6$G ALIAS fmt.banner_alert RETURN 8$G ALIAS fmt.banner_userlist RETURN 9$G ALIAS fmt.banner_server RETURN 5$G ALIAS fmt.banner_chan RETURN 5$G ALIAS fmt.banner_usage RETURN 16$G ALIAS fmt.banner_tip RETURN 16+++ ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/themes/Erik3.2��������������������������������������������������������������������������������0000644�0001750�0001750�00000013702�11752015330�012550� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # Description: Erik's New New Theme # Author: Erik (erik@z2e.org) # PACKAGE LiCeTheme # Status sets - please be careful! SET CLOCK ON SET CLOCK_24HOUR OFF SET -INPUT_PROMPT SET STATUS_AWAY A SET STATUS_CHANNEL %C SET STATUS_CHANOP 4,16@ SET STATUS_CLOCK [%T] SET STATUS_CPU_SAVER {%L Save Mode} SET STATUS_DOES_EXPANDOS OFF SET STATUS_FORMAT %T %*%N%# %@%C%+ %W %A %H%B %F %Q%M %>[Lag: %2] [%1:%0] SET STATUS_FORMAT1 %T %*%N%# %@%=%C%+ %S %>%Q %M [%1:%0] SET STATUS_FORMAT2 [Win: %W%R%F] %L %H%B %>[%3] [Lag: %2] SET STATUS_HOLD Press ENTER SET STATUS_HOLD_LINES :%B SET -STATUS_INSERT SET STATUS_MAIL [Mail: %M] SET STATUS_MODE (+%+) SET STATUS_NICKNAME 2,16%N SET STATUS_NOTIFY (%F) SET STATUS_NO_REPEAT ON SET STATUS_OPER 4,16* SET -STATUS_OVERWRITE SET STATUS_QUERY [Query: %Q] SET STATUS_SERVER (on %S) SET STATUS_TRUNCATE_RHS ON SET STATUS_UMODE (+%#) SET STATUS_VOICE + SET STATUS_WINDOW + # bah! ^WINDOW DOUBLE ON # Event formats ALIAS fmt.action RETURN 9 * $0${iscurchan($1)?[]:[\:0]##ch($1)} $2- ALIAS fmt.action_me RETURN > \(7$servernick()\\) 7* $0 $2- ALIAS fmt.auto_reply RETURN 2<16$02> $2- # # ALIAS fmt.auto_reply_other RETURN 2<16$0:$1\2> $2- ALIAS fmt.back_msg RETURN is back. $0- ALIAS fmt.cant_join RETURN You can't join $ch($0) \($1-\) #ALIAS fmt.channel_nick RETURN $1 is now known as $2 ALIAS fmt.channel_nick RETURN 14*$0 14* 7$1 is now known as 8$2 ALIAS fmt.channel_signoff RETURN 3QUIT $ch($0)\: $1 \($2-\) ALIAS fmt.ctcp_channel RETURN CTCP $toupper($2) from $uh($0) to $ch($1) ALIAS fmt.ctcp_channel RETURN CTCP 7$toupper($2) from 0$uh($0) to 12$ch($1) ALIAS fmt.ctcp_me RETURN CTCP 7$toupper($2) from 0$uh($0) to You ALIAS fmt.ctcp_server RETURN CTCP $toupper($2) from $uh($0) to $1 #ALIAS fmt.dcc_chat RETURN 6=$0= $1- ALIAS fmt.dcc_chat RETURN 7=12$07= $1- ALIAS fmt.gone_msg RETURN is gone. $0- ALIAS fmt.invite RETURN 7$0 \($2\) invites you to 7$ch($1) ALIAS fmt.join RETURN Join 0$ch($1)\: 8$0 \($2\) ${ismset(T)?[]:[at ]##Z} ALIAS fmt.kick RETURN 0** 7Kick 0** 0$ch($2)\: 8$0 by 7$1 \($3-\) ALIAS fmt.kick_me RETURN 7$1 kicked You from 0$ch($2) \($3-\) ALIAS fmt.leave RETURN 10Left $ch($1)\: $0 \(10$2\) ${ismset(T)?[]:[at ]##Z} $3- ALIAS fmt.mode RETURN 4Mode 0$ch($1)\: \7$2-\4 by $0 ALIAS fmt.mode_bans RETURN 4Mode $ch($1)\: \(stacked $2\) by $0 ALIAS fmt.mode_me RETURN User mode change \"$servernick() $2-\" on $S ALIAS fmt.mode_server RETURN $fmt.mode($*) ALIAS fmt.msg RETURN 7[8$uh($0)\7] $1- ALIAS fmt.msg_group RETURN 7[ 8$uh($0)\ 7] \($1:$S\) $2- ALIAS fmt.notice RETURN 7- 13$uh($0)\ 7- $1- ALIAS fmt.notify_signoff RETURN 2Signoff detected: 12$02 ${ismset(T)?[]:[at ]##Z} ALIAS fmt.notify_signon RETURN 12Signon detected: $012 ${ismset(T)?[]:[at ]##Z} ALIAS fmt.notify_signon_uh RETURN 12Signon detected: 0$012 \($1\) ${ismset(T)?[]:[at ]##Z} ALIAS fmt.playmsg (num,tot,mtime,mnick,muh,mtext) { ECHO [Num: $num/$tot - $stime($mtime) \($tdiff2(${time() - mtime}) ago\)] ECHO 10From: $mnick \($muh\) @ :width = word(0 $geom()) - 2 @ :fix = (strlen($mtext) > width) ? CONTINUED_LINE ## mtext : mtext ECHO $fix } ALIAS fmt.playmsg_prompt RETURN [$0/$1] Enter option (ENTER to continue, ? for help): ALIAS fmt.public RETURN 7\<8$07\> $2- ALIAS fmt.public_msg RETURN 2\($0:$ch($1)\2\) $2- ALIAS fmt.public_other RETURN 2<$0:$ch($1)\2> $2- ALIAS fmt.public_notice RETURN 12- 13$0:$ch($1)\ 12- $2- ALIAS fmt.sc_top RETURN $fmt.banner_chan() Names on $ch($0)\: ALIAS fmt.sc_max RETURN 0 ALIAS fmt.sc_mid (list) { FE ($list) xx { @ :mod = pass(@+% $xx) IF (strlen($mod)) { @ :spc = [16] ## mod ## [] @ :nic = mid(0 9 $strip(@+% $xx)) }{ @ :spc = [ ] @ :nic = mid(0 9 $xx) } @ :len = 10 - strlen($nic) @ :ret #= spc ## nic ## pad($len " ") } RETURN $ret } ALIAS fmt.sc_bot RETURN $fmt.banner_chan() Ministats: +o[$1] +h[$2] -o[$4] +v[$3] - total: $5 ALIAS fmt.send_action RETURN 10* $servernick()${iscurchan($0)?[]:[\:]##ch($0)} $1- ALIAS fmt.send_action_me RETURN 14>> 8\<7$0\8\> 10* $servernick() $1- ALIAS fmt.send_dcc_chat RETURN 12=7$012= $1- ALIAS fmt.send_msg RETURN 14>> 8<7$08> $1- ALIAS fmt.send_notice RETURN 14>> 12- 13$0 12- $1- #ALIAS fmt.send_public RETURN 10<$servernick()${iscurchan($0)?[]:[\:]##ch($0)}\10> $1- ALIAS fmt.send_public RETURN 8\<7$N${iscurchan($0)?[]:[\:12$0]}\8\> $1- ALIAS fmt.server_notice RETURN #$0# $2- ALIAS fmt.talk_reply RETURN $0: ALIAS fmt.titlebar (text) { IF (winnum(TB) != -1) {//^WINDOW TB STATUS_FORMAT "$^\^"text\"} } ALIAS fmt.titlebar RETURN 0,12$0 $1- ALIAS fmt.topic RETURN Topic change on $ch($1) by $0: $2- ALIAS fmt.topic_set RETURN Topic on $ch($0)\: $1- ALIAS fmt.usercmd RETURN Friend !$1 request: $uh($0) ALIAS fmt.usergreet RETURN [$0] $1- ALIAS fmt.wallop RETURN 12\( 11$0@$servername()\ 12\) $2- ALIAS fmt.wallop_me RETURN 14>> 12- 13$servernick() 12- WallOp:$0\\($1\) $2- ALIAS fmt.wallop_server RETURN Wallop: #$0# $2- ALIAS fmt.whois_bot RETURN $() ALIAS fmt.whois_mid RETURN 2: 10$[-9]0 2: $1- ALIAS fmt.whois_top RETURN 1,2[ 10,2$0 8,2$1 16,2\($28,2@16,2$3\) 1,2] # Banner for this theme ^SET BANNER [+] # Event banner colors ALIAS fmt.banner_info RETURN 4$G ALIAS fmt.banner_party RETURN 3$G ALIAS fmt.banner_join RETURN 12$G ALIAS fmt.banner_leave RETURN 2$G ALIAS fmt.banner_signon RETURN 12$G ALIAS fmt.banner_signoff RETURN 2$G ALIAS fmt.banner_invite RETURN 12$G ALIAS fmt.banner_mode RETURN 10$G ALIAS fmt.banner_kick RETURN 11$G ALIAS fmt.banner_nick RETURN 7$G ALIAS fmt.banner_ctcp RETURN 13$G ALIAS fmt.banner_dcc RETURN 6$G ALIAS fmt.banner_alert RETURN 8$G ALIAS fmt.banner_userlist RETURN 9$G ALIAS fmt.banner_server RETURN 5$G ALIAS fmt.banner_chan RETURN 5$G ALIAS fmt.banner_usage RETURN 16$G ALIAS fmt.banner_tip RETURN 16+++ XECHO -b Erik's Theme v3.2 <erik@z2e.org> ��������������������������������������������������������������lice5/themes/bitchx���������������������������������������������������������������������������������0000644�0001750�0001750�00000014156�11753027721�012730� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # Description: bitchx color theme. # Author: whitefang (tyler@ionise.org) # PACKAGE LiCeTheme EVAL XECHO -RAW $chr(27)\(U SET NOTIFY_USERHOST_AUTOMATIC ON SET STATUS_DOES_EXPANDOS ON # Event formats ALIAS fmt.action RETURN 14ð 8$0/$1 $2- ALIAS fmt.action_me RETURN 14ð 16$0 $2- ALIAS fmt.auto_reply RETURN 12<8$012> $2- ALIAS fmt.auto_reply_other RETURN 2<5$014:$12> $2- ALIAS fmt.channel_nick RETURN 16$1 is now known as 10$2 ALIAS fmt.channel_signoff RETURN SignOff 16$1: $0 14\($2-\14) ALIAS fmt.ctcp_channel RETURN 9$0 14\[3$userhost()14\] 3requested $toupper($2) from $1 ALIAS fmt.ctcp_me RETURN 9$0 14\[3$userhost()14\] 3requested $toupper($2) from $N ALIAS fmt.ctcp_server RETURN 9$0 14\[3$userhost()14\] 3requested $toupper($2) from $N ALIAS fmt.dcc_chat RETURN 14\[9$014\(3dcc14\)\] $1- ALIAS fmt.invite RETURN 16$0 Invites You to $1 ALIAS fmt.join RETURN 11$0 14\[10$214\] has joined $1 ALIAS fmt.kick RETURN $0 was kicked off $2 by 10$1 14\($3-14\) ALIAS fmt.kick_me RETURN You have been kicked off 10$2 by 10$1 14\($3-14\) ALIAS fmt.leave RETURN $0 14\[$userhost()14\] has left $1 14\[$3-14\] ALIAS fmt.mode RETURN mode14/10$1 14\[$2-14\] by 16$0 ALIAS fmt.mode_bans RETURN stack14/10$1 14\[$214\] by 16$0 ALIAS fmt.mode_me RETURN Mode change 14\[$2-14\] for user 10$N ALIAS fmt.mode_server RETURN 4ServerMode14/10$1 14[16$2-14] 16$0 ALIAS fmt.msg RETURN 14\[13$014\(6$userhost()14\)\] $1- ALIAS fmt.msg_group RETURN 12[ 10$uh($0)\ 12] \($1:$S\) $2- ALIAS fmt.msg_group RETURN 14-13$014:6$114- $2- ALIAS fmt.notice RETURN 14-13$014\(6$userhost()14\)- $1- ALIAS fmt.notify_signoff RETURN 9Signoff by 5$0 at $tolower($Z) ALIAS fmt.notify_signon RETURN 9Signon by 4$014!4$1 at $tolower($Z) ALIAS fmt.notify_signon_uh RETURN 9Signon by 4$014!4$1 at $tolower($Z) ALIAS fmt.public RETURN 12<$012> $2- ALIAS fmt.public_msg RETURN 2\($014/$12\) $2- ALIAS fmt.public_other RETURN 2<$014:$12> $2- ALIAS fmt.public_notice RETURN 14-13$014:6$114- $2- ALIAS -fmt.sc_bot ALIAS fmt.sc_max RETURN 5 ALIAS fmt.sc_mid (list) { FE ($list) xx { @ :mod = pass(@+% $xx) @ :spc = mod ? mod : [ ] @ :nic = strip(@+% $xx) @ :ret #= [14\[] ## [11] ## spc ## [12] ## [$[10]nic] ## [14\]] ## [ ] } RETURN $ret } ALIAS fmt.sc_top RETURN $G 14[9Users14\(03$014:03$numonchannel($0)14\)] ALIAS fmt.send_action RETURN 14ð 16$N $1- ALIAS fmt.send_action_me RETURN 14ð -> 16$0/10$N $1- ALIAS fmt.send_dcc_chat RETURN 14\[5dcc14\(4$014\)\] $1- ALIAS fmt.send_msg RETURN 14\[5msg14\(4$014\)\] $1- ALIAS fmt.send_notice RETURN 14\[5notice14\(4$014\)\] $1- ALIAS fmt.send_public RETURN 13<$N\13> $1- ALIAS fmt.server_notice RETURN 9\[$0\] $4- ALIAS fmt.topic RETURN Topic 14\(10$114\): changed by 10$014: $2- ALIAS fmt.topic_set { IF ([$1-] == [<No Topic Set>]) {RETURN $0 No topic is set} IF ([$1]==[Set]&&[$2]==[by]&&[$4]==[on]) {RETURN Topic 14\(10$014\): set by 10$3 at 10$strip($5-)} {RETURN Topic 14\(10$014\): $1-} } ALIAS fmt.titlebar RETURN 10,12[16,12$010,12] 16,12:: 10,12[16,12$1-10,12] ALIAS fmt.usercmd RETURN Friend: 9$0 14\[3$userhost()14\] 3requested $1 from $N ALIAS fmt.wallop RETURN 9!3$0:$19! $2- ALIAS fmt.wallop_me RETURN \[9Wall/16$0:$1\] $2- ALIAS -fmt.whois_bot ALIAS fmt.whois_mid { IF (temp.bx.whois_nick) { ECHO 9|16 $temp.bx.whois_nick 14\($temp.bx.whois_uh14\) ^ASSIGN -temp.bx.whois_nick ^ASSIGN -temp.bx.whois_uh } SWITCH ($0) { (Ircname) {RETURN 9³ ircname : $1-} (Domain) {RETURN 9³ domain : $1-} (Shitlist) {RETURN 3| shit : $1-} (Userlist) {RETURN 3| friend : $1-} (Channels) {RETURN 3| channels : $1-} (Server) {RETURN 14³ server : $1-} (Away) {RETURN 14| away : $1-} (Operator) {RETURN 14| operator : $1 (is NOT an IRC warrior)} (Signon) {RETURN 14| signon : $1-} (Idle) {RETURN 14: idle : $1-} (Services) {RETURN 14: services : $1-} (Spoof) {RETURN 14: spoof : $1-} (Notes) {RETURN 14³ note : $1-} (Identity) {RETURN 14³ identity : $1-} } } ALIAS fmt.whois_top { ^ASSIGN temp.bx.whois_nick $1 ^ASSIGN temp.bx.whois_uh $2@$3 RETURN 9ÚÄÄÄÄÄ---Ä--ÄÄ-ÄÄÄÄÄÄ---14Ä9--14ÄÄ9-14ÄÄÄÄÄÄÄÄÄ--- -- - } # Banner for this theme SET BANNER 4ù16í4ù # Event banner colors ALIAS fmt.banner_info RETURN $G ALIAS fmt.banner_party RETURN $G ALIAS fmt.banner_join RETURN $G ALIAS fmt.banner_leave RETURN $G ALIAS fmt.banner_signon RETURN $G ALIAS fmt.banner_signoff RETURN $G ALIAS fmt.banner_invite RETURN 14>15>16> ALIAS fmt.banner_mode RETURN $G ALIAS fmt.banner_kick RETURN $G ALIAS fmt.banner_nick RETURN $G ALIAS fmt.banner_ctcp RETURN 14>15>16> ALIAS fmt.banner_dcc RETURN $G ALIAS fmt.banner_alert RETURN $G ALIAS fmt.banner_userlist RETURN 14>15>16> ALIAS -fmt.banner_server ALIAS fmt.banner_usage RETURN $G SET STATUS_AWAY 10,12\(9,12zZzZ16$sar(/:// $status_user1)10\) SET STATUS_CHANNEL 15,12%C SET STATUS_CHANOP @ SET STATUS_CLOCK %T SET STATUS_CPU_SAVER (%J) SET STATUS_FORMAT 10,12 [16,12$tolower(%T)10,12][%@%=15,12%N%#%A10,12]%M [%C10,12%+10,12%W] %Q %H%B%F %>%S SET STATUS_FORMAT1 10,12 [16$tolower(%T)10][16%@9%=15%N%#%A10]%M [%C10%+10%W] %Q %H%B%F %>%S SET STATUS_FORMAT2 15,12 10[15Lag 16%210] %> [16%010] SET STATUS_HOLD -- more -- SET STATUS_HOLD_LINES 10,12(16%B10) SET STATUS_MAIL 10,12[15Mail: 16%M10] SET STATUS_MODE 16(10,12+15,12%+16,12) SET STATUS_NICK %N SET STATUS_NOTIFY 10,12[15Act: 16%F10] SET STATUS_OPER 7* SET STATUS_OVERWRITE (overtype) SET STATUS_QUERY 10,12[15Query: 16%Q10] SET STATUS_SCROLLBACK (Scroll) SET STATUS_SERVER on 15%S10 SET STATUS_UMODE 16(10,12+15,12%#16,12) SET STATUS_VOICE SET STATUS_WINDOW 8,12^^^^^^^^ SET INPUT_PROMPT ${winchan() ? [[$winchan()] ] :[[0] ]} #tjbh/10 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/themes/lice3����������������������������������������������������������������������������������0000644�0001750�0001750�00000010660�11752647002�012441� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # Description: mimics LiCe3 color formats # Author: whitefang (thall@magenet.com) # Credits: revamped SrfRoG's lice3 theme # PACKAGE LiCeTheme # status sets SET CLOCK ON SET CLOCK_24HOUR OFF SET STATUS_AWAY A SET STATUS_CHANNEL %C SET STATUS_CHANOP @ SET STATUS_CLOCK [%T] SET -STATUS_CPU_SAVER SET STATUS_DOES_EXPANDOS OFF SET STATUS_FORMAT %T %*%N%# %@%C%+ %W%A %H%B %F%M%Q %>[Lag: %2] [%1:%0] SET STATUS_FORMAT1 %T %*%N%# %@%=%C%+ %A %>%Q %M [%1:%0] SET STATUS_FORMAT2 [Win: %W%R%F] [Lag: %2] [%3] %H%B %>%D SET STATUS_HOLD Press ENTER SET STATUS_HOLD_LINES :%B SET -STATUS_INSERT SET STATUS_MAIL [Mail: %M] SET STATUS_MODE (+%+) SET STATUS_NICKNAME %N SET STATUS_NOTIFY (%F) SET STATUS_NO_REPEAT ON SET STATUS_OPER * SET STATUS_OVERWRITE (Overwrite) SET STATUS_QUERY [Query: %Q] SET STATUS_SERVER %S SET STATUS_TRUNCATE_RHS ON SET STATUS_UMODE (+%#) SET STATUS_VOICE + SET STATUS_WINDOW + # event formats ALIAS fmt.action RETURN * $0${iscurchan($1)?[]:[\:$1]} $2- ALIAS fmt.action_me RETURN > \($N\) * $0 $2- ALIAS fmt.auto_reply RETURN <$0> $2- ALIAS fmt.auto_reply_other RETURN <$0:$1\> $2- ALIAS fmt.channel_nick RETURN $1 is now known as $2 ALIAS fmt.channel_signoff RETURN Signoff $0\: $1 \($2-\) ALIAS fmt.ctcp_channel RETURN CTCP $toupper($2) request: $0 \($userhost()\) to $1 ALIAS fmt.ctcp_me RETURN CTCP $toupper($2) request: $0 \($userhost()\) to You ALIAS fmt.ctcp_server RETURN CTCP $toupper($2) request: $0 \($userhost()\) to $1 ALIAS fmt.dcc_chat RETURN =$0= $1- ALIAS fmt.invite RETURN $0 \($2\) invites you to $1 ALIAS fmt.join RETURN ${iscurchan($1)?[$0]:[$0]} \($2\) joined $1 at $Z ALIAS fmt.kick RETURN $1 kicked ${iscurchan($2)?[$0]:[$0]} from $2 \($3-\) ALIAS fmt.kick_me RETURN $1 kicked You from $2 \($3-\) ALIAS fmt.leave RETURN ${iscurchan($1)?[$0]:[$0]} \($2\) left $1 at $Z ALIAS fmt.mode RETURN Mode change \"$2-\" on $1 by ${iscurchan($1)?[$0]:[$0]} ALIAS fmt.mode_bans RETURN Mode stack \($2\) on $1 by ${iscurchan($1)?[$0]:[$0]} ALIAS fmt.mode_me RETURN User mode change \"$N $2-\" on $S ALIAS fmt.mode_server RETURN Mode hack \"$2-\" on $1 \($0\) ALIAS fmt.msg RETURN  $0!$userhost()  $1- ALIAS fmt.msg_group RETURN [$1:$S\]  $0!$userhost()\]  $2- ALIAS fmt.notice RETURN [$0!$userhost()\] $1- ALIAS fmt.notify_signoff RETURN Signoff: $0 at $Z ALIAS fmt.notify_signon RETURN Signon: $0 at $Z ALIAS fmt.notify_signon_uh RETURN Signon: $0 \($1\) at $Z ALIAS fmt.public RETURN <$0> $2- ALIAS fmt.public_msg RETURN \($0\/$1\) $2- ALIAS fmt.public_other RETURN <$0:$1\> $2- ALIAS fmt.public_notice RETURN [$0!$userhost():$1\] $2- ALIAS fmt.sc_max RETURN 7 ALIAS fmt.sc_top RETURN *** Names on $0: \[$numonchannel($0)\] ALIAS fmt.sc_mid { FE ($*) nick {@ :ret #= [$[11]nick]} RETURN $ret } ALIAS fmt.sc_bot { @ :ch.h = hash_32bit($0) RETURN *** Stats $0: +o[$1] +h[$2] -o[$4] +b[$numitems(B$winserv()\-$ch.h)] +v[$3] ${chan[$ch.h][S]?[\(Sets\: +$chan[$ch.h][S]\)]:[]} } ALIAS fmt.send_action RETURN * $N${iscurchan($0)?[]:[\:$0]} $1- ALIAS fmt.send_action_me RETURN > \($0\) * $N $1- ALIAS fmt.send_dcc_chat RETURN > =$0= $1- ALIAS fmt.send_msg RETURN >  $0  $1- ALIAS fmt.send_notice RETURN > [$0] $1- ALIAS fmt.send_public RETURN <$N${iscurchan($0)?[]:[\:$0]}\> $1- ALIAS fmt.server_notice RETURN [ $0 ] $2- ALIAS fmt.talk_reply RETURN $0: ALIAS fmt.topic RETURN Topic change on $1 by $0: $2- ALIAS fmt.topic_set RETURN Topic on $0 $1- ALIAS fmt.usercmd RETURN Friend $1 request: $0 \($userhost()\) ALIAS fmt.wallop RETURN Wallop: <$0> $2- ALIAS fmt.wallop_me RETURN [WallOp:$0\\($1\)]  $N  $2- ALIAS fmt.whois_top RETURN [ $0 $1!$2@$3 ] ALIAS fmt.whois_mid RETURN 10: $[9]tolower($0) : $1- ALIAS -fmt.whois_bot # banner ^SET BANNER *** # banner colors ALIAS fmt.banner_info RETURN 3$G ALIAS fmt.banner_party RETURN ::: ALIAS fmt.banner_join RETURN 12$G ALIAS fmt.banner_leave RETURN 2$G ALIAS fmt.banner_signon RETURN 4$G ALIAS fmt.banner_signoff RETURN 5$G ALIAS fmt.banner_invite RETURN 12$G ALIAS fmt.banner_mode RETURN 10$G ALIAS fmt.banner_kick RETURN 11$G ALIAS fmt.banner_nick RETURN 9$G ALIAS fmt.banner_ctcp RETURN 13$G ALIAS fmt.banner_dcc RETURN 6$G ALIAS fmt.banner_alert RETURN 8$G ALIAS fmt.banner_userlist RETURN 9$G ALIAS fmt.banner_server RETURN ### ALIAS fmt.banner_chan RETURN 3$G ALIAS fmt.banner_usage RETURN 14$G ALIAS fmt.banner_tip RETURN +++ # tjbh/99 # tjh/12 Halfop Support ��������������������������������������������������������������������������������lice5/themes/echoes���������������������������������������������������������������������������������0000644�0001750�0001750�00000016063�12126407634�012714� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # Description: echoes color theme. # Author: whitefang (thall@magenet.com) # Credits: trey's echoes theme for rain # PACKAGE LiCeTheme XECHO -RAW (U # statbar SET CLOCK_24HOUR ON SET STATUS_AWAY 15away14[16$STATUS_USER114] SET STATUS_CHANNEL %C SET STATUS_CHANOP @ SET STATUS_CLOCK %T SET STATUS_FORMAT1 15Ú16Â15Ä14[ 10%@15%N14/16%#10: 15%514[16+%214] %>%Q%F15win14/16%R 14]15Ä16¿ SET STATUS_FORMAT2 16³15À14[ %C14/16%+10: %4 %>%H%M%A15time14/16%T 14]15Ù SET STATUS_HOLD 14(more14) SET -STATUS_HOLD_LINES SET STATUS_MAIL 15mail14[16%M14] SET STATUS_MODE +%+ SET STATUS_NICKNAME %N SET STATUS_NOTIFY 15act14/16%F SET STATUS_OPER * SET -STATUS_OVERWRITE SET STATUS_QUERY 14(15query14/16%Q14) SET -STATUS_SCROLLBACK SET STATUS_SERVER %S SET STATUS_UMODE +%# SET STATUS_DOES_EXPANDOS ON SET STATUS_USER4 ${C?[15o14/16$#chops() 15n14/16$#nochops() 15t14/16$numonchannel()]:[]} SET STATUS_USER5 $servername($winserv()) SET STATUS_VOICE + SET INPUT_PROMPT 16À15Ä14Ä15> # bah! ^WINDOW DOUBLE ON # formats ALIAS fmt.action RETURN 14> 15$0${iscurchan($1)?[]:[14/15$1]} $2- ALIAS fmt.action_me RETURN 14> 15$014/15$1 16$2- ALIAS fmt.auto_reply RETURN 14<11$014> $2- ALIAS fmt.auto_reply_other RETURN 14<11$014/11$114> $2- ALIAS fmt.cant_join RETURN $0 :Cannot join channel \($1-\) ALIAS fmt.channel_nick RETURN nick14/16$010: 16$1 is now known as 16$2 # 16you 14[$114] are now known as 16$3 ALIAS fmt.channel_signoff RETURN quit14/16$010: 16$114[$2-14] ALIAS fmt.ctcp_channel RETURN ctcp14/16$tolower($2)10: to 16$1 from 16$014[$sar(/@/10@/$userhost())14] ALIAS fmt.ctcp_me RETURN ctcp14/16$tolower($2)10: to 16$1 from 16$014[$sar(/@/10@/$userhost())14] ALIAS fmt.ctcp_server RETURN ctcp14/16$tolower($2)10: to 16$1 from 16$014[$sar(/@/10@/$userhost())14] ALIAS fmt.dcc_chat RETURN $G chat14/16$010: $1- 14[16$tolower($Z)14] ALIAS fmt.invite RETURN invite14/16$010: $1- ALIAS fmt.join RETURN join14/16$110: 16$014[$sar(/@/10@/$2)14] ALIAS fmt.kick RETURN kick14/16$210: 16$1 kicked 16$014[$3-14] ALIAS fmt.kick_me RETURN kick14/16$210: 16$1 kicked 16$014[$3-14] ALIAS fmt.leave RETURN part14/16$110: 16$014[$sar(/@/10@/$2)14] ALIAS fmt.mode RETURN mode14/16$110: 16$014[$2-14] ALIAS fmt.mode_bans RETURN mode14/16$110: 16$014[stacked $214] ALIAS fmt.mode_me RETURN mode14/16$N10: 16$S14[$2-14] ALIAS fmt.mode_server RETURN mode14/16$110: 16$014[$2-14] ALIAS fmt.msg RETURN 14\(16$014[$sar(/@/10@/$userhost())14]\) $1- ALIAS fmt.msg_group RETURN 14\(16$014[$114]\) $2- ALIAS fmt.notice RETURN 14-16$014[$sar(/@/10@/$userhost())14]- $1- ALIAS fmt.notify_signoff RETURN notify14/16off10: 16$015 at 14[$tolower($Z)14] ALIAS fmt.notify_signon RETURN notify14/16on10: 16$0 at 14[$tolower($Z)14] ALIAS fmt.notify_signon_uh RETURN notify14/16on10: 16$014[$sar(/@/10@/$1)14] at 14[$tolower($Z)14] ALIAS fmt.public RETURN 14<$014> $2- ALIAS fmt.public_msg RETURN 14($014/$114) $2- ALIAS fmt.public_other RETURN 14<$014/$114> $2- ALIAS fmt.public_notice RETURN 14-16$014[$114]- $2- ALIAS fmt.sc_top RETURN 16Ú15Ä14Ä15ÄÄ16ÄÄ15ÄÄ14Ä[users14/16$014]15Ä16ÄÄ15Ä14Ä15ÄÄ16Ä15- 14Ä15-14Ä Ä15-16Ä15Ä -14Ä-15ÄÄ16-Ä15Ä- 16- 15- 14-15 - ALIAS fmt.sc_max RETURN 5 ALIAS fmt.sc_mid (list) { FE ($list) xx { @ :mod = pass(@+% $xx) @ :spc = mod ? mod : [ ] @ :nic = strip(@+% $xx) @ :ret #= [14\[] ## [10] ## spc ## [] ## [$[10]nic] ## [14\]] ## [ ] } RETURN 16³ $ret } ALIAS fmt.sc_bot RETURN 16À15Ä14Ä15> 15+o14[16$114] 15+h14[16$214] 15-o14[16$414] 15+v14[16$314] 15total14[16$514] ALIAS fmt.send_action RETURN 14> 16$N${iscurchan($0)?[]:[14/16$0]} $1- ALIAS fmt.send_action_me RETURN 14> 16$N14/16$0 $1- ALIAS fmt.send_dcc_chat RETURN 14-> 15chat14[16$014]10: $1- ALIAS fmt.send_msg RETURN 14-> 15msg14[16$014]10: $1- ALIAS fmt.send_notice RETURN 14-> 15not14[16$014]10: $1- ALIAS fmt.send_public RETURN 14<16$N${iscurchan($0)?[]:[14/16$0]}14> $1- ALIAS fmt.server_notice RETURN 14!$msar(g/./10./$0)14! $2- ALIAS fmt.talk_reply RETURN $0: ALIAS fmt.titlebar RETURN 14[16$014] $1- ALIAS fmt.topic RETURN topic14/16$110: ${strlen($2)?[16$014\[$2-14\]]:[15unset 14\[$014\]]} ALIAS fmt.topic_set { IF ([$1-]==[<No Topic Set>]) { RETURN $0 : No topic is set. } IF ([$1]==[Set]&&[$2]==[by]&&[$4]==[on]) { RETURN topic14/16$310:15 created 14[16$tolower($5-)14] } { RETURN topic14/16$010: $1- } } ALIAS fmt.usercmd RETURN friend14/16$tolower($1)10: from 16$014[$sar(/@/10@/$userhost())14] ALIAS fmt.wallop RETURN 14!$0:$114! $2- ALIAS fmt.wallop_me RETURN 14[15wall14/16$N14\(15$014\)]10: $2- ALIAS fmt.wallop_server RETURN 14!$014! $2- ALIAS fmt.whois_bot RETURN 16ÀÄ-15Ä -14Ä Ä15-Ä- 16Ä- Ä15-ÄÄ14- Ä15-Ä16-15-14>1 $1 ALIAS fmt.whois_top { ^ASSIGN temp.whois_nick $1;^ASSIGN temp.whois_user $2;^ASSIGN temp.whois_host $3 RETURN 16ÚÄ15ÄÄ14Ä-15Ä- 16Ä-15ÄÄ14ÄÄ15ÄÄ-Ä16Ä- Ä15 -Ä 14Ä 15Ä- 16ÄÄÄ15Ä-14Ä - 15ÄÄ16-Ä15- 16- - 15Ä 16Ä1 $1 } ALIAS fmt.whois_mid { IF (temp.whois_nick) { ECHO 16³ 14[16$[-9]temp.whois_nick14] ³ [$temp.whois_user10@$temp.whois_host14] ^ASSIGN -temp.whois_user;^ASSIGN -temp.whois_host;^ASSIGN -temp.whois_nick } SWITCH ($0) { (Ircname) {RETURN 15³14Ú[ 16i15rcname14]15ÄÙ $1-} (Domain) {RETURN 14³15³14[ 16d15omain14] $tolower($1-)} (Shitlist) {RETURN 14³15³14[ 16s15hit14] $1-} (Userlist) {RETURN 14³15³14[ 16f15riend14] $1-} (Channels) {RETURN 14³15³14[ 16c15hannels14] $sar(g/@/10@/${sar(g/+/10+/$1-)})} (Server) {RETURN 15³15À14[ 16s15erver14]15Ä¿ $1 14[$2-14]} (Away) {RETURN 14³ [ 16a15way14] ³ $1-} (Security) {RETURN 14³ 14[ 16s15ecurity14] 15³ $1-} (Signon) {RETURN 14³ [ 16s15ignon14] 15³ $1-} (Idle) {RETURN 15³ 14[ 16i15dle14] 15³ $1-} (Operator) {RETURN 14³ [ 16o15perator14] ³ $1 $tolower($2-)} (Spoof) {RETURN 15³ 14[ 16s15poof14] 15³ $1-} (Notes) {RETURN 15³ 14[ 16n15otes14] 15³ $1-} (Identity) {RETURN 15³ 14[ 16i15dentity14] 15³ $1-} } } # banners SET BANNER 14Ä15Ä16- ALIAS fmt.banner_info RETURN $G ALIAS fmt.banner_party RETURN $G ALIAS fmt.banner_join RETURN $G ALIAS fmt.banner_leave RETURN $G ALIAS fmt.banner_signon RETURN $G ALIAS fmt.banner_signoff RETURN $G ALIAS fmt.banner_invite RETURN $G ALIAS fmt.banner_mode RETURN $G ALIAS fmt.banner_kick RETURN $G ALIAS fmt.banner_nick RETURN $G ALIAS fmt.banner_ctcp RETURN $G ALIAS fmt.banner_chan RETURN $G ALIAS fmt.banner_dcc RETURN $G ALIAS fmt.banner_alert RETURN $G ALIAS fmt.banner_userlist RETURN $G ALIAS -fmt.banner_server ALIAS fmt.banner_usage RETURN $G #tjbh/99 #tjbh/13 �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/themes/rage�����������������������������������������������������������������������������������0000644�0001750�0001750�00000015463�11753027721�012367� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # Description: rage color theme. # Author: DocOC # Credits: red version of whitefang's port of trey's echoes theme for rain # PACKAGE LiCeTheme XECHO -RAW (U # statbar SET CLOCK_24HOUR ON SET STATUS_AWAY 15away14[15$STATUS_USER114] SET STATUS_CHANNEL %C SET STATUS_CHANOP @ SET STATUS_CLOCK %T SET STATUS_FORMAT1 4Ú7Â4Ä14[ 4%@15%N4/16%#7: 15%514[16+%214] %>%Q%F15win4/16%R 14]4Ä7¿ SET STATUS_FORMAT2 7³4À14[ %C4/16%+7: %4 %>%H%M%A15time4/16%T 14]4Ù SET STATUS_HOLD 5(more5) SET -STATUS_HOLD_LINES SET STATUS_MAIL 15mail14[16%M14] SET STATUS_MODE +%+ SET STATUS_NICKNAME %N SET STATUS_NOTIFY 15act4/16%F SET STATUS_OPER * SET -STATUS_OVERWRITE SET STATUS_QUERY 6(15query4/16%Q6) SET -STATUS_SCROLLBACK SET STATUS_SERVER %S SET STATUS_UMODE +%# SET STATUS_DOES_EXPANDOS ON SET STATUS_USER4 ${C?[15o4/16$#chops() 15n4/16$#nochops() 15t4/16$numonchannel()]:[]} SET STATUS_USER5 $servername($winserv()) SET STATUS_VOICE + SET INPUT_PROMPT 7À4Ä14Ä4> # bah! ^WINDOW DOUBLE ON # formats ALIAS fmt.action RETURN 14> 15$0${iscurchan($1)?[]:[4/15$1]} $2- ALIAS fmt.action_me RETURN 14> 15$06/15$1 15$2- ALIAS fmt.auto_reply RETURN 14<7$014> $2- ALIAS fmt.auto_reply_other RETURN 14<7$014/7$114> $2- ALIAS fmt.cant_join RETURN $0 :Cannot join channel \($1-\) ALIAS fmt.channel_nick RETURN nick4/15$07: 15$1 is now known as 15$2 # 16you 14[$114] are now known as 16$3 ALIAS fmt.channel_signoff RETURN quit4/15$07: 15$14[$2-4] ALIAS fmt.ctcp_channel RETURN ctcp4/15$tolower($2)7: to 15$1 from 15$04[$sar(/@/7@/$userhost())4] ALIAS fmt.ctcp_me RETURN ctcp4/15$tolower($2)7: to 15$1 from 15$04[$sar(/@/7@/$userhost())4] ALIAS fmt.ctcp_server RETURN ctcp4/15$tolower($2)7: to 15$1 from 15$04[$sar(/@/7@/$userhost())4] ALIAS fmt.dcc_chat RETURN $G chat4/15$07: $1- 4[15$tolower($Z)4] ALIAS fmt.invite RETURN invite4/15$07: $1- ALIAS fmt.join RETURN join4/15$17: 15$04[$sar(/@/7@/$2)4] ALIAS fmt.kick RETURN kick4/15$27: 15$1 kicked 15$04[$3-4] ALIAS fmt.kick_me RETURN kick4/15$27: 15$1 kicked 15$04[$3-4] ALIAS fmt.leave RETURN part4/15$17: 15$04[$sar(/@/7@/$2)4] ALIAS fmt.mode RETURN mode4/15$17: 15$04[$2-4] ALIAS fmt.mode_bans RETURN mode4/15$17: 15$04[stacked $24] ALIAS fmt.mode_me RETURN mode4/15$N7: 15$S4[$2-4] ALIAS fmt.mode_server RETURN mode4/15$17: 15$04[$2-4] ALIAS fmt.msg RETURN 4\(15$04[$sar(/@/4@/$userhost())4]\) $1- ALIAS fmt.msg_group RETURN 4\(15$04[$14]\) $2- ALIAS fmt.notice RETURN 4-15$04[$sar(/@/4@/$userhost())4]- $1- ALIAS fmt.notify_signoff RETURN notify4/15off7: 15$015 at 4[$tolower($Z)4] ALIAS fmt.notify_signon RETURN notify4/15on7: 15$0 at 4[$tolower($Z)4] ALIAS fmt.notify_signon_uh RETURN notify4/15on7: 15$04[$sar(/@/4@/$1)4] at 4[$tolower($Z)4] ALIAS fmt.public RETURN 14<$04> $2- ALIAS fmt.public_msg RETURN 4($015/$14) $2- ALIAS fmt.public_other RETURN 4<$015/$14> $2- ALIAS fmt.public_notice RETURN 4-15$04[$14]- $2- ALIAS fmt.sc_top RETURN 7Ú4Ä14Ä4ÄÄ7ÄÄ4ÄÄ14Ä[users14/15$014]4Ä7ÄÄ4Ä14Ä4ÄÄ7Ä4- 14Ä4-14Ä Ä4-7Ä4Ä -14Ä-4ÄÄ7-Ä4Ä- 7- 4- 14-4 - ALIAS fmt.sc_max RETURN 5 ALIAS fmt.sc_mid (list) { FE ($list) xx { @ :mod = pass(@+% $xx) @ :spc = mod ? mod : [ ] @ :nic = strip(@+% $xx) @ :ret #= [14\[] ## [4] ## spc ## [] ## [$[10]nic] ## [14\]] ## [ ] } RETURN 7³ $ret } ALIAS fmt.sc_bot RETURN 7À4Ä14Ä4> 15+o14[16$114] 15+h14[16$214] 15-o14[16$414] 15+v14[16$314] 15total14[16$514] ALIAS fmt.send_action RETURN 4> 15$N${iscurchan($0)?[]:[14/16$0]} $1- ALIAS fmt.send_action_me RETURN 4> 15$N14/15$0 $1- ALIAS fmt.send_dcc_chat RETURN 4-> 15chat14[15$014]7: $1- ALIAS fmt.send_msg RETURN 4-> 15msg7[15$07]4: $1- ALIAS fmt.send_notice RETURN 4-> 15not7[15$07]4: $1- ALIAS fmt.send_public RETURN 4<15$N${iscurchan($0)?[]:[14/15$0]}14> $1- ALIAS fmt.server_notice RETURN 14!$msar(g/./4./$0)14! $2- ALIAS fmt.talk_reply RETURN $0: ALIAS fmt.titlebar RETURN 7Ä50[$050]4Ä7Ä50[37$1-50]4Ä ALIAS fmt.topic RETURN topic14/15$17: ${strlen($2)?[15$014\[$2-14\]]:[15unset 14\[$014\]]} ALIAS fmt.topic_set { IF ([$1-]==[<No Topic Set>]) { RETURN $0 : No topic is set. } IF ([$1]==[Set]&&[$2]==[by]&&[$4]==[on]) { RETURN topic14/15$37:15 created 14[15$tolower($5-)14] } { RETURN topic14/15$07: $1- } } ALIAS fmt.usercmd RETURN friend14/15$tolower($1)7: from 15$014[$sar(/@/4@/$userhost())14] ALIAS fmt.wallop RETURN 14!$0:$114! $2- ALIAS fmt.wallop_me RETURN 14[15wall14/15$N14\(15$014\)]7: $2- ALIAS fmt.wallop_server RETURN 14!$014! $2- ALIAS fmt.whois_bot RETURN 7ÀÄ-4Ä -14Ä Ä4-Ä- 7Ä- Ä4-ÄÄ14- Ä4-Ä7-4-14>15$() ALIAS fmt.whois_top { ^ASSIGN temp.whois_nick $1;^ASSIGN temp.whois_user $2;^ASSIGN temp.whois_host $3 RETURN 7ÚÄ4ÄÄ14Ä-4Ä- 7Ä-4ÄÄ14ÄÄ4ÄÄ-Ä7Ä- Ä4 -Ä 14Ä 4Ä- 7ÄÄÄ4Ä-14Ä - 4ÄÄ7-Ä4- 7- - 4Ä 7Ä15$() } ALIAS fmt.whois_mid { IF (temp.whois_nick) { ECHO 7³ 14[15$[-9]temp.whois_nick14] ³ [$temp.whois_user4@$temp.whois_host14] ^ASSIGN -temp.whois_user;^ASSIGN -temp.whois_host;^ASSIGN -temp.whois_nick } SWITCH ($0) { (Ircname) {RETURN 4³14Ú[ 16i15rcname14]4ÄÙ $1-} (Domain) {RETURN 14³4³14[ 16d15omain14] $tolower($1-)} (Shitlist) {RETURN 14³4³14[ 16s15hit14] $1-} (Userlist) {RETURN 14³4³14[ 16f15riend14] $1-} (Channels) {RETURN 14³4³14[ 16c15hannels14] $sar(g/@/4@/${sar(g/+/4+/$1-)})} (Server) {RETURN 4³4À14[ 16s15erver14]4Ä¿ $1 14[$2-14]} (Away) {RETURN 14³ [ 16a15way14] ³ $1-} (Signon) {RETURN 14³ [ 16s15ignon14] 4³ $1-} (Idle) {RETURN 4³ 14[ 16i15dle14] 7³ $1-} (Operator) {RETURN 14³ [ 16o15perator14] ³ $1 $tolower($2-)} (Spoof) {RETURN 7³ 14[ 16s15poof14 ] ³ $1-} (Notes) {RETURN 7³ 14[ 16n15otes14 ] ³ $1-} (Identity) {RETURN 7³ 14[ 16i15dentity14] ³ $1-} } } # banners SET BANNER 14Ä4Ä7- ALIAS fmt.banner_info RETURN $G ALIAS fmt.banner_party RETURN $G ALIAS fmt.banner_join RETURN $G ALIAS fmt.banner_leave RETURN $G ALIAS fmt.banner_signon RETURN $G ALIAS fmt.banner_signoff RETURN $G ALIAS fmt.banner_invite RETURN $G ALIAS fmt.banner_mode RETURN $G ALIAS fmt.banner_kick RETURN $G ALIAS fmt.banner_nick RETURN $G ALIAS fmt.banner_ctcp RETURN $G ALIAS fmt.banner_chan RETURN $G ALIAS fmt.banner_dcc RETURN $G ALIAS fmt.banner_alert RETURN $G ALIAS fmt.banner_userlist RETURN $G ALIAS -fmt.banner_server ALIAS fmt.banner_usage RETURN $G # tjbh/99 #tjh/12 �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/themes/sbucham��������������������������������������������������������������������������������0000644�0001750�0001750�00000014273�11752157556�013102� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # Description: sbucham (pronounced: sb-au-cham), theme for LiCe. # Author: HSOC <hsoc@irc.gr> # started @ Fri Dec 3 07:58:08 MST 1999 # updated Thu Jun 1 18:51:10 MST 2000 PACKAGE LiCeTheme # Banner for this theme ^SET BANNER :: # DCC's made phaster... ^SET DCC_SLIDING_WINDOW 8000 # Status sets SET CLOCK ON SET CLOCK_24HOUR OFF SET NOTIFY_USERHOST_AUTOMATIC ON SET STATUS_AWAY 16,8+A+ SET STATUS_CHANNEL 16,7%C SET STATUS_CHANOP 16,4@ SET STATUS_CLOCK %T SET STATUS_CPU_SAVER {%L} SET STATUS_DOES_EXPANDOS ON SET STATUS_FORMAT %T %*%N%# %@%C%+ %W %A %H%B %F %Q%M %>[Lag: %2] [%1:%0] SET STATUS_FORMAT1 [16,2Lag\: %2] %*%N16,12@$servername($winserv())%# %D %>%Q%M [16,2%1:%0] SET STATUS_FORMAT2 [16,2Win\: %W%R%F] %@%=%C%+ [16,2@\: $#chops()/$numonchannel()] %L%H%B%I%O %>%A[%3][%T] SET -INPUT_PROMPT SET STATUS_HOLD MORE SET STATUS_HOLD_LINES :%B SET STATUS_MAIL [16,2Mail\: %M] SET STATUS_MODE (+%+) SET STATUS_NICKNAME %N SET STATUS_NOTIFY (%F) SET STATUS_NO_REPEAT ON SET STATUS_OPER 16,7* SET -STATUS_INSERT SET STATUS_OVERWRITE (Overwrite) SET STATUS_QUERY [16,2Query\: %Q] SET STATUS_SERVER %S SET STATUS_TRUNCATE_RHS ON SET STATUS_UMODE (+%#) SET STATUS_VOICE 16,8+ SET STATUS_WINDOW +++ ^WINDOW DOUBLE ON # sanity timestamping ALIAS ts.time RETURN 12@ # Event formats ALIAS fmt.action RETURN * $0${iscurchan($1)?[]:[12@$rest(1 $1)]} $2- ALIAS fmt.action_me RETURN > \(16$N\\) * $0 $2- ALIAS fmt.auto_reply RETURN 12\($012\)8: $2- ALIAS fmt.auto_reply_other RETURN 12\($012@$112\)\8: $2- ALIAS fmt.cant_join RETURN You can't join $0 \($1-\) ALIAS fmt.channel_nick RETURN 12Nick $0\: $1 is now known as $2 ALIAS fmt.channel_signoff RETURN 12Quit $0\: $1 \($2-\) $ts.time($Z) ALIAS fmt.ctcp_channel RETURN CTCP $toupper($2) from $uh($0) to $1 ALIAS fmt.ctcp_me RETURN CTCP $toupper($2) from $uh($0) to You ALIAS fmt.ctcp_server RETURN CTCP $toupper($2) from $uh($0) to $1 ALIAS fmt.dcc_chat RETURN 6=$0= $1- ALIAS fmt.invite RETURN 12Invited to $1\: by $0 \($2\) ALIAS fmt.join RETURN 12Join $tolower($1)\: $0 ${ismset(V)?[\($2\)]:[]} $ts.time($Z) ALIAS fmt.kick RETURN 12Kick $tolower($2)\: $0 by $1 \($3-\) $ts.time($Z) ALIAS fmt.kick_me RETURN $1 kicked YOU 12from $tolower($2) \($3-\) $ts.time ALIAS fmt.leave RETURN 12Part $tolower($1)\: $0 ${ismset(V)?[\($2\)]:[]} ${[$3]!=[]?[\($3-\)]:[]} $ts.time($Z) ALIAS fmt.mode RETURN 12Mode $tolower($1)\: $0 sets \"$2-\" ALIAS fmt.mode_bans RETURN 12Mode $tolower($1)\: $0 stacks \($2\) ${ismset(V)?[$3-]:[]} ALIAS fmt.mode_me RETURN User mode change 12\"$2-12\" for $N on $S ALIAS fmt.mode_server RETURN 11$0 12sets mode\: \"$2-\" on $1 ALIAS fmt.msg RETURN 11[ 10$uh($0)\ 11] $1- ALIAS fmt.msg_group RETURN 11[ 10$uh($0)\ 11] \($1:$S\) $2- ALIAS fmt.notice RETURN ${(rmatch($strip( $1) *wall*))?[4-7$14-13$uh($0)\:]:[4- 13$uh($0)\ 4- $1]} $2- ALIAS fmt.notice_group RETURN 4- 13$uh($0)\ 4- \($1:$S\) $2- ALIAS fmt.notify_signoff RETURN Signoff detected: $0 $ts.time ALIAS fmt.notify_signon RETURN Signon detected: $0 $ts.time ALIAS fmt.notify_signon_uh RETURN Signon detected: $0 \($1\) $ts.time ALIAS fmt.public RETURN 12\($012\)10: $2- ALIAS fmt.public_msg RETURN 12\($0:11$tolower($1)12\)\11: $2- ALIAS fmt.public_other RETURN 12\($012@$rest(1 $1)12\)\10: $2- ALIAS fmt.public_notice RETURN 4- 13$012@$rest(1 $ch($1))\ 4- $2- ALIAS fmt.sc_max RETURN 7 ALIAS fmt.sc_top RETURN $cparse(%K:\(%n%Wchannel:%n%B $0%n%K\)$repeat(${66-strlen($0)} :)) ALIAS fmt.sc_mid (list) { FE ($list) xx { @ :mod = pass(@+% $xx) @ :spc = mod ? mod : [ ] @ msar(r/%/%%/spc) @ :nic = strip(@+% $xx) @ :ret #= [%K|] ## [%W] ## spc ## [%n] ## [$[9]nic] } RETURN $cparse(%n$ret%K|) } ALIAS fmt.sc_bot RETURN $cparse(%K:\(%n%Wscanned %C@%B $tolower($strftime(%I:%M %p))%n%K\)$repeat(33 :)\(%n%Wo:%n%B$repeat(${3-strlen($1)} $chr(32))$1%n%K\)=\(%n%Wv:%n%B$repeat(${3-strlen($2)} $chr(32))$2%n%K\)=\(%n%Wt:%n%B$repeat(${3-strlen($4)} $chr(32))$4%n%K\):%n) ALIAS fmt.send_action RETURN 10* $N${iscurchan($0)?[]:[12@$rest(1 $0)]} $1- ALIAS fmt.send_action_me RETURN 14> \(16$0\\) 10* $N $1- ALIAS fmt.send_dcc_chat RETURN 14> 6=$0= $1- ALIAS fmt.send_msg RETURN 14> 11[ 10$0 11] $1- ALIAS fmt.send_notice RETURN 14> 4- 13$0 4- $1- ALIAS fmt.send_public RETURN 12\($N${iscurchan($0)?[]:[12@$rest(1 $0)]}12\)\10: $1- ALIAS fmt.server_notice RETURN #11$0# $2- ALIAS fmt.talk_reply RETURN -$0\-: ALIAS fmt.titlebar RETURN 16,2$0: $1- ALIAS fmt.topic RETURN 12Topic $tolower($1)\: ${[$2]!=[]?[$2-]:[12\\*UNSET12*\\]} 12\(by $0\) ALIAS fmt.topic_set RETURN 12Topic $tolower($0)\: $1- ALIAS fmt.usercmd RETURN Friend !$1 request\: $uh($0) ALIAS fmt.wallop RETURN 7WallOp\: 11\( $0@$servername() 11\) $2- ALIAS fmt.wallop_me RETURN 14> 4-7WallOp12@$0\\($1\)4- $2- ALIAS fmt.wallop_server RETURN 7WallOp\: #11$0# $2- ALIAS fmt.whois_bot RETURN 14--- End of $0 info --- ALIAS fmt.whois_mid RETURN 11: 12$[-9]0 11: $1- ALIAS fmt.whois_top RETURN 1,12[ 8,12$0 for 1,12: 16,12$1 9,12\($2@$3\) 1,12] # Event banner colors ALIAS fmt.banner_info RETURN 4$G ALIAS fmt.banner_party RETURN 3$G ALIAS fmt.banner_join RETURN 12$G ALIAS fmt.banner_leave RETURN 2$G ALIAS fmt.banner_signon RETURN 12$G ALIAS fmt.banner_signoff RETURN 2$G ALIAS fmt.banner_invite RETURN 12$G ALIAS fmt.banner_mode RETURN 10$G ALIAS fmt.banner_kick RETURN 11$G ALIAS fmt.banner_nick RETURN 7$G ALIAS fmt.banner_ctcp RETURN 13$G ALIAS fmt.banner_dcc RETURN 6$G ALIAS fmt.banner_alert RETURN 8$G ALIAS fmt.banner_userlist RETURN 9$G ALIAS fmt.banner_server RETURN 5$G ALIAS fmt.banner_chan RETURN 5$G ALIAS fmt.banner_usage RETURN 16$G ALIAS fmt.banner_tip RETURN 16+++ @ mytheme = [SbauCham] ON ^CTCP "% % THEME *" { IF (ischannel($1)) { XECHO -W $1 $fmt.banner_ctcp() $fmt.ctcp_channel($*) }{ ECHO $fmt.banner_ctcp() ${([$1] == servernick($servernum())) ? fmt.ctcp_me($*) : fmt.ctcp_server($*)} } UNLESS (isset(Q)) { n $0 Current theme is $mytheme for LiCev$id.v } } XECHO -b SbuCham' - LiCe theme by HSOC <hsoc@irc.gr> #HS/00 �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/themes/lime�����������������������������������������������������������������������������������0000644�0001750�0001750�00000013137�11752015330�012363� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# lime, by trey PACKAGE LiCeTheme EVAL XECHO -r $chr(27)\(U SET status_no_repeat off SET status_does_expandos on SET status_away 50[32away50]Ä SET status_channel %C SET status_chanop @ SET status_clock 50[32time50/37$tolower(%T)50] SET -status_format SET status_format1 50ÚÄ[37%@%=32%N%#50]Ä[32$servername($winserv())50/37%250]Ä%>50[32%150/37$tolower(%0)50]Ä%Q%F50[32win50/37%R50]%W50ÄÄ¿ SET status_format2 50ÀÄÄ[32%C%+50]Ä%9Ä%>%H%M%A%T50ÄÙ SET status_hold 50[32more50]Ä SET status_insert 50[32ins50]Ä SET status_mail 50[32mail50/37%M50]Ä SET status_mode 50/37+%+ SET status_nickname %N SET status_notify 50[32act50/37%F50]Ä SET status_oper * SET status_overwrite 50[32ovr50]Ä SET status_query 50[32query50/37%Q50]Ä SET status_scrollback 50[37buf50]Ä SET status_server %S SET status_umode 50/37+%# SET status_user9 ${C ? [50[32o50/37$#chops() 32n50/37$#nochops() 32t50/37$numonchannel()50]] : []} SET status_voice + SET status_window 50Ä[32+50] SET -INPUT_PROMPT ^WINDOW DOUBLE ON ALIAS fmt.playmsg (num,tot,mtime,mnick,muh,mtext) { ECHO [Num: $num/$tot - $stime($mtime) \($tdiff2(${time() - mtime}) ago\)] ECHO 10From: $mnick \($muh\) @ :width = word(0 $geom()) - 2 @ :fix = (strlen($mtext) > width) ? CONTINUED_LINE ## mtext : mtext ECHO $fix } ALIAS fmt.playmsg_prompt RETURN [$0/$1] Enter option (ENTER to continue, ? for help): ALIAS fmt.back_msg RETURN is back. $0- ALIAS fmt.gone_msg RETURN is gone. $0- ALIAS fmt.action RETURN $G 37$0${iscurchan($1)?[]:[50\/37]##[$1]}37 $2- ALIAS fmt.action_me RETURN $G 37$050/37$N $2- ALIAS fmt.auto_reply RETURN 50<57$050> $2- ALIAS fmt.auto_reply_other RETURN 50<57$050/57$150> $2- ALIAS fmt.cant_join RETURN 50[37$050]32 $tolower($1-) ALIAS fmt.channel_nick RETURN 37nick50/32$0 $1 50-> 32$2 ALIAS fmt.channel_signoff RETURN 37signoff50/32$0 37$150[32$2-50] ALIAS fmt.ctcp_channel RETURN 37ctcp50/32$1 37$050[32$userhost()50] $tolower($2-) ALIAS fmt.ctcp_me RETURN 37ctcp50/32$1 37$050[32$userhost()50] $tolower($2-) ALIAS fmt.ctcp_server RETURN 37ctcp50/32$1 37$050[32$userhost()50] $tolower($2-) ALIAS fmt.dcc_chat RETURN 50[32$050\(37dcc50\)] $1- ALIAS fmt.invite RETURN 37invite50/32$1 37$050[32$250] ALIAS fmt.join RETURN 37join50/32$1 37$050[32$250] ALIAS fmt.kick RETURN 37kick50/32$2 37$1 50-> 32$0[$3-50] ALIAS fmt.kick_me RETURN 37kick50/32$2 37$1 50-> 32$N50[$3-50] ALIAS fmt.leave RETURN 37leave50/32$1 37$050[32$250] ALIAS fmt.mode RETURN 37mode50/32$1 37$050[32$2-50] ALIAS fmt.mode_bans RETURN 37mode50/32$1 37$050[32$2-50] ALIAS fmt.mode_me RETURN 37mode50/32$1 37$050[32$2-50] ALIAS fmt.mode_server RETURN $fmt.mode($*) ALIAS fmt.msg RETURN 50[37$050\(32$userhost()50\)] $1- ALIAS fmt.msg_group RETURN 50[37$050\(32$userhost()50\)] $2- 50[37$150/32$S50] ALIAS fmt.notice RETURN 50-37$050\(32$userhost()50\)- $1- ALIAS fmt.notify_signoff RETURN 37signoff50/32$0 50[37$tolower($Z)50] ALIAS fmt.notify_signon RETURN 37signon50/32$0 50[37$tolower($Z)50] ALIAS fmt.notify_signon_uh RETURN 37signon50/32$0 32$150[37$tolower($Z)50] ALIAS fmt.public RETURN 50<37$050> $2- ALIAS fmt.public_msg RETURN 50<37$050/37$150> $2- ALIAS fmt.public_other RETURN 50<37$050/37$150> $2- ALIAS fmt.public_notice RETURN 50-37$050/37$150- $2- ALIAS fmt.sc_top RETURN $G Names on $0 ALIAS -fmt.sc_max ALIAS fmt.sc_mid (list) { FE ($list) xx { @ :mod = pass(@+% $xx) @ :spc = mod ? mod : [ ] @ :nic = strip(@+% $xx) @ :ret #= [3] ## spc ## [] ## [$[9]nic] ## [ ] } RETURN $ret } ALIAS fmt.sc_bot RETURN $G Channel stats: ops/$1 halfs/$2 non/$4 voc/$3 total/$5 ALIAS fmt.send_action RETURN $G 32$N${iscurchan($0)?[]:[50\/32]##[$0]} $1- ALIAS fmt.send_action_me RETURN $G 32$N50/32$0 $1- ALIAS fmt.send_dcc_chat RETURN 50[37dcc50/32$050] $1- ALIAS fmt.send_msg RETURN 50[37msg50/32$050] $1- ALIAS fmt.send_notice RETURN 50[37notice50/32$050] $1- ALIAS fmt.send_public RETURN 50<32$N${iscurchan($0)?[]:[50\/32]##[$0]}50> $1- ALIAS fmt.server_notice RETURN 50-37$050\(32***50\)- $2- ALIAS fmt.talk_reply RETURN $0: ALIAS fmt.titlebar RETURN 50Ä[32$050]ÄÄ[37$1-50]Ä ALIAS fmt.topic RETURN 37topic50/32$1 32$050[37$2-50] ALIAS fmt.topic_set RETURN 37topic50/32$0 50[37$1-50] ALIAS fmt.usercmd RETURN 37friend50/32$tolower($1) 32$050[37$after(! $uh($0))50] ALIAS fmt.usergreet RETURN [$0] $1- ALIAS fmt.wallop RETURN 50[32wallop50] <37$050/37$servername()50> $4- ALIAS fmt.wallop_me RETURN 50[32wall50] <32$N50/32$050> $2- ALIAS fmt.wallop_server RETURN 37wallop50/32$0 $2- ALIAS fmt.whois_bot RETURN 50ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ$100 ALIAS fmt.whois_mid RETURN 50³ [32$tolower($[9]0)50] $msar(g%@%32@37%+%32+37%[%50[37%]%50]37%$tolower($1-)) ALIAS fmt.whois_top RETURN 50ÚÄÄ[32$150\(37$232@37$350\)] ^SET BANNER 50+32+52+ ALIAS fmt.banner_info RETURN $G ALIAS fmt.banner_party RETURN $G ALIAS fmt.banner_join RETURN $G ALIAS fmt.banner_leave RETURN $G ALIAS fmt.banner_signon RETURN $G ALIAS fmt.banner_signoff RETURN $G ALIAS fmt.banner_invite RETURN $G ALIAS fmt.banner_mode RETURN $G ALIAS fmt.banner_kick RETURN $G ALIAS fmt.banner_nick RETURN $G ALIAS fmt.banner_ctcp RETURN $G ALIAS fmt.banner_dcc RETURN $G ALIAS fmt.banner_alert RETURN $G ALIAS fmt.banner_userlist RETURN $G ALIAS fmt.banner_server RETURN $G ALIAS fmt.banner_chan RETURN $G ALIAS fmt.banner_usage RETURN $G ALIAS fmt.banner_tip RETURN $G ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lice5/themes/axur�����������������������������������������������������������������������������������0000644�0001750�0001750�00000015737�11753027721�012434� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # Description: syntax color theme. # Author: whitefang (thall@ecad.org) # # TODO: # - fix mode_me # - do "shade" function PACKAGE LiCeTheme eval xecho -r $chr(27)\(U ^set notify_userhost_automatic on ^set status_does_expandos on ALIAS syn.time RETURN 11@14\($sar(/:/14:10/$sar(/AM/14am/$sar(/PM/14pm/10$0)))14\) # Event formats ALIAS fmt.action RETURN ù 14\[16$014:15$114\] $2- ALIAS fmt.action_me RETURN ù 14\[16$014\] $2- ALIAS fmt.auto_reply RETURN 14\<8$014\> $2- ALIAS fmt.auto_reply_other RETURN 14\[11$014:15$114\) $2- ALIAS fmt.channel_nick RETURN 14\(16nick14!15change14\) \(10$1 14Ä15Ä16> 11$214\) $syn.time($Z) ALIAS fmt.channel_signoff RETURN 14\(16signoff14!15$014\) \(11$1 14ð 10$sar(/@/14@10/$userhost())14\) \($2-14\) $syn.time($Z) ALIAS fmt.ctcp_channel RETURN \(16$0\($userhost()\)\(16$1\) $toupper($2)\) ALIAS fmt.ctcp_me RETURN \(16$015\($userhost()\) $toupper($2)\) ALIAS fmt.ctcp_server RETURN \(16$015\($userhost()\) $toupper($2)\) ALIAS fmt.dcc_chat RETURN 14\[16<11Ä10Ä 16dcc14\($014\)\] $1- ALIAS fmt.invite RETURN 14[15[16Invite15]14] $0 invites you to join 16$1 ALIAS fmt.join RETURN 14\(16join14!15$114\) \(11$0 14ð 10$sar(/@/14@10/$2)14\) $syn.time($Z) ALIAS fmt.kick RETURN 14\(16kick14!15$214\) by14\(11$1 14ð 10$sar(/@/14@10/$userhost())14\) kicked 14\(11$0 14ð $3-14\) $syn.time($Z) ALIAS fmt.kick_me RETURN 14\(16kick14!15$214\) by14\(11$1 14ð 10$sar(/@/14@10/$userhost())14\) kicked 14\(11YOU 14ð $3-14\) $syn.time($Z) ALIAS fmt.leave RETURN $14\(16part14!$114\) \(11$0 14ð 10$sar(/@/14@10/$userhost())14\) $syn.time($Z) ALIAS fmt.mode RETURN 14\(16mode14!$114\) \(11$0 14ð $2-14\) $syn.time($Z) ALIAS fmt.mode_bans RETURN 14\(16stack14!$114\) \(11$0 14ð $214\) $syn.time($Z) ALIAS fmt.mode_me RETURN 14[15[16UserMode15]14] Your usermode is now: 16+$usermode()$2 ALIAS fmt.mode_server RETURN 14\(16servermode14!$114\) \(11$0 14ð $2-14\) $syn.time($Z) ALIAS fmt.msg RETURN 14\[13$014\(13$sar(/@/15@13/$userhost())14\)\] $1- ALIAS fmt.msg_group RETURN 14\[16<11Ä10Ä 16msg14\($0 14ð $sar(/@/14@15/$userhost())14\)\] $2- ALIAS fmt.notice RETURN -16$0\($userhost()\)- $1- ALIAS fmt.notify_signoff RETURN 14\[15\[16Signoff15\]14\] $syn.time($Z) 10$0 has left IRC... ALIAS fmt.notify_signon RETURN 14\[15\[16Signon15\]14\] $syn.time($Z) 11$014\(10$sar(/@/14@10/$1)14\) is on IRC... ALIAS fmt.notify_signon_uh RETURN 14\[15\[16Signon15\]14\] $syn.time($Z) 11$014\(10$sar(/@/14@10/$1)14\) is on IRC... ALIAS fmt.public RETURN 14\<15$014\> $2- ALIAS fmt.public_msg RETURN 14\[16010\) $2- ALIAS fmt.public_other RETURN 14\[16$014:15$114\) $2- ALIAS fmt.public_notice RETURN -16$0\($userhost()\):16$1- $2- ALIAS -fmt.sc_max ALIAS fmt.send_action RETURN ù 14[16$N14] $1- ALIAS fmt.send_action_me RETURN 14\[10Ä11Ä16> 16action14\(15$014\)\] $1- ALIAS fmt.send_dcc_chat RETURN 14\[10Ä11Ä16> 16dcc14\(15$014\)\] $1- ALIAS fmt.send_msg RETURN 15-> 14\[4msg/15$014\] $1- ALIAS fmt.send_notice RETURN 14\[10Ä11Ä16> 16notice14\(15$014\)\] $1- ALIAS fmt.send_public RETURN 14\(10$N14\) $1- ALIAS fmt.server_notice RETURN \(16$0\) $2- ALIAS fmt.titlebar RETURN 15\(10$010\) :: $1- ALIAS fmt.topic RETURN 14\(16topic14!15$114\) \(11$0 14ð 15$2-14\) $syn.time($Z) ALIAS fmt.topic_set { if ([$1-] == [<No Topic Set>]) {RETURN 14\(16topic 14ú 15$014\) None} if ([$1]==[<Set]&&[$2]==[by]&&[$4]==[on]) {RETURN 14\(16topic 14ú 15$014\) set by 16$3 on $strip(> $5-)} {RETURN 14\(16topic 14ú 15$014\) $1-} } ALIAS fmt.usercmd RETURN 14\[15\[16Friend15\]14\] 11$1 request from 16$0 $syn.time($Z) ALIAS fmt.wallop RETURN 16!3$016! $2- ALIAS fmt.wallop_me RETURN $G \(16wallop\($0\) $2- ALIAS fmt.whois_bot RETURN $()14ÀÄÄ15Ä16-15Ä14ÄÄÄÄÄÄÄ15Ä16Ä-15ÄÄ15Ä14ÄÄÄ--ÄÄÄ-Ä15ÄÄ-16ÄÄ-Ä 14Ä-Ä15Ä16-ÄÄ- 15-16Ä ALIAS fmt.whois_mid { if (temp.syn.whois_uh) { echo 14³ 16address 14ð15 $sar(/@/14@15/$temp.syn.whois_uh) ^assign -temp.syn.whois_uh } switch ($0) { (Ircname) {RETURN 14³ 16quote 14ð $1-} (Domain) {RETURN 14³ 16domain 14ð $1-} (Shitlist) {RETURN 14³ 16shitinfo 14ð $1-} (Userlist) {RETURN 14³ 16userinfo 14ð $1-} (Channels) {RETURN 14³ 16channels 14ð $1-} (Server) {RETURN 14³ 16server 14ð $1-} (Away) {RETURN 14³ 16away 14ð $1-} (Operator) {RETURN 14³ 16operator 14ð ..16!@#$15} (Signon) {RETURN 14³ 16signon 14ð $1-} (Note) {RETURN 14³ 16note 14ð $1-} (Idle) {RETURN 14³ 16idle 14ð $1-} (Services) {RETURN 14³ 16services 14ð $1-} (Spoof) {RETURN 14³ 16spoof 14ð $1-} (Notes) {RETURN 14³ 16notes 14ð $1-} (Identity) {RETURN 14³ 16identity 14ð $1-} } } ALIAS fmt.whois_top { ^assign temp.syn.whois_uh $2@$3 RETURN 14ÚÄÄ15Ä16-15Ä14ÄÄ\(\( $tolower($0) information: 16$114 \)\)ÄÄ-Ä-Ä15Ä16-15Ä15Ä14Ä--ÄÄ-Ä15Ä-16Ä-Ä 14-Ä15Ä16-Ä- 15-16Ä } # Banner for this theme ^SET BANNER 14ú15ú16ú15 # Event banner colors ALIAS fmt.banner_info RETURN $G ALIAS fmt.banner_party RETURN $G ALIAS fmt.banner_join RETURN $G ALIAS fmt.banner_leave RETURN $G ALIAS fmt.banner_signon RETURN $G ALIAS fmt.banner_signoff RETURN $G ALIAS fmt.banner_invite RETURN $G ALIAS fmt.banner_mode RETURN $G ALIAS fmt.banner_kick RETURN $G ALIAS fmt.banner_nick RETURN $G ALIAS -fmt.banner_ctcp ALIAS fmt.banner_dcc RETURN $G ALIAS fmt.banner_alert RETURN $G ALIAS fmt.banner_userlist RETURN $G ALIAS -fmt.banner_server ALIAS fmt.banner_usage RETURN $G ^set status_no_repeat off ^set status_away 14]ÄÄ[1615away14:16$sar(/://$status_user1) ^set status_channel 15ù 10%C ^set status_chanop 11@ ^set status_clock Ä10[1615%T16 ^set status_format 14ð 16%R10:%*%@%N%#%B%C%+%A14Ä%>%!110:16%2 14ð ^set status_format1 11Ú0Ä10[16%R14:%*%@10%N%#%B%C%+%A10]0Ä%>10ÄÄÄÄ[1615lag13:%2160]ÄÄ10ÄÄ11Ä¿ ^set status_format2 10À0ÄÄ14[15tog13:0%0 13\(0$S13\)15%F%M10]0Ä%>10ÄÄ%T10]11ÄÙ ^set status_hold_lines 10, %B ^set status_mail 10]0ÄÄ10[16mail13(15%M13) ^set status_mode 14(11+%+14) ^set status_nick %N ^set status_notify 14]0ÄÄ10[11a14:10%F ^set status_oper 11* ^set status_umode 14(11+%#14) ^set status_voice + ^set status_window ^^^^^ xecho -b axur color theme for LiCe by : Neoteric xecho -b Direct any comments to : timball@sheergenius.com xecho -b Changed from the orig "syntax" theme by whitefang (thall@ecad.org) xecho -b Butchered into shape by : SrfRoG xecho -b Based on axur script for epic by rogue (www.axur05.org) # changed from the original syntax theme by whitefang (thall@ecad.org) # Thu Aug 5 14:48:10 EDT 1999 ���������������������������������lice5/themes/wctb�����������������������������������������������������������������������������������0000644�0001750�0001750�00000010530�11542462257�012401� 0����������������������������������������������������������������������������������������������������ustar �tim�����������������������������tim��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # Description: wc toolbox theme. # Author: whitefang (thall@magenet.com) # Credits: thanks wc! # PACKAGE LiCeTheme ALIAS _proc.userdomain (uh) { IF (isdigit($right(1 $uh))) {RETURN $uh} @ :user = before(@ $uh) @ :host = after(@ $uh) @ :temp = after(@ $mask(3 $host)) @ :host = after(. $temp) @ FUNCTION_RETURN = user ## [@] ## host } # Status sets - please be careful! SET CLOCK ON SET CLOCK_24HOUR OFF SET STATUS_AWAY (A) SET STATUS_CHANNEL %C SET STATUS_CHANOP @ SET STATUS_CLOCK [%T] SET STATUS_CPU_SAVER (%L) SET STATUS_DOES_EXPANDOS OFF SET STATUS_FORMAT [%R] %T %*%=%@%N%#%S%H%B%Q%C%+ %I%O%A%X%M%F%Y %W %>[%U] SET STATUS_FORMAT1 [%R] %*%N%# %W %D %>[%U] SET STATUS_FORMAT2 %T %S%Q%=%@%C%+ %H%B%I%O%A%M%F %>[%Z] SET STATUS_HOLD ** MORE ** SET STATUS_HOLD_LINES %B SET STATUS_INSERT SET STATUS_MAIL (M:%M) SET STATUS_MODE (+%+) SET STATUS_NICKNAME %N SET STATUS_NOTIFY (W:%F) SET STATUS_NO_REPEAT ON SET STATUS_OPER * SET STATUS_OVERWRITE (O) SET STATUS_QUERY Q:%Q SET STATUS_SERVER (%S) SET STATUS_TRUNCATE_RHS ON SET STATUS_UMODE (+%#) SET STATUS_VOICE + SET STATUS_WINDOW ^ # Event formats ALIAS fmt.action RETURN * $0${iscurchan($1)?[]:[\:$1]} $2- ALIAS fmt.action_me RETURN *> $0 $2- ALIAS fmt.auto_reply RETURN <$0> $2- ALIAS fmt.auto_reply_other RETURN <$0:$1\> $2- ALIAS fmt.cant_join RETURN You can't join $0 \($1-\) ALIAS fmt.channel_nick RETURN $1 is now known as $2 ALIAS fmt.channel_signoff RETURN Signoff: $1 \($2-\) ALIAS fmt.ctcp_channel RETURN $0 \[$_proc.userdomain($userhost())\] sent a $toupper($2) request to $1\. ALIAS fmt.ctcp_me RETURN $toupper($2) request from $0 \[$_proc.userdomain($userhost())\] recieved. ALIAS fmt.ctcp_server RETURN $toupper($2) request from $uh($0) recieved. ALIAS fmt.dcc_chat RETURN \[=$0=\] $1- ALIAS fmt.invite RETURN $0 \[$_proc.userdomain($userhost())\] invites you to channel $1 ALIAS fmt.join RETURN $0 \($2\) has joined channel $1 ALIAS fmt.kick RETURN $0 has been kick from channel $2 by $1 \($3-\) ALIAS fmt.kick_me RETURN You have been kicked off channel $2 by $1 \($3-\) ALIAS fmt.leave RETURN $0 has left channel $1 ALIAS fmt.mode RETURN Mode change \"$2-\" on channel $1 by $0 ALIAS fmt.mode_bans RETURN Mode stack \($2\) on channel $1 by $0 ALIAS fmt.mode_me RETURN Mode change \"$2-\" for user $N by $N ALIAS fmt.mode_server RETURN Mode change \"$2-\" on channel $1 by $0 ALIAS fmt.msg RETURN \[$0\:$_proc.userdomain($userhost())\] $1- ALIAS fmt.msg_group RETURN \[$0\:$_proc.userdomain($userhost())\] $1- ALIAS fmt.notice RETURN -$0- $1- ALIAS fmt.notify_signoff RETURN Signoff at $Z for $0 detected. ALIAS fmt.notify_signon RETURN Signon at $Z for $0 detected. ALIAS fmt.notify_signon_uh RETURN Signon at $Z for $0 \[$1\] ALIAS fmt.public RETURN <$0> $2- ALIAS fmt.public_msg RETURN \($0\/$1\) $2- ALIAS fmt.public_other RETURN <$0:$1> $2- ALIAS fmt.public_notice RETURN -$0:$1\- $2- ALIAS fmt.send_action RETURN * $N${iscurchan($0)?[]:[\:$0]} $1- ALIAS fmt.send_action_me RETURN * $N $1- \<To: $0\> ALIAS fmt.send_dcc_chat RETURN => =$0= $1- ALIAS fmt.send_msg RETURN -> \*$0\* $1- ALIAS fmt.send_notice RETURN -> \-$0\- $1- ALIAS fmt.send_public RETURN <$N${iscurchan($0)?[]:[\:$0]}\> $1- ALIAS fmt.server_notice RETURN $2- ALIAS fmt.talk_reply RETURN $0: ALIAS fmt.topic RETURN $0 has changed the topic on channel $1 to $2- ALIAS fmt.topic_set RETURN Topic for $0\: $1- ALIAS fmt.usercmd RETURN $1 friend request from $0 $_proc.userdomain($userhost()) ALIAS fmt.wallop RETURN \!$0\! $2- ALIAS fmt.wallop_me RETURN -> WallOp:$0\\($1\) $2- ALIAS fmt.whois_bot RETURN *** ALIAS fmt.whois_mid RETURN *** $0\: $1- ALIAS fmt.whois_top RETURN *** $1 is $2@$3 $4- # Banner for this theme ^SET BANNER *** # Event banner colors ALIAS fmt.banner_info RETURN \[***\] ALIAS fmt.banner_party RETURN *** ALIAS fmt.banner_join RETURN *** ALIAS fmt.banner_leave RETURN *** ALIAS fmt.banner_signon RETURN \[***\] ALIAS fmt.banner_signoff RETURN *** ALIAS fmt.banner_invite RETURN *** ALIAS fmt.banner_mode RETURN *** ALIAS fmt.banner_kick RETURN *** ALIAS fmt.banner_nick RETURN *** ALIAS fmt.banner_ctcp RETURN \[***\] ALIAS fmt.banner_dcc RETURN \[***\] ALIAS fmt.banner_alert RETURN \[***\] ALIAS fmt.banner_userlist RETURN \[***\] ALIAS fmt.banner_server RETURN *** ALIAS fmt.banner_chan RETURN *** ALIAS fmt.banner_usage RETURN \[***\] ALIAS fmt.banner_tip RETURN \[***\] # tjbh/99 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������