BotnetMaint-2.1/ 40755 767 767 0 6457557621 12767 5ustar SubZeroSubZeroBotnetMaint-2.1/help/ 40755 767 767 0 6457551141 13706 5ustar SubZeroSubZeroBotnetMaint-2.1/help/_bbot100600 767 767 372 6457551460 14771 0ustar SubZeroSubZero%{+B} ### -bbot *** warning *** this command effects ALL bots on the botnet running BotnetMaint-2.0 or above. Exactly the same as '-buser', but is included for convenience. It erases a user record. See also: +bbot, +buser, -buser BotnetMaint-2.1/help/_buser100600 767 767 371 6457470410 15155 0ustar SubZeroSubZero%{+m} ### -buser Erases the user record for the nickname given. *** warning *** This command will erase this user across the ENTIRE botnet for ALL bots that are running BotnetMaint-2.0 or Above. See also: +user, +bot, -bot BotnetMaint-2.1/help/Pbuser100600 767 767 577 6457470141 15147 0ustar SubZeroSubZero%{+m} ### +buser Creates a new user record for the nickname given, with one entry in the hostmask table. The new user record will have no flags (i.e. not be a master, op, friend, etc) and no password. *** warning *** using this command will propagate the new user entry too ALL bots on the botnet that are running BotnetMaint-2.0 and above. BotnetMaint-2.1/help/_bhost100600 767 767 346 6457552162 15163 0ustar SubZeroSubZero%{+m} ### -bhost *** warning *** This command effects ALL bots on the botnet that are running BotnetMaint-2.0 or above. Removes a hostmask from another user's record on the bot. See also: +bhost BotnetMaint-2.1/help/_bchan100600 767 767 1630 6457551723 15136 0ustar SubZeroSubZero%{+7} ### -bchan *** warning *** This command effects ALL bots on the botnet that are running BotnetMaint-2.0 or above. This removes ALL information about a channel from the bot. It's not made permanent unless a channel-file has been defined in the user file, in which case it's saved each time the usefile is, or by using .chansave. *** IMPORTANT *** This erases ALL information about the channel, including channel settings and channel records for users--EVERYTHING. DO NOT use it to have the bot temporarily leave a channel. This command is for abandoning a channel (e.g. the channel will have to be redefined and all user flags for that channel will have to be redone. Even if you dont have channel-file definied, it will still erase all the channel records for users on the next userfile save. See also: +bchan BotnetMaint-2.1/help/Pbhost100600 767 767 655 6457552024 15144 0ustar SubZeroSubZero%{+m} ### +bhost *** warning *** This command effects ALL bots on the botnet that are running BotnetMaint-2.0 or above. Adds a hostmask to a user's record on the bot. The hostmasks are where the bot will identify that user from. Usually you will not need to use this command since a user can add hostmasks to her own record via the /MSG IDENT command, but it's here if you need it. BotnetMaint-2.1/help/Pbbot100600 767 767 1331 6457551467 14775 0ustar SubZeroSubZero%{+B} ### +bbot *** warning BOTNET WIDE command *** Creates a user record for a new bot with the nickname given. The hostmask table will have one entry ("none"), and the bot (b) flag will be set for the user. The internet address field of the user will also be set to the address given. You can use this command and 'chpass' to completely set up a record for a future bot, or you can let the two bots negotiate a password for themselves the first time they link. If the bot has a seperate port for bots and users they should be seperated with a slash (/). This will create a NEW bot record for on ALL bots on the botnet running BotnetMaint-2.0 or above. BotnetMaint-2.1/help/Pbchan100600 767 767 713 6457551616 15101 0ustar SubZeroSubZero%{+7} ### +bchan *** warning *** This command effects ALL bots on the botnet that are running BotnetMaint-2.0 or above. Lets you add another channel to the bot, this cause the bot to join the channel, and for you to make changes to it's settings. This channel is not permanent unless "channel-file" has been defined in the config file, and is saved everytime the userfile is saved, or by using '.chansave' See also: -bchan BotnetMaint-2.1/README100644 767 767 2703 6457557713 13750 0ustar SubZeroSubZeroBotnetMaint-2.1 by Gothic fixed the stupid mistake of naming the proc wrong ... BotnetMaint-2.0 by Gothic This collection of things is VERY easy to install and use and provides good functionality to the all the bots on the botnet once they are all running this script. This gives you BOTNET WIDE commands like: +/-buser - adds or deletes a user to ALL bots running the script on the botnet +/-bbot - adds or deletes a bot to ALL bots running the script on the botnet +/-bhost - adds or deletes a host to ALL bots running the script on the botnet +/-bchan - adds or deletes a channel record to ALL bots running the script on the botnet +/-bban - adds or deletes a ban on ALL bots running this script on the botnet bchattr - BOTNET WIDE .chattr for all bots running this script on the botnet ******** INSTALL ******* to install this .. just copy the contents of this help dir into the dcc dir in your bots help dir ... mv this and FIXED getops script into the scripts dir for your bot and have it load BOTH scripts .. if you dont have it load both scripts then it will not work correctly with +/-bchan ... that should do it now do the same thing for ALL BOTS on the BOTNET. this will not funtion globally across the botnet unless they are all running this. send mail to gothic@web-america.com with any problems/questions or just to say hi and that you like it ;) Enjoy, -Cya- Gothic BotnetMaint-2.1/getops-1.9+fixed_dynamic.tcl100644 767 767 16256 6457550705 20223 0ustar SubZeroSubZero# 1.9 by The_O # will now op a bot that is in the channel with a different nick # than the userfile handle # getops-1.8.tcl by dtM, a GainOps-like script for eggdrop 1.1.x # This script originated from getops-1.2.tcl by poptix, which, I found out, # did not work. I modified it to where it worked very nicely and # efficiently. Thanks to poptix for the ideas and something to do. :) # thanks to beldin/david/cfusion/oldgroo and anyone else who gave me # suggestions/fixes :) # [0/1] do you want your bot to request to be unbanned if it becomes banned? set go_bot_unban 1 # [0/1] do you want GetOps to wallop if there aren't any bots to talk to? set go_wallop 1 # set this to the wallop msg for the above (go_wallop) set go_wallop_msg "please op me im the channel bot dicknose" # [0/1] do you want GetOps to notice the channel if there are no ops? set go_cycle 1 # set this to the notice txt for the above (go_cycle) set go_cycle_msg "Please part the channel so the bots can cycle!" # set this to the max number of msg/notice recipients you want set go_max_recips 10 proc gain_entrance {what chan} { global go_have_friend go_warned botnick botname go_wallop go_wallop_message go_bot_unban go_wallop go_wallop_msg go_cycle go_cycle_msg go_max_recips go_resynch switch -exact $what { "limit" { foreach bs [lbots] { putbot $bs "gop limit $chan $botnick" putlog "GetOps: Requested limit raise from $bs on $chan." set go_have_friend($chan) 1 } } "invite" { foreach bs [lbots] { putbot $bs "gop invite $chan $botnick" putlog "GetOps: Requested invite from $bs for $chan." set go_have_friend($chan) 1 } } "unban" { if {$go_bot_unban} { foreach bs [lbots] { putbot $bs "gop unban $chan $botname" putlog "GetOps: Requested unban on $chan from $bs." } set go_have_friend($chan) 1 } } "key" { foreach bs [lbots] { putbot $bs "gop key $chan $botnick" putlog "GetOps: Requested key on $chan from $bs." set go_have_friend($chan) 1 } } "op" { foreach bs [lbots] { if {[iso $bs $chan]} { foreach prospect [chanlist $chan] { set temp $prospect![getchanhost $prospect $chan] if {[finduser $temp] == $bs && $bs != $botnick && [isop $bs $chan]} { putbot $bs "gop op $chan $botnick" putlog "GetOps: Requested Ops from $bs on $chan." set go_have_friend($chan) 1 } } } } } } if {[info exists go_warned($chan)]} { if {$go_warned($chan) == 0 && $go_have_friend($chan) == 0} { putlog "GetOps: Couldn't find an opped +ob user for $chan to get ops from." if {$go_wallop} { set recips 0 set go_wallop_sent($chan) 0 foreach user1 [chanlist $chan] { if {![onchansplit $user1 $chan] && [isop $user1 $chan] && [iso $user1 $chan]} { if {![info exists oplist]} { set oplist $user1 } { set oplist $oplist,$user1 } set recips [expr $recips + 1] if {$recips == $go_max_recips} { putserv "NOTICE $oplist :($chan) $go_wallop_msg" set go_wallop_sent($chan) 1 unset oplist set recips 0 } } } } if {[info exists oplist]} { putserv "NOTICE $oplist :($chan) $go_wallop_msg" set go_wallop_sent($chan) 1 } if {$go_wallop_sent($chan) == 0 && $go_cycle} { putlog "GetOps: No ops on $chan, sending cycle message." putserv "NOTICE $chan :($chan) $go_cycle_msg" } set go_warned($chan) 1 set go_have_friend($chan) 0 timer 2 "set go_warned($chan) 0" return 0 } { return 1 } } } proc botnet_request {bot com args} { global botnick subcom go_bot_unban go_resynch set args [lindex $args 0] set subcom [lindex $args 0] set chan [string tolower [lindex $args 1]] set nick [lindex $args 2] if {[validchan $chan] == 0} { putbot $bot "gop_resp I'm not on that channel." return 0 } switch -exact $subcom { "op" { putlog "GetOps: $bot requested ops on $chan." if {[iso $nick $chan] && [matchattr [finduser $nick![getchanhost $nick $chan]] b]} { if {[botisop $chan]} { if {![isop $nick $chan]} { putbot $bot "gop_resp Opped $nick on $chan." pushmode $chan +o $nick } { if {$go_resynch($chan) == 0} { putbot $bot "gop_resp You are already +o on $chan, attempting resynch." putserv "MODE $chan -o+o $nick $nick" set go_resynch($chan) 1 } { putbot $bot "gop_resp You are +o on $chan, already sent resynch modes." timer 1 "set go_resynch($chan) 0" } } } { putbot $bot "gop_resp I am not +o on $chan." } } { putbot $bot "gop_resp You aren't +o in my userlist for $chan, sorry." } return 1 } "unban" { if {$go_bot_unban} { putlog "GetOps: $bot requested that I unban him on $chan." foreach ban [chanbans $chan] { if {[string compare $nick $ban]} { pushmode $chan -b $ban } } return 1 } { putlog "GetOps: Refused request to unban $bot ($nick) on $chan." putbot $bot "gop_resp Sorry, not accepting unban requests." } } "invite" { putlog "GetOps: $bot asked for an invite to $chan." if {[matchattr $bot b]} { putserv "invite $nick $chan" } return 1 } "limit" { putlog "GetOps: $bot asked for a limit raise on $chan." if {[matchattr $bot b]} { pushmode $chan +l [expr [llength [chanlist $chan]] + 2] } return 1 } "key" { putlog "GetOps: $bot requested the key on $chan." if {[string match *k* [lindex [getchanmode $chan] 0]]} { putbot $bot "gop takekey $chan [lindex [getchanmode $chan] 1]" } { putbot $bot "gop_resp There isn't a key on $chan!" } return 1 } "takekey" { putlog "GetOps: $bot gave me the key to $chan! ($nick)" foreach channel [string tolower [channels]] { if {$chan == $channel} { putserv "JOIN $channel $nick" return 1 } } } default { putlog "GetOps: ALERT! $bot sent fake 'gop' message! ($subcom)" } } } proc gop_resp {bot com msg} { putlog "GetOps: $bot: $msg" return 1 } proc lbots {} { set unf "" foreach users [userlist b] { foreach bs [bots] { if {$users == $bs} { lappend unf $users } } } return $unf } proc iso {nick chan1} { if {[matchattr [nick2hand $nick $chan1] o] || [matchchanattr [nick2hand $nick $chan1] o $chan1]} { return 1 break } return 0 } # proc validchan {chan} { # foreach channel [string tolower [channels]] { # if {([string tolower $chan] == $channel) && (![isdynamic $channel])} { # return 1 # } # } # return 0 # } proc do_channels {} { foreach a [string tolower [channels]] { if {![isdynamic $a]} { channel set $a need-op "gain_entrance op $a" channel set $a need-key "gain_entrance key $a" channel set $a need-invite "gain_entrance invite $a" channel set $a need-unban "gain_entrance unban $a" channel set $a need-limit "gain_entrance limit $a" unset a } } timer 5 do_channels } if {![string match "*do_channels*" [timers]]} { timer 5 do_channels } foreach go_array {go_have_friend go_warned go_wallop_sent go_resynch} { foreach go_chans [string tolower [channels]] { if {![isdynamic $go_chans]} { set ${go_array}($go_chans) 0 } } } bind bot - gop botnet_request bind bot - gop_resp gop_resp set getops_loaded 1 putlog "GetOps v1.9 by dtM and The_O loaded." BotnetMaint-2.1/BotnetMaint-2.1.tcl100644 767 767 24623 6457557571 16345 0ustar SubZeroSubZero###################################################################### ### NEW in 2.0 ### ### ADDED: ### ### .+/-buser - adds or deletes a user to all bots on the botnet ### ### .bchattr - globaly chattr's nick on all bots. ### ### .+/-bbot - adds or deletes a bot to all bots on the botnet ### ### .+/-bhost - adds or deletes a host for nick from all bots ### ### ### ### Botnetmaint1.2.tcl By Gothic gothic@web-america.com ### ### ### ### GREETS: -Teknikali, JD, watcher, cyclopse, jd|| ### ### ### ### This is the first public version of this script. ### ### ### ### This script adds botnet wide functionality for easier sync'ing ### ### of bans, restarts, and +/- chan's etc... ### ### Commands: .+bchan .-bchan will make all bots on the botnet ### ### Running this script join/part a channel with +autoop set on ### ### once op'd use .secure #channel to shut autoop off on all bots ### ### .+/-bban *!*@banmask.dom will add or remove a ban on all bots ### ### .brestart will make all bots restart ### ### ### ### if you have any problems or suggestions or you like this and ### ### use it ... please send me some email so i can keep track of ### ### the number of people using it .. and i can mail you updates. ### ### Thanks specifically to Teknikali. ### ### ### ### IMPORTANT for a person to use this script and commands to work ### ### you must have flags 7 to +/-bchan's and 9 to +/-bban's and +m ### ### to restart the bots. ### ###################################################################### ################ ### bindings ### ################ bind dcc 7 +bchan own_chan bind dcc 7 -bchan unown_chan bind dcc B +bban botnet_ban bind dcc B -bban botnet_unban bind dcc B secure secure bind dcc m brestart botnet_restart bind bot - switchown bots_own bind bot - leavechown bots_leave bind bot - botnetban botsnet_ban bind bot - botnetunban botsnet_unban bind bot - securechown bots_secure bind bot - botnetrestart bots_restart # New in version 2.0 # DCC binds bind dcc m +buser botnet_abuser bind dcc m -buser botnet_dbuser bind dcc m +bhost botnet_ahost bind dcc m -bhost botnet_dhost bind dcc B +bbot botnet_abbot bind dcc B -bbot botnet_dbbot bind dcc m bchattr botnet_bchattr # BOT binds bind bot - bnauser bots_abuser bind bot - bnduser bots_dbuser bind bot - bnahost bots_abhost bind bot - bndhost bots_dbhost bind bot - bnabot bots_abbot bind bot - bndbot bots_dbbot bind bot - bnchattr bots_chattr ####################### ### the procs ### ####################### ### own chan proc ### ####################### proc own_chan {bot idx args} { set arg [lindex $args 0] set ownchan [lindex $args 0] putallbots "switchown $ownchan" putlog "!! Owning $ownchan !!" channel add $ownchan channel set $ownchan chanmode +stn channel set $ownchan -clearbans +enforcebans +dynamicbans +userbans -autoop +userbans +shared -greet +protectops +stopnethack channel set $ownchan need-op "gain_entrance op $ownchan" channel set $ownchan need-key "gain_entrance key $ownchan" channel set $ownchan need-invite "gain_entrance invite $ownchan" channel set $ownchan need-unban "gain_entrance unban $ownchan" channel set $ownchan need-limit "gain_entrance limit $ownchan" return 0 } proc bots_own {bot command args} { global ownchan set ownchan [lindex $args 0] putlog "!! Owning $ownchan - from $bot !!" channel add $ownchan channel set $ownchan chanmode +stn channel set $ownchan -clearbans +enforcebans +dynamicbans +userbans -autoop +userbans +shared -greet +protectops +stopnethack channel set $ownchan need-op "gain_entrance op $ownchan" channel set $ownchan need-key "gain_entrance key $ownchan" channel set $ownchan need-invite "gain_entrance invite $ownchan" channel set $ownchan need-unban "gain_entrance unban $ownchan" channel set $ownchan need-limit "gain_entrance limit $ownchan" return 1 } ######################### ### Leave the channel ### ######################### proc unown_chan {bot idx args} { set arg [lindex $args 0] set ownchan [lindex $args 0] putallbots "leavechown $ownchan" putlog "!! Leaving $ownchan !!" channel remove $ownchan return 0 } proc bots_leave {bot command args} { global ownchan set ownchan [lindex $args 0] putlog "!! Leaving $ownchan - from $bot !!" channel remove $ownchan return 1 } ########################## ### Secure the channel ### ########################## proc secure {bot idx args} { set arg [lindex $args 0] set ownchan [lindex $args 0] putallbots "securechown $ownchan" putlog "!! Securing $ownchan !!" channel set $ownchan -autoop return 0 } proc bots_secure {bot command args} { global ownchan set ownchan [lindex $args 0] putlog "!! Securing $ownchan - from $bot !!" channel set $ownchan -autoop return 1 } ######################## ### Bot Net Ban Shit ### ######################## proc botnet_ban {bot idx args} { set band [lindex $args 0] set bandmask [lindex $band 0] set commentz [lrange $band 2 end] putallbots "botnetban $bandmask $commentz 0" putlog "!! banning $bandmask - Perm Ban ALL CHANNELS !!" newban $bandmask $bot $commentz 0 return 0 } proc botsnet_ban {bot command args} { set band [lindex $args 0] set bandmask [lindex $band 0] set commentz [lrange $band 1 end] putlog "!! Banning $bandmask - Perm Ban ALL Channels - from $bot !!" newban $bandmask $bot $commentz 0 return 1 } proc botnet_unban {bot idx args} { set band [lindex $args 0] set bandmask [lindex $band 0] putallbots "botnetunban $bandmask" putlog "!! Removing $bandmask - From ban list !!" killban $bandmask return 0 } proc botsnet_unban {bot command args} { set band [lindex $args 0] set bandmask [lindex $band 0] putlog "!! Removing $bandmask - From ban list - from $bot !!" killban $bandmask return 1 } ###################### ### botnet restart ### ###################### proc botnet_restart {bot idx args} { putallbots "botnetrestart" putlog "!! Restarting !!" restart return 0 } proc bots_restart {bot command args} { putlog "!! Restart - from $bot !!" restart return 1 } ############################ ### Botnet +/-user stuff ### ############################ proc botnet_abuser {bot idx args} { set userstuff [lindex $args 0] set bnuser [lindex $userstuff 0] set bnaddress [lindex $userstuff 1] putallbots "bnauser $bnuser $bnaddress" adduser $bnuser $bnaddress putlog "$bnuser Successfully added with an address of $bnaddress" return 0 } proc bots_abuser {bot idx args} { set userstuff [lindex $args 0] set bnuser [lindex $userstuff 0] set bnaddress [lindex $userstuff 1] adduser $bnuser $bnaddress putlog "$bnuser Successfully added with an address of $bnaddress from $bot" return 0 } proc botnet_dbuser {bot idx args} { set userstuff [lindex $args 0] set bnduser [lindex $userstuff 0] putallbots "bnduser $bnduser" deluser $bnduser putlog "$bnduser Successfully deleted." return 0 } proc bots_dbuser {bot idx args} { set userstuff [lindex $args 0] set bnduser [lindex $userstuff 0] deluser $bnduser putlog "$bnduser Successfully deleted from $bot" return 0 } ############################ ### Botnet +/-bot stuff ### ############################ proc botnet_abbot {bot idx args} { set botstuff [lindex $args 0] set bnbot [lindex $botstuff 0] set bnaddress [lindex $botstuff 1] putallbots "bnabbot $bnbot $bnaddress" addbot $bnbot $bnaddress putlog "$bnbot Successfully added with an address of $bnaddress" return 0 } proc bots_abbot {bot idx args} { set botstuff [lindex $args 0] set bnbot [lindex $botstuff 0] set bnaddress [lindex $botstuff 1] adduser $bnbot $bnaddress putlog "$bnbot Successfully added with an address of $bnaddress from $bot" return 0 } proc botnet_dbbot {bot idx args} { set botstuff [lindex $args 0] set bndbot [lindex $botstuff 0] putallbots "bndbbot $bndbot" deluser $bndbot putlog "$bndbot Successfully deleted." return 0 } proc bots_dbbot {bot idx args} { set botstuff [lindex $args 0] set bnduser [lindex $botstuff 0] deluser $bndbot putlog "$bndbot Successfully deleted from $bot" return 0 } ############################ ### Botnet +/-host stuff ### ############################ proc botnet_ahost {bot idx args} { set hoststuff [lindex $args 0] set bnuser [lindex $hoststuff 0] set bnaddress [lindex $hoststuff 1] putallbots "bnahost $bnuser $bnaddress" addhost $bnuser $bnaddress putlog "Successfully added hostmask of $bnaddress for $bnuser" return 0 } proc bots_abhost {bot idx args} { set hoststuff [lindex $args 0] set bnuser [lindex $hoststuff 0] set bnaddress [lindex $hoststuff 1] addhost $bnuser $bnaddress putlog "Successfully added hostmask of $bnaddress for $bnuser" return 0 } proc botnet_dhost {bot idx args} { set hoststuff [lindex $args 0] set bnuser [lindex $hoststuff 0] set bnaddress [lindex $hoststuff 1] putallbots "bndhost $bnuser $bnaddress" delhost $bnuser $bnaddress putlog "Successfully deleted hostmask of $bnaddress for $bnuser" return 0 } proc bots_dbhost {bot idx args} { set hoststuff [lindex $args 0] set bnuser [lindex $hoststuff 0] set bnaddress [lindex $hoststuff 1] delhost $bnuser $bnaddress putlog "Successfully deleted hostmask of $bnaddress for $bnuser" return 0 } ############################ ### Botnet bchattr stuff ### ############################ proc botnet_bchattr {bot idx args} { set bncw [lindex $args 0] set bnch [lindex $bncw 0] set bncf [lrange $bncw 1 end] putallbots "bnchattr $bnch $bncf" chattr $bnch $bncf set bncn [chattr $bnch] putlog "Flags for $bnch are now: $bncn " return 0 } proc bots_chattr {bot idx args} { set bncw [lindex $args 0] set bnch [lindex $bncw 0] set bncf [lrange $bncw 1 end] chattr $bnch $bncf set bncn [chattr $bnch] putlog "Flags for $bnch are now: $bncn from $bot" return 0 } ############################# ### declare it was loaded ### ############################# putlog "!! BotnetMaint1.2.TCL by Gothic & Teknikali (of haktik) loaded !!"