#!/home/USER/eggdrop/eggdrop ##### # # Esta conf foi criada em http://www.lonis.org/webconf/ # # Grupo EGGHELP # # Programação feita por Status@SEXmagnet.com # Design por juliano@eggdrop.com.br # # # ---------------------------------------------------------------------------- # Qualquer duvida, entre no nosso canal (#eggdrop - irc.lonis.org) ou pelo FORUM em: # http://www.lonis.org/forum # ---------------------------------------------------------------------------- # ##### BASIC SETTINGS ##### 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 ######## CONFIGURAÇÃO ############ 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" } ######### TCLS ######### #source scripts/alltools.tcl #source scripts/action.fix.tcl #source scripts/userinfo.tcl #loadhelp userinfo.help ######### NÃO MEXER ######### #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-9][0-9]?(,[0-9][0-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 " 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}}}