---------------------------------
     COMPONENT DOCUMENTATION
---------------------------------
	netbots.tcl v2.20
       by slennox, 23/6/99
botnet script for eggdrop 1.3.17+
---------------------------------
E-mail:   slennox@egghelp.org
IRC:      #eggheads on EFnet
URL:      http://www.egghelp.org/
---------------------------------

Please read readme.txt before reading this file. This file contains information on netbots.tcl's components and settings.


INDEX
 Note
 netbots.tcl (core)
 aidle.tcl
 botnetop.tcl
 chanlimit.tcl
 extras.tcl
 mainserver.tcl
 masskick.tcl
 nocycle.tcl
 repeat.tcl
 sentinel.tcl
 serverlist.tcl
 superbitch.tcl


NOTE

Each group of settings in netbots.tcl (except for the netbots.tcl core settings) starts with an nb_component setting, described in netbots.txt. If the nb_component is set to 0, the component is not loaded and all settings for that component are unused - so you can safely ignore any settings for components you don't need.


NETBOTS.TCL (CORE)

Commands: .nethelp, .netbots, .netcontrol, .netinfo, .netshell, .netserv, .netpass, .netsave, .nethash, .netsay, .netact, .netnotice, .netdump, .netjoin, .netpart, .netchanset, .netcycle

Use .nethelp <command> in dcc for more detailed information. Commands are only usable by global owners (+n).

nb_flag:  (default: N)
  The netbot flag. There are three ways you can set this:
  1) Set a custom netbot flag such as "N". This must be an upper-case alphabet letter. You can easily add/remove netbots using the .netbots command. netbot commands will only be sent to and accepted from other netbots. This is the most secure setting, and is the best setting if your botnet is linked to other peoples' botnets. You must also use this setting if you'd like to use the nb_autopass feature.
  2) Set the flag to "b", eggdrop's bot flag. Commands will be sent to and accepted from bots recognised as +b on your bot's userfile.
  3) Set this to "all". Commands will be sent to and accepted from all bots on the botnet. Because it utilises the 'putallbots' tcl command, this is the most efficient setting for using netbots.tcl to control a large number of bots, making it a good option for large (but private) botnets.
  Valid settings: as described above.

nb_key:  (default: "changethis")
  The encryption key - netbot commands will only be accepted from bots with matching keys.
  Valid settings: a short text string, preferably a random combination of upper/lower case letters and numbers, such as "e9gn45bMu".

nb_group:  (default: <examples provided in script>)
  The .netcontrol command allows you to control specific bots when using netbot commands. Using nb_group, you can create preset 'groups' of bots for use with .netcontrol (see '.nethelp netcontrol' for more info).
  Valid settings: a group name in parenthesis followed by a list of bots separated by commas (without spaces) - i.e. set nb_group(groupname) "bot1,bot2,etc".

nb_defctrl:  (default: "*")
  By default, you are set to control all netbots whenever you login to the bot. This setting lets you specify a group or list of bots to control by default, instead of controlling all bots.
  Valid settings: "*" for all bots, a group name variable like "$nb_group(groupname)" to control a group of bots, or a list of bots like "bot1,bot2,etc".

nb_owner:  (default: 0)
  Only allow 'permanent' owners (as defined in the config file) to use netbot commands?
  Valid settings: 1 to enable, 0 to disable.

nb_hub:  (default: 0)
  Make the bot only accept netbot commands from the hub bot? (all netbot commands must be issued via the hub). This setting should be the same on all netbots. This feature is mainly for people who use the private-user option on the hub bot.
  Valid settings: 1 to enable, 0 to disable.

nb_max:  (default: 3)
  Maximum number of simultaneous file transfers. Setting this too high may cause the hub bot to use up a lot of CPU during config/motd/script transfer and may also make transfer less reliable.
  Valid settings: 1 or higher.

nb_timeout:  (default: 180)
  File transfer timeout (in seconds).
  Valid settings: 1 or higher.

nb_nudisable:  (default: 0)
  Disable the netupdate feature? You may wish to do this if you're worried about potential security risks involving netupdate.
  Valid settings: 1 to disable netupdate, 0 otherwise.

nb_autopass:  (default: 0)
  Auto netbot password change. This feature invokes a netbot password change once a day. Password is a random alpha-numeric string. Note that you should only enable this on one netbot. If you enable the nb_hub feature, you should only enable this on the hub bot. This feature cannot be enabled if you set nb_flag to "b" or "all".
  Valid settings: 1 to enable, 0 to disable.

nb_update:  (default: "YourNick")
  List of users to send a note to whenever a new version of netbots.tcl becomes available, or when there's an important message about the script (e.g. bug alerts, etc.). The bot will check a special page on www.egghelp.org once a day to check for these updates. You should probably only enable this feature on one bot, unless you want to receive multiple notes. This feature will only work on a bot using tcl 8.0 or later (type .status on the bot to see what version it's using).
  Valid settings: one user like "Tom", a list of users like "Tom Dick Harry", or "" to disable the feature.

nb_broadcast:  (default: "")
  This feature allows you to monitor CTCPs and MSGs sent to your bots, as well as server connects/klines, botnetop checkop notices, and sighup/sigterm (1.3.28+ only). Whenever a bot receives any of these, it will be broadcast to other netbots. The broadcast will only be seen by users with the global flags set here. Note that you'll only get CTCP and MSG broadcasts from bots with the sentinel.tcl component loaded (these broadcasts are sent via sentinel to prevent flooding).
  Valid settings: one flag like "n", a list of flags like "nt" (means 'n OR t'), or "" to disable the broadcast.

The following settings are only used when adding a channel to the botnet with the .netjoin command, and when you reset a channel's settings with the .netchanset command. You can change these to your preferred settings if desired.

nb_chanmode:  (default: "+nt")
  Channel mode.
  Valid settings: same as for eggdrop's chanmode setting.

nb_idlekick:  (default: 0)
  Idle-kick setting.
  Valid settings: same as for eggdrop's idle-kick setting.

set nb_floodchan;  (default: 10:60)
set nb_flooddeop;  (default: 3:10)
set nb_floodkick;  (default: 3:10)
set nb_floodjoin;  (default: 5:60)
set nb_floodctcp:  (default: 3:60)
  Flood protection settings.
  Valid settings: same as for eggdrop's flood settings (number:seconds format).

set nb_chansets:  (default: "-clearbans +enforcebans +dynamicbans +userbans -autoop -bitch -greet +protectops -statuslog -stopnethack -revenge -autovoice +secret +shared +cycle")
  Channel settings.
  Valid settings: same as for eggdrop's chanset settings.


AIDLE.TCL

Basic anti-idle script, sends random msg's to the specified channel at random time intervals.

ai_chan:  (default: "#yourchannel")
  Channel to send anti-idle messages to.
  Valid settings: one channel only.

ai_time:  (default: 60)
  Maximum time interval between messages (in minutes).
  Valid settings: 1 or higher.

ai_uidle:  (default: 0)
  Enables a special utimer version of aidle. It ignores the ai_time setting, so you should probably leave this disabled.
  Valid settings: 1 to enable, 0 to disable.

ai_msgs:  (default: <example provided in script>)
  Messages to send.
  Valid settings: list of message strings, as shown in the example in the netbots.tcl file.


BOTNETOP.TCL

This script was written mainly as an alternative to getops.tcl. It allows linked bots to securely give ops to one another on their channels. It also automatically invites linked bots to channels which are invite-only, shares keys with linked bots for channels which are keyed, raises a channel's limit if a bot can't get in because the channel is full, unbans a bot if it can't get in because it matches a ban, and automatically adds new hostmasks when a bot's user@host info has changed. There is a delayed op mechanism to prevent mode +o flooding whenever a bot joins a channel, and op checking routines are significantly more secure than those in getops.tcl. The script is also compatible with bots running older versions of botnetop.tcl.

About the bop_delay and bop_maxreq settings: botnetop.tcl uses two methods to reduce/eliminate mode +o flooding - bop_delay is used by the bot giving ops, while bop_maxreq is used by the bot asking for ops. You can use both features, one or the other, or disable both. Below is an explanation of some possible combinations.

bop_delay 20; bop_maxreq 0: all bots will ask a non-opped bot if it needs ops after a delay of between 0-20 seconds (different bots will delay for different amounts of time). The bot that needs ops will respond to all offers.

bop_delay 0; bop_maxreq 2: all bots will ask a non-opped bot if it needs ops without any delay. The bot that needs ops will respond to a maximum of 2 offers.

bop_delay 20; bop_maxreq 3: all bots will ask a non-opped bot if it needs ops after a delay of between 0-20 seconds. The bot that needs ops will respond to a maximum of 3 offers.

bop_delay 0; bop_maxreq 0: all bots will ask a non-opped bot if it needs ops without any delay. The bot that needs ops will respond to all offers.

If you don't understand, e-mail me or find me in #eggheads @ EFnet and I'll try to explain it :P


bop_delay:  (default: 20)
  Maximum number of seconds to delay before asking a non-opped bot if it needs ops. This is used by the bot giving ops. Higher settings help reduce +o flooding when a bot joins.
  Valid settings: 0 to disable delayed op, otherwise 1 or higher.

bop_maxreq: (default: 3)
  Maximum number of bots to request ops from at a time. This is used by the bot requesting ops. This feature can completely eliminate +o flooding when a bot joins, but the bot will request ops from fewer bots.
  Valid settings: 0 to disable, otherwise 1 or higher.

bop_linkop:  (default: 1)
  Make the bot send an op request when a bot links? This will make your bot get ops sooner if linking is delayed, and provides a better chance of the bots opping one another if there are linking problems.
  Valid settings: 1 to enable, 0 to disable.

bop_checkop:  (default: 0)
  Make the bot double-check who it opped after opping a nick, reversing the op if the opped user doesn't match +o? This is mainly designed to help prevent 'op cheating' on IRCnet, but I haven't tested it there so I'm not sure if it's actually effective.
  Valid settings: 1 to enable, 0 to disable.

bop_addhost:  (default: 0)
  Let the script automatically add new hostsmasks for bots? (e.g. if you change a bot's vhost). This feature doesn't work all the time due to complications with protect-telnet, strict-host, bot host sharing flaws, security concerns, etc., but it's convenient when it works.
  Valid settings: 1 to enable, 0 to disable.

bop_log:  (default: 2)
  By default, botnetop.tcl logs all ops, op requests, invite/key/limit/unban requests/responses, host additions and reversed ops. This setting lets you reduce the amount of logging.
  Valid settings: 2 to enable all logging, 1 to disable logging of ops/op requests, 0 to disable all logging except host additions and reversed ops.


CHANLIMIT.TCL

This script maintains a user limit (+l mode) in channels your bot is in. It is used primarily to help discourage and reduce the effects of large flood attacks.

DCC commands (channel/global +m users)
.dolimit to run limit checking on demand
.stoplimit to temporarily stop limiting
.startlimit to restart limiting

cl_chans:  (default: "")
  List of channels in which to activate limiting.
  Valid settings: one channel like "#donkeys", a list of channels like "#donkeys #cows #pigs", or "" to activate on all channels (except those listed in cl_echans).

cl_echans:  (default: "")
  List of channels in which to skip limiting.
  Valid settings: one channel like "#donkeys", a list of channels like "#donkeys #cows #pigs", or "" to switch this off.

cl_limit:  (default: 10)
  The limit to set. It will equal the number of users on the channel + this number - e.g. if there are 15 users on the channel and cl_limit is 10, the limit will be set to 25.
  Valid settings: 1 or higher.

cl_grace:  (default: 2)
  If the limit doesn't need to be changed by more than this number, don't bother setting a new limit. This reduces annoying, unnecessary limit changes.
  Valid settings: 0 to disable, otherwise 1 or higher.

cl_timer:  (default: 10)
  Frequency of checking whether a new limit needs to be set (in minutes).
  Valid settings: 1 or higher.


EXTRAS.TCL

This component contains small, handy features.

ex_chon:  (default: 0)
  This feature makes the bot show a list of users on the party line whenever you dcc to the bot. If you're +n, it will display a list of users on the botnet (both those on the party line and those on other channels or with chat off).
  Valid settings: 1 to enable, 0 to disable.

ex_cleanup:  (default: 0)
  This feature checks your bot's directory once a day for redundant .share, .nfs, and core files. If the file hasn't been accessed sometime in the previous 30 minutes, it will be deleted.
  Valid settings: 1 to enable, 0 to disable.

ex_clearbans:  (default: 0)
  Adds the .clearbans and .clearignores commands. These commands let you clear bans/ignores set on the bot.
  Valid settings: 1 to enable, 0 to disable.

ex_sendlog:  (default: 0)
  The .sendlog feature. This feature allows you to list any logfiles on the bot's shell, and have the bot dcc send them to a specified nick. Type .sendlog to list the logfiles, and .sendlog <nick> <logfile> to make the bot send a log.
  Valid settings: 1 to enable, 0 to disable.


MAINSERVER.TCL

This script allows you to customise server lists and specify a 'main server' for each bot. The bot will try to keep itself on its main server. If it becomes disconnected from the main server, it will use a server from the randomised server list, and later make several attempts to jump back to the main server.

DCC commands
.mserver to display server/timer details for the bot
.mservers to display server details for all linked bots
.msreset to restart the server checking timer

ms_mserver:  (default: "irc.chitchat.net:6668")
  The bot's 'main server'.
  Valid settings: a hostname (e.g. irc.chitchat.net) or a numeric IP (e.g. 205.434.34.289). A port may also be specified (e.g. irc.chitchat.net:6668 or 205.434.34.289:6668).

ms_servers:  (default: <example provided in script>)
  The backup server list. The order of this list will be randomised by each bot (so that they don't cycle through servers in the same order), with the specified main server being placed at the top. This list overwrites any server list you set in the bot's config file.
  Valid settings: a list of servers in the same format as the default server list in the config file, or the example provided in the netbots.tcl file.

ms_chktime:  (default: 120)
  How frequently the bot should check to see if it's on its main server (in minutes), and jump if it isn't.
  Valid settings: 1 or higher.

ms_tryagn:  (default: 300)
  If the bot fails to reconnect to its main server on the first attempt, wait this many minutes before trying again.
  Valid settings: 1 or higher.

ms_note:  (default: "YourNick")
  If the bot fails to reconnect to its main server on the second attempt, send a note to the specified users.
  Valid settings: one user like "Tom", a list of users like "Tom Dick Harry", or "" to specify that no notes are sent.

ms_chan:  (default: "#yourchannel")
  To ensure the bot can get ops after jumping, the script will only make the bot jump if there are other opped bots on a channel that are also linked. Specify the channel to check.
  Valid settings: one channel only.

ms_needbot:  (default: 1)
  Specify the number of opped (on the channel specified in ms_chan) and linked bots the bot needs before it will jump.
  Valid settings: 1 or higher.


MASSKICK.TCL

Sets +i and mass kicks all non-opped/voiced nicks on a channel in random order, with the exception of +f/o/m/n/v users. Useful for clearing the channel if required.

Public command (+o and must be opped): .mk <bot> [reason]  (<bot> specifies a bot nick/handle to do the mass kicking, if you specify * (an asterisk) all bots will do the mass kicking)
DCC command (+o users): .mk <channel> [reason]

mk_reason:  (default: "closing temporarily")
  Default kick reason.

mk_kicks:  (default: 1)
  Number of nicks to kick per command. This should be set to whatever is supported by your bot's IRC server.
  Valid settings: 1 or higher.


NOCYCLE.TCL

This script stops your bot from trying to cycle channels pointlessly on EFnet servers that don't give ops when split, while allowing you to still use +cycle for other situations. If the bot is not opped on any of its channels and the server is using no_chanops_when_split, it will jump to the next server. If the bot is opped on at least one of its channels, it will set -cycle on the channels it isn't opped on until it connects to a new server. The script will not interfere with channels that are -cycle in the first place.

There are no options to set for nocycle.tcl.


REPEAT.TCL

This script detects people who repeat the same line of text on a channel multiple times, and kicks and/or bans them. It detects messages, actions, and notices.

There are three repeat detectors in this script - one for small repeat floods, one for large repeat floods, and one for 'spam' type repeats (e.g. people who ask the same question multiple times in a channel). An additional mechanism detects whether multiple repeat floods are coming from a particular host.

Note that the script isn't perfect since it uses only three single, cycling utimers to prevent the bot becoming bogged down with separate utimers for each message sent to a channel. This means it won't always detect a repeat flood, but it will work most of the time (and aggressive repeat floods should always be detected).

rp_kflood:  (default: 3:60)
  Small repeat flood, kick on repeats:seconds.
  Valid settings: can be set to 0:0 to disable detection (requires restart).

rp_kreason:  (default: "stop repeating")
  Small repeat flood kick reason.

rp_bflood:  (default: 5:60)
  Large repeat flood, kick-ban on repeats:seconds.
  Valid settings: can be set to 0:0 to disable detection (requires restart).

rp_breason:  (default: "repeat flood")
  Large repeat flood kick-ban reason.

rp_sflood:  (default: 3:240)
  Spam repeat flood, kick on repeats:seconds.
  Valid settings: can be set to 0:0 to disable detection (requires restart).

rp_sreason:  (default: "stop repeating")
  Spam repeat flood kick reason.

rp_slength:  (default: 40)
  The string length for spam-type text (lines of text shorter than this will not be counted by the 'spam' type repeat detector).
  Valid settings: 1 or higher.

rp_mtime:  (default: 240)
  Repeat offences, ban on two repeat floods from a particular host within this many seconds.
  Valid settings: 1 or higher.

rp_mreason:  (default: "multiple repeat floods")
  Repeat offences ban reason.

rp_btime:  (default: 60)
  Length of time in minutes to ban large repeat flooders and repeat offenders.
  Valid settings: 1 or higher.


SENTINEL.TCL

Flood protection system for eggdrop 1.3.17 and later, with integrated BitchX CTCP simulation. This script is designed to provide strong protection for your bot and channels against large floodnets and proxy floods.

Features:
* Channel CTCP flood protection - sets +mi to halt CTCP flooding and prevent further floodbots from joining.
* Channel avalanche flood protection - sets +mi to halt avalanche flooding and prevent further floodbots from joining.
* Channel text flood protection - sets +mi to halt large text/action/notice floods.
* Channel join-part flood protection - sets +mi to halt join-part flooding.
* Channel nick flood protection - sets +mi to prevent further floodbots from joining.
* Bogus username detection - kickbans users with bogus usernames, sets +mi if multiple users with bogus usernames join.
* Compiles a list of flooders during a flood, and sets bans after +mi is set.
* Full ban list protection - sets +i if the ban list becomes dangerously full.
* Bot CTCP flood protection - prevents your bot from flooding off IRC if it is CTCP flooded.
* Bot MSG flood protection - prevents your bot from flooding off IRC if it is flooded with MSG commands.
* BitchX simulation - accurate simulation of BitchX CTCP replies and away mode to hide your bot.
* Public commands (lc and uc) and DCC commands (.lc and .uc) for locking/unlocking channel.
* DCC command .sentinel displays current settings.

Notes:
- Make sure no bots are enforcing channel mode -i and/or -m.
- If you load sentinel.tcl on multiple bots, it's best not to enable the kickban feature on all bots. Enabling sl_ban makes the bot reactionary when most bots should be passive during a flood. I recommend enabling sl_ban on a couple of bots, and disabling it on the rest by setting sl_ban to 0.
- Bans are added to the bot's internal ban list, and expire after 24 hours by default. If you have +dynamicbans set, the bans may be removed from the channel much sooner than this, but the ban will remain in the bot's internal ban list until it expires.
- Some EFnet servers use a thing called 'server flood protection' which can prevent sentinel from reacting to channel CTCP floods if sl_ccflood is too high. Recommended sl_ccflood setting for bots using such servers is 3:10.
- For greater protection against large channel floods, I recommend you also use the chanlimit.tcl component.

The following flood settings are in number:seconds format, 0:0 to disable.

sl_bcflood:  (default: 5:30)
  Bot CTCP flood.
sl_bmflood:  (default: 6:20)
  Bot MSG flood.
sl_ccflood:  (default: 5:20)
  Channel CTCP flood.
sl_avflood:  (default: 6:20)
  Channel avalanche flood.
sl_txflood:  (default: 50:25)
  Channel text flood.
sl_boflood:  (default: 4:20)
  Channel bogus username join flood.
sl_jflood:  (default: 6:20)
  Channel join-part flood.
sl_nkflood:  (default: 6:20)
  Channel nick flood.

sl_ban:  (default: 1440)
  Length of time in minutes to ban channel flooders.
  Valid settings: 0 to disable, otherwise 1 or higher.

sl_boban:  (default: 1440)
  Length of time in minutes of on-join bans for bogus usernames.
  Valid settings: 0 to disable, otherwise 1 or higher.

sl_globalban:  (default: 0)
  Set global bans on channel flooders and bogus usernames?
  Valid settings: 1 for global bans, 0 for channel-specific.

sl_banmax:  (default: 100)
  Maximum number of bans allowed in the bot's ban list before sentinel will stop adding new bans. This prevents the bot from adding hundreds of bans on really large floods. Note that this has nothing to do with the channel ban list.
  Valid settings: 1 or higher.

sl_igtime:  (default: 240)
  Length of time in minutes to ignore bot flooders . If sl_ban is active, channel flooders are also added to the ignore list.
  Valid settings: 1 or higher.

sl_kick:  (default: 1)
  Number of kicks per command supported by your IRC network (e.g. 4 for most (but not all) EFnet and IRCnet servers). If you're not sure about this, leave it set to the default.
  Valid settings: 1 or higher.

sl_ilocktime:  (default: 120)
  Length of time in seconds to set channel +i if flooded. If set to 0, +i will not be removed automatically.
  Valid settings: 0 to prevent +i being removed automatically, otherwise 20 or higher.

sl_mlocktime:  (default: 60)
  Length of time in seconds to set channel +m if flooded. If set to 0, +m will not be removed automatically.
  Valid settings: 0 to prevent +m being removed automatically, otherwise 20 or higher.

sl_shortlock:  (default: 0)
  On small floods (two flooders or less), remove the +mi shortly after bans have been set, instead of waiting for the locktimes to expire? This prevents unnecessary extended locks on small floods.
  Valid settings: 0 to disable, 1 to enable.

sl_bfmaxbans:  (default: 19)
  Number of bans to allow in the channel ban list before setting the channel +i.
  Valid settings: 0 to disable +i on full ban list, otherwise 1 or higher.

sl_note:  (default: "YourNick")
  List of users to send a note to when channel is flooded, bot is flooded, or ban list becomes full.
  Valid settings: one user like "Tom", a list of users like "Tom Dick Harry", or "" to specify that no notes are sent.

sl_cfnotice:  (default: "Channel locked temporarily due to flood, sorry for any inconvenience this may cause :-)")
  Notice to send to channel when locked due to flood.
  Valid settings: can be set to "" to disable.

sl_bfnotice:  (default: "Channel locked temporarily due to full ban list, sorry for any inconvenience this may cause :-)")
  Notice to send to channel when locked due to full ban list.
  Valid settings: can be set to "" to disable.

sl_lockcmds:  (default: 2)
  Enable 'lc' and 'uc' public commands for locking/unlocking channel? This setting has no effect on the .lc and .uc DCC commands.
  Valid settings: 0 to disable, 1 to enable, 2 to require user to be opped on the channel to use command.

sl_lockflags:  (default: "o")
  Users with these flags are allowed to use 'lc' and 'uc' public commands, and .lc and .uc DCC commands.
  Valid settings: one flag like "n", a list of flags like "fo" (means 'f OR o').

sl_bxsimul:  (default: 0)
  Enable BitchX CTCP and AWAY simulation?
  Valid settings: 1 to enable, 0 to disable.


SERVERLIST.TCL

This small script allows you to define the server list for all netbots in the netbots.tcl script, instead of having to edit the server list in each bot's config file. Use this feature if you'd like the convenience of having centralised server lists, but find mainserver.tcl too involved.

With serverlist.tcl loaded, the server lists defined in the bot configs will become redundant, so you may delete them if you wish (if you leave them there they'll simply be overwritten by serverlist.tcl). Whenever the bot starts or rehashes, it will randomise the sv_servers list, so each bot on your botnet will automatically cycle through the server list in a different order. Using the nb_set feature, you can also create custom server lists for particular bots.

sv_servers:  (default: <example provided in script>)
  The server list.
  Valid settings: a list of servers in the same format as the default server list in the config file, or the example provided in the netbots.tcl file.


SUPERBITCH.TCL

This script provides an enhanced bitch mode. It deops both the user who was opped and the user who performed the disallowed op. It is very useful for protecting the channel from gullible ops who accidentally op someone they shouldn't, or from ops who use exploitable clients/scripts and may unintentionally op someone via an exploit (e.g. CTCPREPLY backdoor).

sb_chans:  (default: "")
  List of channels to activate superbitch on.
  Valid settings: one channel like "#donkeys", a list of channels like "#donkeys #cows #pigs", or "" to activate on all channels.

sb_canop:  (default: "m")
  The flags for users who are allowed to give op to users with the flags specified in sb_canopflags.
  Valid settings: one flag like "n", a list of flags like "fn" (means 'f OR n'), or "" to specify that no users are allowed to op.

sb_canopflags:  (default: "o")
  The flags for users who are allowed to be opped by users with an sb_canop flag.
  Valid settings: one flag like "n", a list of flags like "fo" (means 'f OR o'), or "" to specify that no users are allowed to be opped.

sb_canopany:  (default: "b")
  The flags for users who are allowed to give op to anyone. This setting ignores sb_canop and sb_canopflags (e.g. you can set sb_canop to "" but users with flags specified in sb_canopany will still be allowed to op anyone).
  Valid settings: one flag like "b", a list of flags like "bn" (means 'b OR n'), or "" to specify that no users have the 'can op anyone' privilege.

sb_remove:  (default: 0)
 If a user ops someone they shouldn't, remove their global & channel +o status? (+m/n is not removed).
 Valid settings: 1 to enable, 0 to disable.

sb_note:  (default: "YourNick")
  List of users to send a note to if a user's +o status is removed by superbitch.tcl.
  Valid settings: one user like "Tom", a list of users like "Tom Dick Harry", or "" to specify that no notes are sent.
