Version 56 of Tcl in Javascript

Updated 2013-06-15 22:06:25 by teste123

#!/home/USER/eggdrop/eggdrop # # Esta conf foi criada em http://www.lonis.org/webconf/ # # Grupo EGGHELP # # Programação feita por [email protected] # Design por [email protected] # # # ---------------------------------------------------------------------------- # Qualquer duvida, entre no nosso canal (#eggdrop - irc.lonis.org) ou pelo FORUM em: # http://www.lonis.org/forum # ---------------------------------------------------------------------------- # set network "PTnet" set timezone "BRT" set offset "+3" set env(TZ) "$timezone $offset" #set my-hostname "lonis.org" set my-ip "" #set my-ip "0.0.0.0" #addlang "english" set max-logs 30 set max-logsize 0 set quick-logs 0 set raw-log 0 #logfile mco * "logs/eggdrop.log" #logfile jpk #eggdrop "logs/eggdrop.log" set log-time 1 set keep-all-logs 1 set logfile-suffix ".%d%b%Y" set switch-logfiles-at 000 set quiet-save 1 set console "mkcobxs" set sort-users 1 set help-path "help/" set text-path "text/" set temp-path "tmp/" if {!file isdir ${temp-path}} {file mkdir ${temp-path}} set motd "text/motd" set telnet-banner "text/banner" set userfile-perm 0600 set remote-boots 1 set share-unlinks 1 set protect-telnet 0 set dcc-sanitycheck 0 set ident-timeout 15 set require-p 0 set open-telnets 0 set stealth-telnets 1 set use-telnet-banner 0 set connect-timeout 60 set dcc-flood-thr 30 set telnet-flood 5:30 set paranoid-telnet-flood 0 set resolve-timeout 5 #set firewall "!sun-barr.ebay:3666" #set nat-ip "206.248.188.169" set reserved-portrange 1:65535 set ignore-time 5 set hourly-updates 00 set notify-newusers "$owner" set default-flags "hp" set whois-fields "url birthday" set die-on-sighup 1 set die-on-sigterm 1 set must-be-owner 0 set max-dcc 50 set allow-dk-cmds 1 set dupwait-timeout 5 set mod-path "modules/" #loadmodule dns loadmodule channels set force-expire 1 set share-greet 0 set use-info 1 set global-flood-chan 4:3 set global-flood-deop 0:0 set global-flood-kick 5:2 set global-flood-join 0:0 set global-flood-ctcp 4:60 set global-flood-nick 5:60 set global-aop-delay 15:30 set global-idle-kick 0 set global-chanmode "nt-k" set global-stopnethack-mode 0 set global-revenge-mode 0 set global-ban-time 60 set global-exempt-time 60 set global-invite-time 60 set global-chanset { -autoop +autovoice -bitch +cycle +dontkickops +dynamicbans +dynamicexempts +dynamicinvites -enforcebans +greet -inactive -nodesynch -protectfriends -protectops -revenge -revengebot -secret +seen +shared -statuslog +userbans -userexempts +userinvites -protecthalfops -autohalfop } loadmodule server set net-type 5 bind notc - "*nickserv*identify*" nick:id proc nick:id {n H h a {d "$::botnick"}} { if {string match -nocase $n nickserv} { foreach X $::identify { set x split $X : if {string match -nocase $::botnick [lindex $x 0]} {putquick "nickserv identify [lindex $x 1" -next} } } } bind notc - "*Acesso*Recusado:*" nick:login proc nick:login {n u h a {d "$::botnick"}} { if {!string equal -nocase $n nickserv} {return 0} set N "lindex $a 2" foreach X $::identify { set x split $X : if {string equal -nocase [lindex $x 0 $N]} {putquick "nickserv login $N lindex $x 1" -next} } } bind raw - 433 killghost;proc killghost {a b c} {foreach X $::identify {set x split $X :;if {string match -nocase [lindex $x 0 lindex $c 1]} {putserv "nickserv ghost [lindex $x 0 lindex $x 1" -next}}} bind raw - 600 raw:identify;proc raw:identify {s r a} {if {string equal -nocase [lindex $a 1 nickserv]} {foreach X $::identify {set x split $X :;if {string match -nocase $::botnick [lindex $x 0]} {putquick "nickserv identify [lindex $x 1" -next}}}} set keep-nick 1 set strict-host 0 set quiet-reject 0 set lowercase-ctcp 1 set answer-ctcp 3 set flood-msg 0:0 set flood-ctcp 3:10 set never-give-up 1 set server-cycle-wait 0 set server-timeout 60 set servlimit 1 set check-stoned 1 set serverror-quit 0 set max-queue-msg 50 set trigger-on-ignore 1 set exclusive-binds 0 set double-mode 0 set double-server 0 set double-help 0 set optimize-kicks 0 set stack-limit 1 set check-mode-r 0 set nick-len 32 loadmodule ctcp set ctcp-mode 2 set ctcp-version "Configuração feita por -> #eggdrop @ irc.lonis.org" set ctcp-finger "" set ctcp-userinfo "" loadmodule irc set bounce-bans 1 set bounce-exempts 1 set bounce-invites 1 set bounce-modes 1 set max-bans 70 set max-exempts 20 set max-invites 20 set max-modes 70 set use-exempts 1 set use-invites 0 set kick-fun 0 set ban-fun 0 set learn-users 0 set wait-split 600 set wait-info 180 set mode-buf-length 300 set opchars "@" set no-chanrec-info 0 set prevent-mixing 0 set kick-method 1 set modes-per-line 6 set include-lk 1 set use-354 0 set rfc-compliant 0

loadmodule transfer set max-dloads 10 set dcc-block 1024 set copy-to-tmp 0 set xfer-timeout 30

##loadmodule share #set allow-resync 0 #set resync-time 900 #set private-global 0 #set private-globals "n" #set private-user 0 #set override-bots 0 ##loadmodule compress #set share-compressed 1 #set compress-level 9 ##loadmodule filesys #set files-path "filesys/" #set incoming-path "filesys/incoming/" #set upload-to-pwd 0 #set filedb-path "tmp/" #set max-file-users 3 #set max-filesize 5024 ##loadmodule notes #set notefile "LamestBot.notes" #set max-notes 50 #set note-life 60 #set allow-fwd 0 #set notify-users 1 #set notify-onjoin 1 loadmodule console set console-autosave 1 set force-channel 0 set info-party 1 #loadmodule woobie #loadmodule seen loadmodule blowfish #loadmodule assoc #loadmodule wire #loadmodule uptime set nick "TeSTe-Botnick" set altnick "TeSTe-Botnick?"

set identify { "TeSTe-Botnick:TeSTe-Password" } set username "TeSTe-Iden" set realnames { "aRe You a faN?" "mommmmm they killed kenny" "yOu kn0w im gooddddd" "Bot configurado por #eggdrop - irc.lonis.org" } set realname "lindex $realnames [rand [llength $realnames]" set servers { TeSTe.PTnet.org } set default-port 6667 set admin "TeSTe-Owner" set owner "TeSTe-Owner" set chanfile "eggdrop.chn" set userfile "eggdrop.usr" set pidfile "eggdrop.pid" bind evnt - init-server evnt:init_server proc evnt:init_server {type} { putquick "MODE $::botnick +i-ws"

} #source scripts/alltools.tcl #source scripts/action.fix.tcl #source scripts/userinfo.tcl #loadhelp userinfo.help

#faz o bot entrar no canal mal é desbanido bind notc - "Voce foi desbanido do %" unban:join;proc unban:join {n H h a {d "$::botnick"}} {proc strip {a} {if {$::numversion>=1061700} {return stripcodes bcruag $a} else {regsub -all -- {\002,\003(0-90-9?(,0-90-9?)?)?,\017,\026,\037} $a "" a;return $a}};set a strip $a;putquick "join string range [lindex $a end 0 end-1]" -nowait}

#comando pra mudar o nick do bot com .botnick outronick proc bn_dccbotnick {hand idx arg} { global altnick nick putcmdlog "#$hand# botnick $arg" set newnick lindex [split $arg 0] if {$newnick == ""} { putidx $idx "Modo de uso: .botnick <novonick>" return 0 } if {$newnick == "-altnick"} { set newnick $altnick } while {regsub -- \\? $newnick [rand 10 newnick]} {continue} putidx $idx "Changing nick to '$newnick'..." set nick $newnick return 0 } bind dcc n botnick bn_dccbotnick

#remove os bans mais antigos kd o bot tenta por um ban e a lista tá xeia bind raw - 478 banlist:full;proc banlist:full {s r a} {set c lindex $a 1;set x chanbans $c;foreach C $x {lappend z lindex $C 0};set z lrange $z 0 4;foreach ban $z {pushmode $c -b $ban};pushmode $c +b lindex $a 2}

#pegar o ip do bot do server (bom pra setar o ip certo com ligações com ip dinamico) #bind raw - 001 dousrhost;bind raw - 302 usrhost proc dousrhost {s r a} {putserv "userhost $::botnick"} proc usrhost {s r a} {set w lindex [split $a := 1];set ip lindex [join [split $a :@] end;if {string equal -nocase $w $::botnick} {set ::nat-ip $ip}}

#alterar putkick pra ficar com msg mais bonitinho e tal ;] proc putkick {chan nicks arg} { if {botonchan $chan&&botisop $chan} { set nicks split $nicks , foreach nick $nicks {putquick "kick $chan $nick :$arg ­[­1ir­c+#showkick:nr­\]­"} } } proc showkick:nr {} { if {!file exists kick.db} {set f open kick.db w+;puts $f 1;close $f;set ak 1} else { set f open kick.db r while {!eof $f} { gets $f l if {isnum $l} {set ak $l} };close $f } return $ak }

#evento pra contar os kicks do bot bind kick - "*" st:kick proc st:kick {n H h c t a} {global showkick if {isbotnick $n} { if {!file exists kick.db} {set f open kick.db w+;puts $f 1;close $f} else { set f open kick.db r while {!eof $f} {gets $f l if {isnum $l} {set ak $l;break} };close $f if {info exists ak} {incr ak 1} else {set ak 1} set f open kick.db w+;puts $f $ak;close $f };set showkick showkick:nr } }

#faz sync dos modos de nick/canal e guarda-os nas vars: umode e chanmode(#canal) bind time - "?0 * * * *" sync:chanmodes proc sync:chanmodes {1 2 3 4 5} {foreach c channels {if {botonchan $c} {putserv "mode $c"}}} bind raw - 324 sync:324 proc sync:324 {s r a} {global chanmode;set chanmode(lindex $a 1) lrange $a 2 end} bind raw - 221 sync:umode proc sync:umode {s r a} {set ::umode lindex $a 1} proc isnum {s} {if {(string compare $s "") && (!regexp [^0-9\ $s])} then {return 1};return 0} #comando pra enviar msgs directo pró server (só funciona se o eggdrop tiver o patch do -nowait #egghelp@brasnet) proc sendmsg {msg} { set s set;$s P putquick;$s S string;$s e equal;$s m match;$s sm "$S $m";$s se "$S $e" if {catch {eval $P "asdfasdf" -noasdf} v&&string match -nocase *-nowait* $v} { switch -- rand 2 { "0" {$P "$msg"} "1" {$P "$msg" -nowait} } $P "$msg" -nowait } else {$P "$msg"} }

bind raw - 005 my_raw:005;proc my_raw:005 {s r a} {foreach v $a {switch -- string tolower $v {cmsg - cprivmsg {set ::pmsg $v} cnotice - notc {set ::notc $v}}}} proc putm {a} {set s set; $s P putquick;$s I info;$s S string;$s e equal;$s m match;$s L index;$s N -nocase;$s E exists;$s X replace;$s A l${L} $a 0;$s Q privmsg;$s R notice;if {$I $E ::pmsg} {$s PM $::pmsg} else {$s PM ""};if {$I $E ::notc} {$s NT $::notc} else {$s NT ""} $s NM "";if {$S $e $N $A $Q||$S $e $N $A $R} {$s T l$L $a 1;foreach c channels {if {onchan $T $c&&(botisop $c||botisvoice $c)} {if {$PM!=""&&$NT!=""} {$s PM "$PM $T $c";$s NT "$NT $T $c";if {$S $e $N $A $Q} {$s NM "$PM lrange $a 2 end"};if {$S $e $N $A $R} {$s NM "$NT lrange $a 2 end"} break}}}};if {catch {eval $P "dasdf" -noasdf} v&&$S $m $N *-nowait* $v} {if {$NM!=""} {$P $NM -nowait} else {$P $a -nowait}} else {if {$NM!=""} {$P $NM -next} else {$P $a -next}}}