########################################################################### ########################################################################## ## ## ## shtfck ## 3.04 ## ## ## ## + IRC: benny@IRCnet - Email: benny@ricecows.org + ## ## ########################################################################## ########################################################################## ## ## ## If you want to edit this, you should use nano, pico, vi, joe etc. ## for editing and customizing your EPIC/ircII. ## ## ## Sorry for those basic ircII users, your shitty client ## doesn't support colors or anything good. ## START USING EPIC! ## ## ## thanks and / Feenix / hrnt / Dethnite / jm / grimnail ## greetings : and all those nice ppl on #EPIC @ EFnet ## ## ## ######################################################################## ######################################################################### ## Editing tools ## #  #  #  #  ## Cleaning IRC ## dump all # NOW WE ARE CLEAN ;) # ## Logo ## ECHO ECHO ECHO 3Shit9fuck 3Inc. ECHO ECHO ## Aliasses ## ALIAS fmt.send_msg { FE ($winrefs()) wr { IF ( findw($0 $winnicklist($wr)) > -1 ) { # This is shown for outgoing query messages RETURN $left(2 $stime($time()))$mid(11 5 $stime($time())) 3<4$N3> $1- } } # This is shown for messages not in query RETURN $left(2 $stime($time()))$mid(11 5 $stime($time())) 13\(10msg14\(12$014\)13\) $1- } ALIAS fmt.msg { FE ($winrefs()) wr { IF ( findw($0 $winnicklist($wr)) > -1 ) { # This is printed into query RETURN $left(2 $stime($time()))$mid(11 5 $stime($time())) 3<9$03> $1- } } # This is printed if sender is not in query with you RETURN $left(2 $stime($time()))$mid(11 5 $stime($time())) 13\(12$014!10$userhost()13\) $1- } ALIAS A {away -all $0-} ALIAS ADDNICK {if ([$1]) { addnick $1- };tk.addmsg $0 $tk.msglist} ALIAS AW {away -all $0-} ALIAS BAILU {say rajun bailun jalkee voi olla väsynyt ja nuutunut olo ja silloin on kylma kokis poikaa mutta jos ne ei auta niin korjaus sarja auvuksi} ALIAS BLIST {mode * +b} alias chanserv quote chanserv ALIAS CL {clear} ALIAS CLA {clear all} ALIAS CS quote cs ALIAS CYCLE {@ :temp = C;leave *;wait;join $temp} ALIAS DEV {mode * -vvvvvv $0-} ALIAS DOP {mode * -oooooo $0-} ALIAS DEOP {mode * -oooooo $0-} ALIAS detatch {exec screen -r} ALIAS ELIST {mode * +e} alias identify quote nickserv identify ALIAS ILIST {mode * +I} ALIAS INVITE {if ([$1]) {//invite $0 $1} {//invite $0 $C}} ALIAS JOIN {switch ($*) {(*,*) {join $before(, $*);join $after(, $*)};(#*) (&*) (0) (-*) (!*) (+*) { //join $* };() { //join -i };(*) { //join #$* }}} ALIAS KB {kicknban} ALIAS L {list *} ALIAS MECHO XECHO -W MW $* ALIAS MO {mode $C $*} ALIAS HMODE {^assign fakechan $1;^assign fakemode $3-;^assign fakedid $2;^assign fakewhattodo $0;hfake${fakewhattodo} 7ù0í7ù mode14/10${fakechan} 14[0${fakemode}14] by 0${fakedid};^assign -fakechan;^assign -fakedid;^assign -fakemode} ALIAS MMODE {quote mode $0-} ALIAS MODEREPLY {@ :modechangg = [$5];if (modechangg == [+i]) ;^assign unrestrlist $unrestrlist $4 $4} ALIAS N {names *} ALIAS NECHO {^xecho -level crap $ni $0-} ALIAS NICKLIST {echo 4+6|4+ Nickname List: $tk.msglist} alias nickserv quote nickserv ALIAS NOTWORD {if ([$0] > 0) {if (([$0] > 1) && ([$0] < rmatch($~ $1-))) { @ nw.sep = [ ] } { @ nw.sep = [] };@ function_return = [$(1-${[$0]-1})] ## [$nw.sep] ## [$(${[$0]+1}-)]} {@ function_return = [$1-]}} ALIAS OP {mode * +oooooo $0-} ALIAS Q {query $0} ALIAS P {part *} ALIAS PECHO {echo} ALIAS PCHAN {PING *} ALIAS SECRET {mo +s} ALIAS tere {say hmm Tere kõigile kes seda kanalit kuulavad! =p} ALIAS terve {say hmm Terve kaikille jotka tätä channelii kuuntelee! =p} ALIAS TK.ADDMSG {@ tk.matched = rmatch($0 $^\1-);if (tk.matched) {@ tk.msglist = [$(0-${tk.matched-1}) $(${tk.matched+1}-)]} { @ tk.msglist = [$(0-${tk.msgmax-1})] };@ tk.msgcnt = 0;^assign -tk.matched} ALIAS TK.DELNICK {if (tk.msgcnt == 0) {echo 4+6|4+ Nickname: $word(0 $tk.msglist) removed.;@ tk.msglist = [$notword(1 $tk.msglist)]} {echo 4+6|4+ Nickname: $word(${tk.msgcnt-1} $tk.msglist) removed.;@ tk.msglist = [$notword($tk.msgcnt $tk.msglist)]};type ^U} ALIAS TK.GETMSG {@ tk.msgcnt = tk.msgcnt + [$0];if ( #tk.msglist < tk.msgcnt ) {@ tk.msgcnt = 1};if (tk.msgcnt <= 0) {@ tk.msgcnt = #tk.msglist};@ tk.junk = K ## [msg];type ^U$tk.junk $^\^^{[$($tk.msgcnt)]} } ALIAS V {mode * +vvv $0-} ALIAS VERCHAN {ctcp * version} ALIAS VOICE {mode * +vvvvvv $0-} ALIAS W {who *} ALIAS WII {whois $0 $0} ALIAS RELOAD {load shitfuck304.irc} ALIAS WW {whowas $0} ALIAS UNTOPIC { topic -$0 } ## Assings ## ASSIGN TK.MSGMAX 5 ## Bindigs ## BIND ^B SELF_INSERT BIND ^I PARSE_COMMAND ^tk.getmsg 1 $tk.msglist BIND ^R PARSE_COMMAND ^tk.getmsg -1 $tk.msglist BIND ^V REVERSE BIND ^W NEXT_WINDOW BIND z SELF_INSERT BIND ^[1 PARSE_COMMAND window REFNUM_OR_SWAP 1 BIND ^[2 PARSE_COMMAND window REFNUM_OR_SWAP 2 BIND ^[3 PARSE_COMMAND window REFNUM_OR_SWAP 3 BIND ^[4 PARSE_COMMAND window REFNUM_OR_SWAP 4 BIND ^[5 PARSE_COMMAND window REFNUM_OR_SWAP 5 BIND ^[6 PARSE_COMMAND window REFNUM_OR_SWAP 6 BIND ^[7 PARSE_COMMAND window REFNUM_OR_SWAP 7 BIND ^[8 PARSE_COMMAND window REFNUM_OR_SWAP 8 BIND ^[9 PARSE_COMMAND window REFNUM_OR_SWAP 9 BIND ^[0 PARSE_COMMAND window REFNUM_OR_SWAP 10 BIND ^[q PARSE_COMMAND window REFNUM_OR_SWAP 11 BIND ^[w PARSE_COMMAND window REFNUM_OR_SWAP 12 BIND ^[e PARSE_COMMAND window REFNUM_OR_SWAP 13 BIND ^[r PARSE_COMMAND window REFNUM_OR_SWAP 14 BIND ^[t PARSE_COMMAND window REFNUM_OR_SWAP 15 BIND ^[y PARSE_COMMAND window REFNUM_OR_SWAP 16 BIND ^[u PARSE_COMMAND window REFNUM_OR_SWAP 17 BIND ^[i PARSE_COMMAND window REFNUM_OR_SWAP 18 BIND ^[o PARSE_COMMAND window REFNUM_OR_SWAP 19 BIND ^[a PARSE_COMMAND window REFNUM_OR_SWAP 20 ## Notifys ## NOTIFY benny # /notify # ## LOAD "$",8 ## LOAD autoop LOAD basical LOAD deban LOAD fe LOAD tabkey LOAD dns # /LOAD # # auto op # ASSIGN OP_LIST sad157@shitty.x86.cl ON #-JOIN 666 '% \\[$CHAN_LIST\\] \\[$OP_LIST\\] *' {timer ${10 + rand(10)} if \(!ischanop\($0 $1\)\) \{//mode $1 +o $0\}} ## Ignore ## IGNORE *!*@*.JP ALL IGNORE *!*@*.LV ALL IGNORE *!*MeetIRC@* ALL IGNORE *!*Tiscali@* ALL IGNORE *!*@*.IT CTCPS ## Ons (joins, parts, quits, actions, msgs, notices etc.) ## ON ^ACTION "* % *" {/echo $left(2 $stime($time()))$mid(11 5 $stime($time())) * 16$0 $2-} ON ^CTCP "* *" {/echo $left(2 $stime($time()))$mid(11 5 $stime($time())) $banner 16$0 requested 4$2 from 10$1} ON ^CTCP_REPLY "* *" {/echo $left(2 $stime($time()))$mid(11 5 $stime($time())) $banner CTCP $2 reply from 16$0 : $3-} ON ^DCC_CHAT "* *" {/echo $left(2 $stime($time()))$mid(11 5 $stime($time())) 14<4$00514> $1-} ON #-DCC_CHAT 55 "* *" {^tk.addmsg \=$0 $tk.msglist} ON ^JOIN "* * % *" {/echo $left(2 $stime($time()))$mid(11 5 $stime($time())) $banner 16$0 14\[10$214\] has joined 11$1} ON ^KICK "* *" {/echo $left(2 $stime($time()))$mid(11 5 $stime($time())) $banner 16$0 was kicked off channel 10$2 by 11$1 16\($3-16\) } ON ^LEAVE "* *" {/echo $left(2 $stime($time()))$mid(11 5 $stime($time())) $banner 16$0 14\[10$214\] has left 11$1 16\($3-16\)} ON ^MODE "* % *" {/echo $left(2 $stime($time()))$mid(11 5 $stime($time())) $banner Modechange/10$1 16\($2-16\) by 16$0} #ON ^MSG "*" xecho $left(2 $stime($time()))$mid(11 5 $stime($time())) 13\(12$014!10$userhost()13\) $1- ON ^MSG_GROUP "*" xecho [$0\($userhost()\)] $2- \($1\) ON #-MSG 55 "* *" {^tk.addmsg $0 $tk.msglist} ON ^NOTICE "*" xecho $left(2 $stime($time()))$mid(11 5 $stime($time())) 14-13$014\(6$userhost()14\)- $1- ON ^NOTICE_GROUP "*" xecho -$0\($userhost()\)- $2- \($1\) ON ^NOTIFY_SIGNOFF "*" xecho -b $0 signed off at $Z ON ^NOTIFY_SIGNON "*" xecho -b $0 [$1] signed on at $Z ON ^PUBLIC "* % *" { if \(match\(*${N}* $$2-\)\){ /echo $left(2 $stime($time()))$mid(11 5 $stime($time())) 10<${ischanop($0-1) ? [@] : ischanvoice($0-1) ? [+] : []}3$010> $2-} {/echo $left(2 $stime($time()))$mid(11 5 $stime($time())) 3<${ischanop($0-1) ? [@] : ischanvoice($0-1) ? [+] : []}$03> $2-} } ON ^PUBLIC_MSG "* *" {/echo $left(2 $stime($time()))$mid(11 5 $stime($time())) 14<16$0:13$114> $2-} ON ^SEND_ACTION "* *" {/echo $left(2 $stime($time()))$mid(11 5 $stime($time())) * 16$N $1-} ON #-SEND_DCC_CHAT 55 "* *" {^tk.addmsg \=$0 $tk.msglist} ON ^SEND_DCC_CHAT "* *" {/echo $left(2 $stime($time()))$mid(11 5 $stime($time())) 14\(16$014\) $1-} #ON ^SEND_MSG "* *" {/echo $left(2 $stime($time()))$mid(11 5 $stime($time())) 13\(10msg14\(12$014\)13\) $1-} ON #-SEND_MSG 55 "* *" {^tk.addmsg $0 $tk.msglist} ON ^CHANNEL_NICK "* *" {/echo $left(2 $stime($time()))$mid(11 5 $stime($time())) $banner 10$1 is now known as 11$2} ON ^SEND_NOTICE "* *" {/echo $left(2 $stime($time()))$mid(11 5 $stime($time())) 14[5notice14\(4$014\)] $1-} ON ^SEND_PUBLIC "* *" {/echo $left(2 $stime($time()))$mid(11 5 $stime($time())) ${ischanop($N $0)?[3<@16$N3>${iscurchan($0)?[]:[/$rest(1 $0)]}]:[${ischanvoice($N $0)?[3<+16$N3>${iscurchan($0)?[] :[/$rest(1 $0)]}]:[3<16$N3>${iscurchan($0)?[]:[/$rest(1 $0)]}] }]} $1-} ON ^CHANNEL_SIGNOFF "* *" {/echo $left(2 $stime($time()))$mid(11 5 $stime($time())) $banner 16$1 has quit 16\($2-16\)} ON ^TOPIC "* *" {/echo $left(2 $stime($time()))$mid(11 5 $stime($time())) $banner 16$0 has changed the topic on channel 10$1 to: $2-} ON ^PUBLIC_NOTICE "* *" {/echo $left(2 $stime($time()))$mid(11 5 $stime($time())) 14-16$0:10$114- $2-} ON ^SEND_MSG "*" {mecho $fmt.send_msg($*)} ON ^MSG "*" {mecho $fmt.msg($*)} ## Settings ## SET AUTO_RECONNECT ON SET AUTO_RECONNECT_DELAY 300 SET AUTO_REJOIN OFF SET AUTO_WHOWAS OFF SET BANNER 15:: SET BEEP OFF SET CLIENT_INFORMATION / - Get the best, fuck the rest! SET CLOCK_24HOUR ON SET CMDCHARS - SET CONTINUED_LINE SET DCC_TIMEOUT 600 SET DCC_STORE_PATH ~ SET FLOOD_AFTER 6 SET FLOOD_RATE 2 SET FLOOD_USERS 5 SET FLOOD_WARNING OFF SET HIGH_BIT_ESCAPE 0 SET HELP_PATH /usr/share/epic4/help/ SET HELP_PROMPT ON SET HELP_WINDOW ON SET LASTLOG 8192 SET MAIL 0 SET MIRC_BROKEN_DCC_RESUME ON SET REALNAME SHITFUCK INC. SET SCROLLBACK 8192 SET STATUS_AWAY (3,4zZzZ3,1) SET STATUS_FORMAT 3,1[3,1%T3,1 ]3,02%*3,1[3,02%=%@3,1%N%#%H%B%A%Q3,1%C%+%S3,1]3,1%I%O%M%F%L %D %U %W SET INPUT_PROMPT [$T] SET STATUS_NOTIFY 3,1[3,1 Act: 3,02%F3,1 ]3,1 SET STATUS_QUERY (3,1%Q3,1) SET STATUS_USER SET STATUS_WINDOW SET USER_INFORMATION EPIC4 - Miksen tunne mitään? SET WORD_BREAK - ,.;: SET QUIT_MESSAGE ircII %s -/- !@#% # # ripped and customozied code (and my own =) # THANKS THANKS THANKS # ## Cannot join channel ## on ^471 "*" xecho -b [16$1] cannot join channel (16+l) there's no room for you! on ^473 "*" xecho -b [16$1] cannot join channel (16+i) THERE'S A PRIVATE PARTY!! on ^474 "*" xecho -b [16$1] cannot join channel (16+b) your ass is banned! on ^475 "*" xecho -b [16$1] cannot join channel (16+k) you must give the magic word! # /Cannot join channel # ## Away ## on ^306 "*" xecho -b You have been marked as being away [ $servername($lastserver()) / $Z ] on ^305 "*" xecho -b You are no longer marked as being away [ $servername($lastserver()) / $Z ] # /Away # ## Banlist ## on ^367 "*" xecho $1 ban $2 # /Banlist # ## Date ## on ^391 "*" xecho $banner [ $0 ] [ $2 $3 $4 $5 ] [ $7- ] # /Date # ## Names (Thanks for script itself jm and to Kimberly for editing) ## alias names scan alias sc scan alias scan { if (ischannel($0)) { @:chan = [$0] } { if (ischannel($C)) { @:chan = C } { return } } @:ops = chops($chan) @:non_ops = nochops($chan) @ :ch_t = ch_o = ch_v = ch_n = 0 FE ($channel($ch_name)) ch_1 { IF (left(1 $ch_1) == [@]) {@ ch_o++}{@ ch_d++} IF (mid(1 1 $ch_1) == [+]) {@ ch_v++} @ ch_t++ } xecho -w $winchan($chan) xecho -w $winchan($chan) 14[ 3Users 9$chan @16$mid(10 6 $stime($time())) 14] fe ($strip(?. $channel($chan))) n1 n2 n3 n4 { xecho -w $winchan($chan) $[17]n1 $[17]n2 $[17]n3 $[17]n4 if (n4) { @:num += 4 } { if (n3) { @:num += 3 } { if (n2) { @:num += 2 } { @:num++ } } } } xecho -w $winchan($chan) 14[ 3stats Total 16$ch_t :: Op 16$ch_o :: Voice 16$ch_v 14] xecho -w $winchan($chan) } on ^353 "*" { xecho -w $winchan($2) xecho -w $winchan($2) 14[ 3Users 9$2 @16$mid(10 6 $stime($time())) 14] fe ($3-) n1 n2 n3 n4 { xecho -w $winchan($2) $[17]n1 $[17]n2 $[17]n3 $[17]n4 if (n4) { @total_nicks += 4 } { if (n3) { @total_nicks += 3 } { if (n2) { @total_nicks += 2 } { @total_nicks++ } } } } } on ^366 "*" { @ :ch_t = ch_o = ch_v = ch_n = 0 FE ($channel($ch_name)) ch_1 { IF (left(1 $ch_1) == [@]) {@ ch_o++}{@ ch_d++} IF (mid(1 1 $ch_1) == [+]) {@ ch_v++} @ ch_t++ } xecho -w $winchan($1) 14[ 3stats Total 16$ch_t :: Op 16$ch_o :: Voice 16$ch_v 14] xecho -w $winchan($1) @total_nicks = 0 } # /Names # ### Whois ### ## Whois ## on ^311 "*" { xecho 16$1 14[$216@$314] xecho Realname : $5- } on ^378 "*" xecho Hostname : $5 $6 on ^307 "*" xecho Registered : Has a registered nick on ^319 "*" xecho Channel(s) : $2- #on ^301 "*" xecho Away : $0 - $1- on ^338 "*" xecho Server msg : $1 is a sick fuck on ^309 "*" xecho Security : $1- on ^320 "*" xecho Security : $1- on ^312 "*" xecho Server : $2 \($3-\) on ^317 "*" xecho Idle Time : $tdiff2($2) ${isnumber($3) ? [\($strftime($3 %D %T)\)] : [] } on ^313 "*" xecho Oper : $1 is a mIRC Operator on ^330 "*" xecho Auth : $2- $1 on ^318 "*" xecho End of WHOIS # /Whois # #WhoWas# on ^314 "*" { xecho 16$1 14[$216@$314] xecho Realname : $5- } on ^369 "*" xecho End of WHOWAS # /WhoWas # #No such# on ^401 "*" xecho -b there's no such user as 16$1 on ^402 "*" xecho -b there's no such user as 16$1 # /No such# ## On the ## on ^441 "*" xecho -b $1 isn't on the channel 16$2 # /On the # ## Join ## on ^332 "* *" {/echo $left(2 $stime($time()))$mid(11 5 $stime($time())) $banner Topic for 16$1: $2-} on ^324 "* *" {/echo $left(2 $stime($time()))$mid(11 5 $stime($time())) $banner Mode for channel 16$1 is $2-} on ^333 "* *" {/echo $left(2 $stime($time()))$mid(11 5 $stime($time())) Topic was set by $2 ${isnumber($3) ? [\($strftime($3 %D %T)\)] : []} } # /Join # ## KB ## /* Autokick and kicknban 1993, 1994 */ load guh @ auto.kicks = [] alias autokick { if (is_on($0) == [$0]) { push auto.kicks $uh($0) } { echo *** $0 is not on irc right now } } alias unkick { if (is_on($0) == [$0]) { @ auto.kicks = remw($uh($0) $auto.kicks) } { echo *** $0 is not on irc right now } } ^on #-join -30 '% % \\[$auto.kicks\\]' { kick $1 $0 autokicked echo *** AUTOKICK PROTECTION ACTIVATED AGAINST $0 mode $1 +b *!$2 } alias kicknban { kick * $0 $1- if (onchannel($0 $C)) { mode * +b $mask(3 $0*!$userhost($0)) } } #hop'94 # /KB # ## Away (msg things) ## alias _na.show { @ :nick = encode($tolower($0)) @ :away = encode($tolower($1-)) unless (_na.nick[$nick] == away) { @ _na.nick[$nick] = away return 1 } return 0 } on #^311 311 "*" ^assign _na.whois.$lastserver() 1 on #^318 311 "*" ^assign -_na.whois.$lastserver() on ^301 "*" { if (_na.whois[$lastserver()]) { xecho Away : $0 - $1- } elsif (_na.show($*)) { xecho Away : $0 - $1- } } # /away # # advert # ^assign shtfcklogo .:: (shitfuck inc. 3.04) :: \($tolower($J) / $tolower($uname())\) ::. alias ad { eval say $shtfcklogo $getrndarray(cliinfo) } # calc # alias calc { if ([$0]) { ^exec echo "$0-" | bc } { cech syntax: calc } } # FUKKEN URL SHITTOR !! (JERE. AAAAAHHH YEAH BEIBE YEAH YEAH! ;) # # tinyurl.irc 1.0 # # Fetches a short url from tinyurl.com for long (>65 characters) urls in # public and private messages # alias _tinyurl (outputwin, url) { if (!strlen($url)) { return -1 } if (strlen($url) <= 58) return @ :host = [tinyurl.com] @ :sock = connect($host 80) if (!strlen($sock)) { xecho -b tinyurl.irc: Error connecting to $host return } ^on ^dcc_raw "$sock % e *" # ^on ^dcc_raw "$sock % d *" { @ :data = [$3-] @ :pieces = tr(/<>"/ /$data) @ :matches = pattern(http*tinyurl.com/?% $pieces) if (strlen($matches)) { push shorterlink[$0][urls] $matches } } ^on ^dcc_raw "$sock % c" { ^on ^dcc_raw -"$0 % e *" ^on ^dcc_raw -"$0 % d *" ^on ^dcc_raw -"$0 % c" if (strlen($shorterlink[$0][urls])) { @ :shorterlink = word(0 $shorterlink[$0][urls]) @ :used = (strlen($stripcrap(ALL $getset(BANNER))) + \ strlen($shorterlink) + 8) @ :avail = (word(0 $geom()) - used) @ :str = [$shorterlink \($left($avail $shorterlink[$0][orig])...\)] xecho -window $shorterlink[$0][win] -banner $str } ^assign -shorterlink[$0][urls] ^assign -shorterlink[$0][orig] ^assign -shorterlink[$0][win] } @ shorterlink[$sock][urls] = [] @ shorterlink[$sock][orig] = url @ shorterlink[$sock][win] = outputwin @ :postdata = [url=] ## urlencode($shorterlink[$sock][orig]) @ :postlen = strlen($postdata) msg =$sock POST /create.php HTTP/1.0$chr(13) msg =$sock Host: $host$chr(13) msg =$sock Accept: text/html, text/plain;q=0.01$chr(13) msg =$sock Pragma: no-cache$chr(13) msg =$sock Cache-Control: no-cache$chr(13) msg =$sock User-Agent: testing 1.0$chr(13) msg =$sock Content-type: application/x-www-form-urlencoded$chr(13) msg =$sock Content-length: $postlen$chr(13 10 13) msg =$sock $postdata$chr(13 10 13) } eval ^on #-public $hash_32bit(tinyurl) -"% % *http://*" eval ^on #-public $hash_32bit(tinyurl) "% % *http://*" { fe ($stripcrap(ALL $2-)) h.word { if (rmatch("$h.word" *://*)) { xeval -server $lastserver() local winnum $chanwin($1) _tinyurl $winnum $h.word } } } # desaster'03