::+ban ### $b+ban$b [channel] [%%] [comment] Adds a ban to the list of bans stored on the bot, with optional comment and ban time. This ban is stored with your handle as the creator, and will be in effect for every channel if no channel is specified. Prefixing a comment with '*' will set the ban sticky. Prefixing a comment with '@' will make the comment only visible within the bot, and not used as the ban reason. Ban time has to be expressed in days, hours, and/or minutes. See also: bans, -ban, stick, unstick ::+chan ### $b+chan$b [options] Adds a channel to the bot's channel list. If options are specified, the channel will be configured with the options. See also: -chan, chanset, chaninfo ::+chrec ### $b+chrec$b [channel] Adds an empty channel record for the specified user so that channel lastons and info lines can be saved. No flags are associated with the channel. See also: -chrec, chattr%{+n}, +chan, -chan%{-} ::+exempt ### $b+exempt$b [channel] [%%] [comment] Adds an exempt to the list of exempts stored on the bot, with optional comment and exempt time. This exempt is stored with your handle as the creator, and will be in effect for every channel if no channel is specified. Exempt time has to be expressed in days, hours, and/or minutes. See also: exempts, -exempt, stick, unstick ::+host ### $b+host$b [handle] [anotherhostmask] ... Adds a hostmask to a user's user record. Hostmasks are used to identify your handle on IRC. If a handle is not specified, the hostmask will be added to YOUR user record. List as many hosts as wanted. See also: -host, clearhosts ::+ignore ### $b+ignore$b [%%] [comment] Adds an ignore to the list of ignores stored on the bot, with optional comment and ignore time. This ignore is stored with your handle as the creator. Ignore time has to be expressed in days, hours, and/or minutes. See also: -ignore, ignores ::+invite ### $b+invite$b [channel] [%%] [comment] Adds an invite to the list of invites stored on the bot, with optional comment and invite time. This invite is stored with your handle as the creator, and will be in effect for every channel if no channel is specified. Invite time has to be expressed in days, hours, and/or minutes. See also: invites, -invite, stick, unstick ::+user ### $b+user$b [hostmask] [anotherhostmask] ... Creates a new user record for the handle given. The new user record will have no flags, an optional hostmask, and a random pass/secpass. List as many hosts as needed. See also: -user, +host, -host, clearhosts%{+ni}, newleaf%{-}%{+a}, newhub%{-} ::-ban ### $b-ban$b [channel] Removes the specified ban from the list of bans stored on the bot. You may also reference the ban by the number shown by the 'bans' command. See also: bans, +ban, stick, unstick :hub:-bot ### $b-bot$b This is exactly the same as $b'%d-user'$b (it removes a user record). It is included for convenience. See also: +user, -user%{+ni}, newleaf%{-}%{+a}, newhub%{-} ::-chan ### $b-chan$b This removes ALL information about a channel from the bot. $f*** IMPORTANT ***$f This erases ALL information about the channel, including channel settings, bans, exempts, invites, and channel records for users -- $bEVERYTHING$b. $bDO NOT$b 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. If you want to do this try '%dcycle' or '%ddown' See also: +chan, chanset, chaninfo, cycle, down ::-chrec ### $b-chrec$b [channel] Removes a channel record for the specified user, including channel lastons, info lines, and flags. See also: +chrec, chattr ::-exempt Removes the specified exempt from the list of exempts stored on the bot. You may also reference the exempt by the number shown by the 'exempts' command. See also: exempts, +exempt, stick, unstick ::-host ### $b-host$b Removes a host from your handle. %{+m|m} ### $b-host$b [anotherhostmask] ... Removes a hostmask from a user's user record. %{-} See also: +host, clearhosts ::-ignore ### $b-ignore$b Removes the specified ignore from the list of ignores stored on the bot. You may also reference the ignore by the number shown by the 'ignores' command. See also: +ignore, ignores ::-invite ### $b-invite$b Removes the specified invite from the list of invites stored on the bot. You may also reference the invite by the number shown by the 'invites' command. See also: invites, +invite, stick, unstick ::-user ### $b-user$b [anotherhandle] ... Removes the specified handles user records. See also: +user%{+ai}, -bot%{-}%{+ni}, newleaf%{-}%{+a}, newhub%{-} ::about: ### $babout$b If you feel you are missing from the list feel free to contact bryan. :leaf:act ### $bact$b [channel] Performs an action on the current console channel (or otherwise specified channel), as if the bot did it. Just like the /me command in IRC. See also: console ::addline ### $baddline$b Shows you a simple line for adding a user to another botnet with the same hostmasks. See also: whois ::addlog ### $baddlog$b Adds your comment to the bot's logfile. Bot masters can go back later and review the log, and will see your comment (with your handle attached). This is useful for explaining confusing activity. :leaf:adduser ### $badduser$b [!] [handle] Creates a new user record for a user on the channel, using their current hostname. It's similar to a user msg'ing the bot 'hello' except that no information is sent to that user. If the bot already knows someone by that nickname, and the user on the channel doesn't have a bot record, then it does the equivalent of an 'ident' for that user -- except that, again, no information is sent to the user telling them that anything was done. If the user is using a different nickname than the bot normally knows her by, you can specify her "handle" (the nickname that the bot remembers). If you want to add a user using a static hostmask, prefix their nick with a '!'. i.e. '%dadduser !Lamer' The user being added is sent a NOTICE with their initial password. See also: +host, -host, clearhosts%{+m}, +user, -user%{-} :leaf:authed: ### $bauthed$b Displays users who are authed on the bot for chan/msg cmds. ::away ### $baway$b [reason] Marks you as "away" on the party line. Your away message will show up in the $b'%dwho'$b list. Saying something on the party line will automatically remove your "away" status, or you can type $b'%dback'$b or $b'%daway'$b by itself. See also: back ::back ### $bback$b This marks you as no longer away on the party line. See also: away :hub:backup ### $bbackup$b This makes the bot write a backup of its entire user list to the disk. This is useful if you feel the need to backup the userfile and channel settings. See also: reload, save ::bans ### $bbans$b [[channel/all/global]/wildcard] Shows you a list of the global bans active on the current channel, and the list of channel-specific bans, as well as any bans that are on the channel but weren't placed by the bot. Here's a sample entry; [ 5] *!*habib@*frys.com (perm) paulie: revolving check policy Created 15:10 The number (5) can be used to reference the ban if you wish to remove it (see $b'-ban'$b). Next is the actual hostmask being banned. The "(perm)" means that the ban is "permanent": that is, it doesn't automatically expire. If there is an elapsed time showing instead, the time displayed is how long the ban has been active. These types of bans expire after two hours. The second line of the ban entry is the comment ("revolving check policy"), and who set the ban (paulie). The last line shows when the ban was added, and possibly the last time the ban was activated on the channel (if it's different from the creation time). Sometimes there will be a "!" or "*" right before the number. A "!" means the ban is in the bot's ban list, but is not currently on the channel. A "*" marks a ban which is NOT in the bot's ban list but IS on the channel. If you use 'bans' without an argument, it will show you only the bans which are currently active on the channel. If you use 'bans all', it will show you every ban in the global ban list and on the channel. If you use 'bans ', it will list all bans (active or not) that match against your wildcard. Consider it a 'bans all' list matched against your wildcard. If you use 'bans global', a full list of bans for EVERY channel will be displayed, including inactive/active bans on each channel. The ban list may change according to which channel you're currently viewing in the console. Different bans may be active on different channels. If you specify a channel name, that channel will be used instead of your current console channel. See also: -ban, +ban, console%{+m|m}, chanset, chaninfo%{-}, stick, unstick :hub:bc: ### $bbc$b [params] See: botcmd :hub:boot ### $bboot$b [reason] Kicks a user off the party line and displays the reason, if you specify one. You can also specify a bot, and attempt to boot someone from another bot on the botnet. You cannot boot a bot owner. :hub:botcmd: ### $bbotcmd$b [%%group] [params] The specified cmd and optional parameters are executed on the specified bot, all results are displayed back on DCC. For example: [19:29] #bryan# botcmd wtest whom ... [19:29] (wtest) #bryan# whom [wtest] Nick [wtest] ---------- [wtest] ^bryan [wtest] ^bryan [idle 1h22m] [wtest] ^bryan [idle 1h22m] [wtest] Total users: 3 The bot specified can also have wildcards in it. '*' for 1 or more chars, and '?' for exactly 1 char. Use this cmd carefully, and even think about placing a cmdpass on it. Just using '?' for 'bot' will choose a random leaf bot. Just using '&' for 'bot' will do the cmd on all localhub bots. (first bot in config). Use '%%group' to match a specific group. (see also: '%dhelp set') This cmd cannot be chained over the botnet, ie, no: '%dbotcmd [bot] botcmd [bot2] ...' There are two default aliases added for this cmd: bc -> botcmd bl -> botcmd ? See also: cmdpass :hub:botjump: ### $bbotjump$b [server [port [pass]]] Makes the bot jump to another server. If you don't specify a server, it will jump to the next server in its internal list (see $b'%dhelp set'$b). If you specify a server, it will jump to that server (default port is 6667), and if that server is not in the internal list already, it will add it (until the bot relinks). Jumping servers ALWAYS makes the bot lose ops! be careful! See also: jump, servers, botserver :hub:botmsg: ### $bbotmsg$b Sends a private message to someone from the bot, just as if the bot had typed /msg. See also: msg%{+n} :hub:botnick: ### $bbotnick$b The specified bot will display its current nick over DCC. See also: netnick, nick :hub:bots ### $bbots$b [nodename|%group] Shows the list of bots currently on the botnet. Example: Bots: cEvin, ruthie, Killa1 There is no indication of which bots are directly connected to this current bot. %{+n}Use $b'%dwho'$b or $b'%dbottree'$b for that information.%{-} Specifying a nodename will display all bots up/down on that nodename. Bots with a * preceding its name are down. Specifying a %%group will only show bots in that group. See also: groups, downbots%{+n}, bottree%{-} :hub:botserver: ### $bbotserver$b The bot will display its current server and lag over DCC. See also: netserver, servers%{+n}, set%{-} :hub:botset: ### $bbotset$b [<+/->list] [ [data|-]] Set's a bot specific entry. NOTE: 'set' and 'botset' have different entries. If there is a botset entry for 'name' and a set entry for 'name', the bot will use the 'botset' entry. Otherwise, the 'set' entry will be used for all options. The may have wildcards. Wildcards will only be used for listing variable, not for setting. See 'set' for a full help listing. See also: set :hub:bottree ### $bbottree$b Shows a tree-format diagram of the bots currently on the botnet. It's just a nice way to get a feel for how the bots are physically connected. If 2 bots are sharing, a + will be indicated, or a ? if nothing is known. Some bots are colored if you have colors on (see '%dhelp color') Yellow: hubs (Do not come on IRC) Red: localhubs (first bot in binary, see '%dhelp conf') Other: normal leaf bots See also: bots, downbots, groups ::botversion: ### $bbotversion$b The bot will display its pack version and uname. See also: version, netversion, about%{+m|m}, status%{-} :hub:chaddr ### $bchaddr$b Changes the address for a bot. This is the address your bot will try to connect to when linking. If the bot has a separate port for bots and users, they should be separated by a slash (/). %{+a} It is not recommended that this is used, you should change your source, and update all bots instead. %{-} See also: link%{+a}, newhub%{-} ::chaninfo ### $bchaninfo$b This lists all the settings for the bot on the given channel. It shows any of the following: $bchanmode$b These modes are enforced on the channel. Both + and - modes can be enforced. Use {} to add a key. '%dchanset #chan chanmode { +nt key }' $bgroups$b List of groups that should join the channel. Use {} to add multiple groups. See also '%dhelp set' '%dchanset #chan groups { main alt }' %{+m|m} $bauto-delay$b Amount of seconds to wait before auto opping, or auto voicing a client based on flags or +voice $blimit$b If this is set, the +l bot will raise the limit to the users in the channel + this amount. Set to 0 to disable. $bclosed-ban$b Set this to 1 to ban users who join +closed channels. This is probably not needed though, as +closed maintains +i. $bclosed-invite$b If a channel is set +closed and this is set force the channel to always be +i, otherwise don't. $bclosed-private$b If a channel is set +closed, the bots will enforce +p as well. The point is to notice the chan and bots when an /invite is done. This is useful in seeing when a shell is hijacked ;) $bcaps-limit$b If this is set, any +f bots will kick a client for using too many caps. This is a percentage (0-100) of how much of their message can be caps before being kicked. $bcolor-limit$b If this is set, any +f bot will kick the client for excess color codes. The setting is how many color/bold character codes the message may contain before being kicked. $bban-time$b Set here how long temporary bans will last (in minutes). If you set this setting to 0, the bot will never remove them. (This also requires +dynamicbans) $bban-type$b This setting defines what type of bans should be placed. Available types are: 0 *!user@host 1 *!*user@host 2 *!*@host 3 *!*user@*.host 4 *!*@*.host 5 nick!user@host 6 nick!*user@host 7 nick!*@host 8 nick!*user@*.host 9 nick!*@*.host You can also specify types from 10 to 19 which correspond to types 0 to 9, with the exception that numbers in hostnames are replaced with the '?' wildcard, or 20 to 29, which works like 10 to 19 but using '*' for numbers, instead of '?'. $bexempt-time$b Set here how long temporary exempts will last (in minutes). If you set this setting to 0, the bot will never remove them. The bot will check the exempts every X minutes, but will not remove the exempt if a ban is set on the channel that matches that exempt. Once the ban is removed, then the exempt will be removed the next time the bot checks. Please note that this is an IRCnet feature. $bknock$b Allow auto-inviting on /KNOCK? +y bots will invite. None/0 Don't invite on /KNOCK Op/1 Ops (+o) are invited on /KNOCK Voice/2 Voices (+v) are invited on /KNOCK User/3 Users (not +dk) are invited on /KNOCK $bflood-exempt$b Should clients be exempt from flood checks based on their channel status? (not deop/kick floods) Valid values are: None/0 Stick to regular checking (+x) Op/1 Ops are exempt from flood checks Voice/2 Voices are exempt from flood checks $bclosed-exempt$b Should clients be exempt from +closed kicks based on their channel status? Valid values are: None/0 Stick to regular user checking (+o) Op/1 Ops are exempt from +closed kicks Voice/2 Voices are exempt from +closed kicks $bflood-lock-time$b How long in seconds to keep the channel locked during drone floods. $bfish-key$b The key to use for FiSH encryption. Use '{ key }' to set and '{}' to unset. $binvite-time$b Set here how long temporary invites will last (in minutes). If you set this setting to 0, the bot will never remove them. The bot will check the invites every X minutes, but will not remove the invite if a channel is set to +i. Once the channel is -i then the invite will be removed the next time the bot checks. Please note that this is an IRCnet feature. $bprotect-backup$b Set +backup in the event of a takeover if the channel is +protect. $bvoice-non-ident$b If channel is +voice, clients without an ident will be voiced. Set to 0 to not voice clients without ident. $bvoice-moderate$b If channel is +voice, auto set +m and devoice flooders instead of kicking them. Set to 0 to disable. The following options choose how to respond to specific events. Each can be set as any of the specified options. ignore/0 Ignore deop/1 Chattr user +d (deop) kick/2 Chattr user +k (auto kickban) delete/remove/3 Remove user react/4 React and punish the client, but don't add or modify their user flags. These events trigger the bot to react with the above option. $bbad-cookie$b Missing or invalid cookie in bot op line. $bmanop$b Manual op. $bmdop$b Mass deop. $bmop$b Mass op. $brevenge$b Client kicking/banning/deopping another bot. The following can be set + or - (e.g. '%dchanset #channel -enforcebans') $bautoop$b Bots that are +y will auto-op all users with op access to the channel. $bbackup$b Make backup-bots (+B) join when set. $bbitch$b Only let users with the +o flag have op on the channel? $bbotbitch$b Only let $bbots$b with the +o flag have op on the channel? $bclosed$b Kick all people who join channel unless they have op access for the channel. $bcycle$b Bot will attempt to cycle the channel when opless or during splits to gain ops. $benforcebans$b When a ban is set, kick people who are on the channel and match the ban? $bfastop$b Setting this will disable cookie-ops. You may know cookie-ops as an annoying way of bots opping themselves with +o-b bot *!*@fjdifgjdsgiufufdhgfudghfdgfdg, but, with -fastop (cookie-ops enabled), opping is much more secure and the chances of someone hijacking the bot for ops in your channel are much less. This is highly recommeneded to always be set. $bfloodban$b If a channel flood (public, notice or ctcp) is detected, the flooder will also be banned, in accordance with ban-type. $binactive$b This prevents the bot from joining the channel (or makes it leave the channel if it is already there). It can be useful to make the bot leave a channel without losing its settings, channel-specific user flags, channel bans, and without affecting sharing. $bnodesynch$b Allow non-ops to perform channel modes? This can stop the bot from fighting with services such as ChanServ, or from kicking IRCops when setting channel modes without having ops. $bprivate$b This by far is probably the single most unique and important feature of this pack. With this set, users with global +o will not implicitly have access to the channel. They will need to have channel |o flag to have access. Users with global +n override this as they should have control over the entire botnet and where it goes. Users who lose access to a channel because of this setting will see no reference to it over the botnet in any place. The +o restriction goes for +v as well. $bprotect$b Set chan +botbitch and mass deop the channel if someone attempts to takeover. The channel is also set +backup if protect-backup is set. $brbl$b Do RBL lookups on clients and ban on matches. Uses 'rbl-servers'. See also '%dhelp set'. Only the +r bot will do lookups. On positive match, the bot will add a ban to the botnet and all bots will enforce the ban. $btake$b Once a bot is opped, it will mass op all other bots in the channel. After that, they will all attempt to mass deop in hopes 'taking' the channel. :) $bvoice$b With this set, the +y bot will voice ALL clients that join the channel, whether they are a user or not. It will still keep +q|q users devoiced. Any client devoiced by a user op (+o) will remain devoiced even if they cycle. See also: 'voice-non-ident' and 'voice-moderate' $bvoicebitch$b Enforce voices in a +bitch style. Only +v users will be allowed to be voiced. This does take +private into mind as well. $bdynamicbans$b Only activate bans on the channel when necessary? This keeps the channel's ban list from getting excessively long. The bot still remembers every ban, but it only activates a ban on the channel when it sees someone join who matches that ban. $buserbans$b Allow bans to be made by users directly? If turned off, the bot will require all bans to be made through the bot's console. $bdynamicexempts$b Only activate exempts on the channel when necessary? This keeps the channel's exempt list from getting excessively long. The bot still remembers every exempt, but it only activates an exempt on the channel when it sees a ban set that matches the exempt. The exempt remains active on the channel for as long as the ban is still active. $buserexempts$b Allow exempts to be made by users directly? If turned off, the bot will require all exempts to be made through the bot's console. $bdynamicinvites$b Only activate invites on the channel when necessary? This keeps the channel's invite list from getting excessively long. The bot still remembers every invite, but the invites are only activated when the channel is set to invite only and a user joins after requesting an invite. Once set, the invite remains until the channel goes to -i. $buserinvites$b Allow invites to be made by users directly? If turned off, the bot will require all invites to be made through the bot's console. The following are flood settings, they are set via '%dchanset flood-type number:seconds', where number and second are integers indicating the number of times in how many seconds the flood will be triggered. Setting one of these to 0:0, 0:1, or 1:0 will deactivate the respective flood setting. $bflood-chan$b Set here how many channel messages in how many seconds from one host constitutes a flood. Setting this to 0 or 0:0 disables text flood protection for the channel. $bflood-bytes$b Set here how many bytes in how many seconds from one host constitutes a flood. Setting this to 0 or 0:0 disables text flood protection for the channel. $bflood-ctcp$b Set here how many channel ctcps in how many seconds from one host constitutes a flood. Setting this to 0 or 0:0 disables ctcp flood protection for the channel. $bflood-join$b Set here how many joins in how many seconds from one host constitutes a flood. Setting this to 0 or 0:0 disables join flood protection for the channel. $bflood-kick$b Set here how many kicks in how many seconds from one host constitutes a flood. Setting this to 0 or 0:0 disables kick flood protection for the channel. $bflood-deop$b Set here how many deops in how many seconds from one host constitutes a flood. Setting this to 0 or 0:0 disables deop flood protection for the channel. $bflood-nick$b Set here how many nick changes in how many seconds from one host constitutes a flood. Setting this to 0 or 0:0 disables nick flood protection for the channel. The following settings will trigger a lockdown (chanmode +mi) for 'flood-lock-time' seconds. Unlike the other flood-* settings, these will trigger on $bmultiple$b clients. They are for catching mass floods. $bflood-mjoin$b Set how many joins in how many seconds before triggering a lockdown for mass join. Setting this to 0 or 0:0 disables mass join protection for the channel. $bflood-mchan$b Set here how many channel messages in how many seconds from any host constitutes a flood. Setting this to 0 or 0:0 disables text flood protection for the channel. $bflood-mbytes$b Set here how many bytes in how many seconds from any host constitutes a flood. Setting this to 0 or 0:0 disables text flood protection for the channel. $bflood-mctcp$b Set here how many channel ctcps in how many seconds from any host constitutes a flood. Setting this to 0 or 0:0 disables ctcp flood protection for the channel. These can all be changed simultaneously with $bflood-*$b See also: %{-}%{+n}+chan, -chan%{-}%{+m|m}, chanset%{-} :leaf:channel ### $bchannel$b [channel-name] Shows you an extensive display of the users on a channel, and the current channel attributes. By default, it shows you the channel you are currently viewing on the console, but you can specify another channel if you wish. The first line will look like: Channel #hiya, 8 members, 45 users, mode +tn: This means that the bot is sitting on channel #hiya, where 8 other irc'ers are. There are 45 people that the bot knows by hostmask, and the channel mode is +tn. If the bot isn't on the channel it is supposed to be on, it will say "Desiring channel #hiya" instead. Next is a list of the users on the channel, with each entry looking like this: NICKNAME HANDLE JOIN HOPS IDLE USER@HOST @kantSF kantSF 14:53 o 2 6m josh@random.edu The "@kantSF" means that the user's nickname is kantSF and that he is a chanop. The second "kantSF" is the nickname that the bot knows him by. Sometimes this will differ from the nickname a person is using. The time displayed is the time the user joined the channel. The next field is the attributes: n - bot owner o - can get ops (+o) m - bot master or owner b - another bot d - cannot get ops (+d) The last field is the user@host he is using irc from. See also: status, whois ::channels: ### $bchannels$b %{+m}[user|%group]%{-} Displays channels that you have access to, and any important flags that are set on them. %{+m} Masters: You can specify other users to see what channels their flags grant them access to.%{-} Special %%group to see what channels a particular group is in. See also: whois%{+m}, chattr, chaninfo, groups%{-} ::chanset ### $bchanset$b [#&!+channel|*|default] Allows you to change the channel settings (see $b'chaninfo'$b for the settings) for one specific channel or all channels. Use '*' to apply the change to all channels. Changes are used until the next restart, and are saved whenever the userfile is saved. Modifying 'default' will change what new channels get when they are created. See also: %{+n}+chan, -chan%{-}, chaninfo ::chat ### $bchat$b ### $bchat$b <[*]channel number/name> Changes your current channel on the partyline. When you first connect to the partyline, it places you on channel 0 (the main party line). Some channels may have assigned names if the assoc module is loaded. For these, you can specify the channel by name instead of channel number if you wish. $b'%dchat off'$b removes you from all channels, including the main party line. You can still use bot commands and see the console, but you can't talk to anyone. $b'%dchat on'$b returns you to the main party line (channel 0) if you were elsewhere. If you prefix the channel with a '*', you will join a local channel. See also: console ::chattr ### $bchattr$b [flags] [channel] This lets you view and change the flags for a user. For example, to give Lamer the p and f flags: '%dchattr Lamer +pf' To remove Denali from the global op list: '%dchattr Denali -o' You may also do any combination of the above: '%dchattr Fred1 -m+xj-o' You can also change the flags for Usagi on a specific channel by supplying the channel after the attributes: '%dchattr Usagi -m+dk-o #blah' Changing global and channel specific flags within the same command line is also possible (global +o #lamer): '%dchattr Bill f|o #lamer' Whether or not you change any flags, it will show you the user's attributes afterwards. To get a list of all possible flags, see $b'%dhelp whois'$b. $bNOTES:$b Only the owner may add or remove the 'a' (admin) or 'n' (owner) flags. It is pointless to -a a permanent owner. You must remove the permanent owner in the binary. See also: whois :hub:checkchannels ### $bcheckchannels$b This will make all leaf bots display which channels they are currently not in but *should* be in. This will only shows channels that contain the groups the bot are in. See also: botcmd, channels, channel, status :hub:chhandle ### $bchhandle$b Changes the handle of a user. For example, to change the handle of user 'gavroche' to 'jamie', you would use 'chhandle gavroche jamie'. Perm owners may not change their handle without recompiling binaries first. Bot handles cannot be changed from partyline. See also: chpass%{+n}, chsecpass%{-} ::chinfo ### $bchinfo$b [channel] [info-line/none] Sets the information line for a user. This line is shown via the /msg commands $b'who'$b and $b'whois'$b. If the info line begins with an '@', then it is "locked", and that user may no longer change it. If the channel name is omitted, the default info line is changed. If you specify 'none' as the info-line, it will be erased. See also: info :hub:chnick See: chhandle :hub:chpass ### $bchpass$b [newpassword|rand] Changes a user's password. If you do not specify the new password, the user effectively no longer has a password set. A password is needed to get ops, join the party line, etc. If the newpassword is 'rand', a random password will be used. This has no effect on bots. See also: chhandle%{+n}, chsecpass%{-} :hub:chsecpass: ### $bchsecpass$b [newpassword|rand] Changes a user's secpass. If you do not specify the new password, the user effectively no longer has a password set. A secpass is needed to auth and login via DCC chat. If the newpassword is 'rand', a random password will be used. See also: chhandle, chpass ::clearhosts ### $bclearhosts$b Removes all hosts from your handle. %{+m|m} ### $bclearhosts$b Removes all hosts from a user's user record. %{-} See also: +host, -host :leaf:clearqueue ### $bclearqueue$b Removes all msgs from the specified queue (mode/server/help/play/all) :hub:cmdpass: ### $bcmdpass$b [newpassword] Places the specified pass on the cmd so that the cmd will need to be followed by the specified pass whenever it is called. For example: '%dcmdpass whoami BLAH' [19:32] #bryan# cmdpass whoami ... Set command password for whoami to 'BLAH' '%dwhoami' Invalid command password. Use !command password arguments [19:33] bryan attempted !whoami with missing or incorrect command password '%dwhoami BLAH' You are bryan@hub. [19:33] #bryan# whoami To remove a cmdpass for a cmd, specify the old pass and do not specify a new pass ** Only permanent owners specified in the binary COMPILE config file ** ** can use this cmd. ** ::color: ### $bcolor$b Enables or disables misc coloring over DCC. mIRC or ANSI method is chosen automatically. See also: console, echo, login, page, strip ::comment ### $bcomment$b Creates or changes the comment field for a user. The comment field can only be seen via 'whois' or 'match'. Non-masters cannot see the comment field. Using the comment 'none' will clear a user's comment. ::conf: ### $bconf$b [options] This command is used to modify the bot's local shell config. Only the first bot listed will be able to perform this command. Using the cmd on a non-'localhub' will result in an error similar to: [16:42] #bryan# botcmd wtest2 conf list [wtest2] Please use 'wtest' for this login/shell. Simply use the command on the bot specified. 'add' uses the same syntax as the conf file: add [ <[+]host|.> [ipv6-ip]] ip/host/ipv6-ip are all optional and/or can be replaced with '.' Newly added bots will start immediately, don't forget to 'newleaf'. 'del' syntax is: del Deleted bots that are running will be killed. 'change' syntax is the same as 'add' 'disable' syntax is: disable The bot will be killed, but not removed from userlist. It will not start again until you use 'enable' on it. 'enable' syntax is: enable The bot is enabled. (Only relevant for disabled bots designated via a prefix of '/') 'list' shows all the bots currently in the config. 'set' allows changing some variables in the config. Using with no parameters will show all changeable options. Simply specify the option and new setting as follows: set [option] WARNING: Options changed MAY OR MAY NOT affect bots already running, it is a good idea to restart all bots on the shell if you change any of the following: $bhomedir$b, $bbinpath$b, $bbinname$b, $bportmin$b, $bportmax$b See also: newleaf, newhub ::console: ### $bconsole$b [channel] [modes] Changes your console level so that you will see only the types of console messages that you want to. Your current console channel is the channel (that the bot is on) from which you can view from the party line, and which channel-specific commands (like 'say' and 'op') take affect on. Valid flags are: $bj$b joins, parts, quits, and netsplits on the channel $bk$b kicks, bans, and mode changes on the channel $bm$b private msgs, notices and ctcps to the bot $bp$b public text on the channel $bs$b server connects, disconnects, and notices %{+m} Masters only: $bb$b information about bot linking and userfile sharing $bd$b misc debug information $bc$b commands $bo$b misc info, etc (IMPORTANT STUFF) $bw$b wallops %{-} %{+n} Owners only (these have to be enabled in the config file via "set raw-log"): $be$b errors $bg$b (getin) botnet op/invite/key requests $bh$b raw share traffic $br$b raw incoming server traffic $bt$b raw botnet traffic $bu$b warnings $bv$b raw outgoing server traffic %{-} %{+o|o} The mode can also be a modifier like '+p' or '-jk' or '+mp-b'. If you omit the channel and modes, your current console channel and flags will be shown. %{-} %{+m|m} ### $bconsole$b [channel] [modes] This is used to set the console level of another user. This can even be used on users who normally would not be able to set their own console mode.%{-} See also: color, echo, login, page, strip ::crontab: ### $bcrontab$b [interval] This command is used to manipulate the crontab entries for the user that the bot is running on. 'status' will display the status of the crontab entry for the bot, for example: [18:59] #bryan# crontab status Crontabbed 'show' will display the current crontab entries, for example: [18:59] #bryan# crontab show Showing current crontab: Result: 3,8,13,18,23,28,33,38,43,48,53,58 * * * * /usr/home/bryan/hub/hub > /dev/null 2>&1 1,6,11,16,21,26,31,36,41,46,51,56 * * * * /usr/home/bryan/hub/newhub > /dev/null 2>&1 'delete' will remove the bot's own crontab entry from the crontab list. 'new' will make the bot add itself to the crontab list, although this is done automatically on startup. ::cycle: ### $bcycle$b [delay] If done on the hub, makes all linked bots cycle the specified channel. Otherwise, only the bot it is done on will cycle. Delay defaults to 10 seconds, which means bots will part and not rejoin until that time has passed. See also: down ::date ### $bdate$b Displays the time/date in local and GMT. Also displays which time zone is being used by the bot for internal logging. :hub:dccstat ### $bdccstat$b Displays a table-format list of all "dcc" connections in use on the bot. Dcc stands for "Direct Client-to-client Communication", and Eggdrop expands this to cover every open socket. Any type of network connection to the bot is considered a "dcc" connection. The headings of the table are: $bSOCK$b the socket number of this connection (always unique) $bADDR$b the ip address mask of the host the bot is connected to, if applicable $bPORT$b the port number being used for this connection $bNICK$b the handle of the user or bot, if applicable $bHOST$b the hostname corresponding to the IP address, if available $bTYPE$b the type of dcc connection (see below) The types of connections currently possible are as follows (but more are being added all the time): $bCHAT$b dcc-chat partyline user $bPASS$b user entering dcc chat (being asked for password) $bSEND$b user sending a file $bGET$b sending a file to a user $bGETP$b pending get (waiting for the user to acknowledge) $bLSTN$b telnet listening port (in place of a hostname, it will show the callback procedure name, or a mask of acceptable handles) $bT-IN$b incoming telnet user (being asked for handle) $bFILE$b user in dcc-chat file area $bBOT$b connected bot (botnet connection) $bBOT*$b pending bot link (waiting for acknowledgement) $bRELA$b user in relay connection to another bot $b>RLY$b bot being relay'd to (one for each "RELA") $bCONN$b pending telnet connection (chat, relay, bot-link, etc) $bNEW$b new user via telnet (entering a handle) $bNEWP$b new user via telnet (entering a password) In addition, 'CHAT' and 'BOT' have flags listed for each connection. Capital letters mean that the flag is on, and lowercase letters mean that the flag is off. The flags for 'CHAT' are: $bC$b in file area, but allowed to return to party line $bK$b color is on $bP$b party line access only $bT$b telnet connection (instead of dcc chat) $bE$b echo is on $bP$b paging is on $b6$b socket is ipv6 The flags for 'BOT' are: $bP$b ping sent, waiting for reply $bU$b user-file sharing is active $bC$b local bot initiated the connection $bO$b user-file offered, waiting for reply $bS$b in the process of sending the user-file $bG$b in the process of getting the user-file $bW$b warned this bot to stop hubbing $bL$b leaf-only bot (not allowed to be a hub) $bI$b bot is currently in the 'linking' stage $bA$b bot is being aggressively shared with For 'CHAT' users, the party-line channel is also listed. ::debug ### $bdebug$b Display a dump of memory allocation information, assuming the bot was compiled with memory debugging. It's useless to anyone but developers trying to find memory leaks. ::decrypt ### $bdecrypt$b Decrypts the string using the specified key. See also: decrypt_fish, encrypt, encrypt_fish, randstring, md5, sha1, sha256, hash ::decrypt_fish ### $bdecrypt_fish$b Decrypts the string using the specified key. This algorithm is eggdrop's blowfish, same as FiSH. See also: decrypt, encrypt, encrypt_fish, randstring, md5, sha1, sha256, hash :leaf:deluser ### $bdeluser$b Deletes a user record for a user on the channel, using their current hostname. Channel masters can remove users so long as the user isn't a bot master. Channel masters may only delete users which they added. see also: adduser%{+m}, +user, -user%{-} :leaf:deop ### $bdeop$b [channel|*] Will remove chanop from the person you specify, so long as the bot is opped on that channel, and the person you specify isn't on the bot's list of authorized chanops. Specify * for all channels. See also: op, console :leaf:devoice ### $bdevoice$b [channel|*] Will remove the +v voice from the person you specify, so long as the bot is opped on that channel. Specify * for all channels. ::die ### $bdie$b [reason] This kills the bot. The bot goes offline immediately, logging who issued the 'die' command. You shouldn't have to use this too often. If you specify a reason, it is logged, otherwise the reason is "authorized by ". See also: suicide, conf ::dns ### $bdns$b Resolves the given hostname/ip If "flush" is the specified hostname, the cache will be flushed. ::down: ### $bdown$b All linked bots will deop themselves in the specified channel. They will not reop for 10 seconds. See also: cycle :hub:downbots ### $bdownbots$b Shows the list of bots that are NOT currently linked to the botnet. Example: Down bots: cEvin, ruthie, Killa1 See also: bots, groups :leaf:dump ### $bdump$b dumps the text to the server. keep in mind that this bot doesn't run through ircII, so ircII commands will most likely not work this way. they need to be raw irc codes. read rfc1459 from ftp.internic.net for more help. '$n' is replaced with the bot's irc nickname. ** Only permanent owners specified in the binary COMPILE config file ** ** can use this cmd. ** ::echo ### $becho$b Specifies whether you want your messages echoed back to you. If it's on, then when you say something on the party line, it will be displayed to you just like everyone else will see it. If it's off, then it won't happen. See also: color, console, login, page, strip ::encrypt ### $bencrypt$b Encrypts the string using the specified key. See also: encrypt_fish, decrypt, decrypt_fish, randstring, md5, sha1, sha256, hash ::encrypt_fish ### $bencrypt_fish$b Encrypts the string using the specified key. This algorithm is eggdrop's blowfish, same as FiSH. See also: encrypt, decrypt, decrypt_fish, randstring, md5, sha1, sha256, hash ::exec: ### $bexec$b The bot will execute the specified program with each param specified, and display the results over DCC. ::exempts ### $bexempts$b [[channel/all/global]/wildcard] Shows you a list of the global exempts active on the current channel, and the list of channel-specific exempts, as well as any exempts that are on the channel but weren't placed by the bot. Here's a sample entry; ! [ 3] *!test@test.com (perm) bryan: requested Created 01:15 The number (3) can be used to reference the exempt if you wish to remove it (see $b'-exempt'$b). Next is the actual hostmask being exempted. The "(perm)" means that the exempt is "permanent": that is, it doesn't automatically expire. If there is an elapsed time showing instead, the time displayed is how long the exempt has been active. These types of exempts expire after one hour. The second line of the exempt entry is the comment ("requested"), and who set the exempt (bryan). The last line shows when the exempt was added, and possibly the last time the exempt was activated on the channel (if it's different from the creation time). Sometimes there will be a "!" or "*" right before the number. A "!" means the exempt is in the bot's exempt list, but is not currently on the channel. A "*" marks an exempt which is NOT in the bot's exempt list but IS on the channel. If you use 'exempts' without an argument, it will show you only the exempts which are currently active on the channel. If you use 'exempts all', it will show you every exempt in the global exempt list and on the channel. If you use 'exempts ', it will list all exempts (active or not) that match against your wildcard. Consider it a 'exempts all' list matched against your wildcard. If you use 'exempts global', a full list of exempts for EVERY channel will be displayed, including inactive/active exempts on each channel. The exempt list may change according to which channel you're currently viewing in the console. Different exempts may be active on different channels. If you specify a channel name, that channel will be used instead of your current console channel. See also: -exempt, +exempt, console%{+m|m}, chanset, chaninfo%{-}, stick, unstick :leaf:find: ### $bfind$b | The bot will search through all of its channel records and look for the specified hostmask. Wildcards are accepted; '*' for 1 or more characters, or '?' for exactly 1 character. If a username is specified, then the user is searched for in all the channel lists. ::fixcodes ### $bfixcodes$b This is for use in situations where the bot gets mixed up about the type of connection you have with it. For example, you /CTCP CHAT the bot and it thinks you are connecting via telnet, and you see text displayed as "Local time is now 17:17" for example instead of "Local time is now 17:17". Use this to turn telnet codes on or off/change the display mode. :leaf:getkey: ### $bgetkey$b [channel] If there is a key set for channel, it is displayed. If channel is not specified, your console channel is used. See also: console, channels%{+m}, status%{-} :hub:groups ### $bgroups$b [bot] Shows the list of groups and which bots are in them. Specify a bot to only show which groups it is in. See also: bots, downbots%{+n}, bottree%{-} ::handle ### $bhandle$b Changes your handle on the bot. This is the handle (nickname) that the bot will know you as from this point forward. It is used to log into the bot. Perm owners may not change their handle without recompiling binaries first. See also: newpass%{+mi}, chhandle, chpass%{-}%{+n}, chsecpass%{-} ::hash ### $bhash$b Returns the MD5, SHA1, and SHA256 hash of the specified string. See also: randstring, md5, sha1, sha256, encrypt, encrypt_fish, decrypt, decrypt_fish ::help: ### $bhelp$b [cmd] Alone, will show all cmds that match your flags. With a cmd it will show the help entry, such as you see here. Specifying a wildcard will display a list of cmds (matching your flags) that match that wildcard. Use '*' to match 1 or more characters, and '?' to match exactly one character. This will only show the commands available on the current type of bot you are on. Ie, hubs and leafs have different cmds shown in '%dhelp' :hub:hublevel: ### $bhublevel$b Sets the hublevel for the specified hub. This command is not recommended for use by anyone. Instead you should change your COMPILE config file and update your net with new binaries. You really shouldn't use this cmd. See also: uplink, chaddr ::ignores ### $bignores$b [wildcard] Shows a list of hostmasks from which the bot is currently ignoring msgs, notices, etc. There are two types of ignores: permanent and temporary. Permanent ignores never automatically expire. You must use $b'%d-ignore'$b to remove them. Here is a sample permanent ignore: [ 1] *!*@217.156.44.184 (perm) bryan: go away Started 523 days ago The number (1) can be used to reference the ignore if you wish to remove it (see $b'%dhelp -ignore'$b). Next is the actual hostmask being ignored. The "(perm)" means that the ignore is "permanent": that is, it doesn't automatically expire. The second line of the ignore entry is the comment ("go away"), and who set the ban (bryan). The last line shows when the ignore was added. Here is a sample temporary ignore: [ 10] blah!blah@blah.cc (expires in 1 day) bryan: requested Started 18:02 Here, you see the "perm" in the parentheses next to the hostmask is instead an expire time. This means that the ignore will expire automatically in one day. If you use $b'%dignores '$b, it will list all the ignores that match against your wildcard. See also: +ignore, -ignore ::info ### $binfo$b [channel] [info-line] Sets your info line. This line is shown via the /msg commands $b'who'$b and $b'whois'$b. If the info line begins with an '@', then it is "locked", and you may no longer change it. %{+m|m}See also: chinfo%{-} :leaf:invite ### $binvite$b [channel|*] Invites someone from irc into your current console channel (or specified other channel). This is most useful when the channel is +i. a user with the +o flag can also request an invite from the bot with /MSG INVITE. Specify * for all channels. See also: console, iop ::invites ### $binvites$b [[channel/all/global]/wildcard] Shows you a list of the global invites active on the current channel, and the list of channel-specific invites, as well as any invites that are on the channel but weren't placed by the bot. Here's a sample entry; ! [ 3] *!test@test.com (perm) bryan: requested Created 01:15 The number (3) can be used to reference the invite if you wish to remove it (see $b'-invite'$b). Next is the actual hostmask being invited. The "(perm)" means that the invite is "permanent": that is, it doesn't automatically expire. If there is an elapsed time showing instead, the time displayed is how long the invite has been active. These types of invites expire after one hour. The second line of the invite entry is the comment ("requested"), and who set the invite (bryan). The last line shows when the invite was added, and possibly the last time the invite was activated on the channel (if it's different from the creation time). Sometimes there will be a "!" or "*" right before the number. A "!" means the invite is in the bot's invite list, but is not currently on the channel. A "*" marks an invite which is NOT in the bot's invite list but IS on the channel. If you use 'invites' without an argument, it will show you only the invites which are currently active on the channel. If you use 'invites all', it will show you every invite in the global invite list and on the channel. If you use 'invites ', it will list all invites (active or not) that match against your wildcard. Consider it a 'invites all' list matched against your wildcard. If you use 'invites global', a full list of invites for EVERY channel will be displayed, including inactive/active invites on each channel. The invite list may change according to which channel you're currently viewing in the console. Different invites may be active on different channels. If you specify a channel name, that channel will be used instead of your current console channel. See also: -invite, +invite, console%{+m|m}, chanset, chaninfo%{-}, stick, unstick :leaf:iop ### $biop$b [channel|*] Same as normal invite, except auto-ops them when they join. See also: console, invite :leaf:jump ### $bjump$b [server [port [pass]]] Makes the bot jump to another server. If you don't specify a server, it will jump to the next server in its internal list (see $b'%dhelp set'$b). If you specify a server, it will jump to that server (default port is 6667), and if that server is not in the internal list already, it will add it (until the bot relinks). Jumping servers ALWAYS makes the bot lose ops! be careful! See also: botjump, servers, botserver :leaf:keyx ### $bkeyx$b Initiaite DH1080 key-exchange with nick for FiSH protocol. %{+m}See also: setkey%{-} :leaf:kick ### $bkick$b [channel|*] [reason] Will kick a user off your current console channel (or specified other channel) with the comment given. if you omit the reason, the default kick comment is "requested". Specify * for all channels. See also: kickban, console :leaf:kickban ### $bkickban$b [channel|*] [-|@] [comment] Kicks a user off the channel and bans her by a reasonable host- mask. your nickname will be attached to the ban in the bot's internal ban list, and the ban will last for whatever is set in ban-time -- only on this channel. use $b'%d+ban'$b for a more permanent ban which will be activated on every channel the bot monitors. if you use a comment, that will also be attached to the ban in the ban list, and used as the kick comment. Specify * for all channels. appending a prefix of ! or @ to a nickname changes the ban mask used: e.g. with a host of nick!ident@host.name.domain command banmask '%dkickban nick *!*dent@*.name.domain' '%dkickban -nick *!*dent@host.name.domain' '%dkickban @nick *!*@host.name.domain' with a host of nick!~ident@host.name.domain (strict-host set to 1) command banmask '%dkickban nick *!*ident@*.name.domain' '%dkickban -nick *!*ident@host.name.domain' See also: +ban, bans, stick :hub:lagged: ### $blagged$b Displays the bot's internal ping list of bots linked to it. If a pingtime goes over 30 seconds, it is delinked for ping timeout. See also: netlag ::last: ### $blast$b Displays the 'last' output from the shell the bot is running on, for the user it is running as. %{+i}See also: netlast%{-} :hub:link ### $blink$b [via-bot] Attempts to link to another hub. This command is deprecated and not recommended for use. See also: unlink%{+ni}, newleaf%{-}%{+a}, newhub, -bot%{-} ::login ### $blogin$b [on/off] Sets various login options. Not specifying on/off will display what the setting is the for the specified login entry. See also: echo, color, console, page, strip, whois ::match ### $bmatch$b [channel] [[start] limit] This displays all user records with the attributes requested. "attr" is of the form: <+/->[&/|[&/|]] Specifying "&" as the separator will cause AND style matching. For example: '%dmatch p&o' This will match all users with both the "p" global flag and the "o" channel flag on your current console channel. Specifying "|" as the separator will cause OR style matching. For example: '%dmatch p|o' This will match all users with either the "p" global flag or the "o" channel flag on your current console channel. If you specify a channel, it will be used instead of the current console channel. For example: '%dmatch p|o #eggdrop' This will match all users with either the "p" global flag or the "o" channel flag on the channel #eggdrop. You can also match bot flags. For example: '%dmatch o|o|h' This will match all bots with either the "o" global flag, the "o" channel flag on the current console channel, or the "h" botflag. You can also limit the number of total results returned by specifying a limit at the end of the command. A starting point can also be specified. For example: '%dmatch p&o #eggdrop 16 25' This would show results 16 through 25 matching any users with the "p" global flag or the "o" channel flag on #eggdrop. ### $bmatch$b [[start] limit] This displays all user records where the user's handle or any of the user's hostmasks match the specified wildcard string. You can also limit the number of total results returned by specifying a limit at the end of the command. A starting point can also be specified. For example: '%dmatch *.edu 16 25' This would show results 16 through 25 matching any users with a hostmask that ends with ".edu". $bThis command will not match on bots. You must use 'matchbot' for that.$b See also: matchbot ::matchbot ### $bmatchbot$b Matches bots. See also: match ::md5 ### $bmd5$b Returns the MD5 hash of the specified string. See also: randstring, sha1, sha256, hash, encrypt, encrypt_fish, decrypt, decrypt_fish ::me ### $bme$b Performs an action on the party line. This appears as "* bryan is leaving", etc. :leaf:mmode: ### $bmmode$b <(+|-)MODE> <#channel> [bots=n] [alines=n] [slines=n] [overlap=n] [bitch] [botbitch] [simul] [local] For those of us who do not wish to be rocket scientists in the mass mode department, a simple '%dmmode -o #channel o' will suffice. This is a distributed mass mode command. The modes will be distributed among the necessary bots to accomplish the task. **Remember, unless specified with [local], the bot you mmode on will never participate.** options: $ba$b = $ball.$b $bo$b = $bops.$b $bO$b = $buser-op.$b $bv$b = $bvoices.$b $bd$b = $bnon-ops.$b $br$b = $bregulars (-ov).$b $bbitch$b - set +bitch after finished with mmode. $bbotbitch$b - set +bitch after finished with mmode. $bsimul$b - Simulates the mmode. IE: Gives you a practice run, will show who does what in the dcc chat window. $blocal$b - Modes will not be distributed: Ran on local bot only. Use this with caution, and do not expect good results. ============================================================================= don't bother setting the following options unless you REALLY know what you're doing, and don't bother messaging me asking me how to use them if you don't. ============================================================================= $bbots$b - Number of bots to use. $balines$b - Number of MODE lines to assume each participating bot will get through. $bslines$b - Number of MODE lines each participating bot will send. $boverlap$b - Number of times to mode on each target nick (using alines for calc). bots, alines, slines and overlap are dependant on each other, set them wrong and the bot will complain. Defaults are alines=1, slines=5, overlap=1. alines will be increased up to 5 if there are not enough bots available. Examples: To mass deop (old style '%dmdop') '%dmmode -o #chan o overlap=2' To mass voice non-ops '%dmmode +v #chan d' To mass voice non-ops and non-voices '%dmmode +v #chan r' See also: mop :leaf:mop: ### $bmop$b Bot will op all users in the specified channel that are valid ops for the channel. If '*' is specified, the bot will scan all channels and op all users in all channels that are valid ops in each chan. See also: whois ::motd ### $bmotd$b %{+m}%{-} This redisplays the partyline Message Of The Day, which was shown when you first joined the partyline. %{+m}+m: Include a message to set the motd.%{-} :leaf:msg ### $bmsg$b Sends a private message to someone from the bot, just as if the bot had typed /msg. See also: botmsg%{+n} :hub:netcrontab: ### $bnetcrontab$b [interval] Runs the specified command on all linked bots. See: crontab :hub:netlag: ### $bnetlag$b Pings all bots over botnet, and displays results. See also: lagged :hub:netlast: ### $bnetlast$b All bots on the botnet will display an output from 'last' on the user that they are currently running as. See also: last :hub:netnick: ### $bnetnick$b All bots on the botnet will display their nick over DCC. See also: botnick, nick :hub:netps: ### $bnetps$b [ps-param] Will run 'ps' on each bot on the botnet and returned the results. If a params are specified, each bot will use those on 'ps'. See also: ps :hub:netrelease ### $bnetrelease$b Tells all bots to unjupe the specified nickname. They will wait 7 seconds before attempting to regain the nickname. See also: set, release :hub:netrontab: ### $bnetcrontab$b [interval] Runs the specified crontab command on all linked bots. See: crontab :hub:netserver: ### $bnetservers$b All bots on the botnet will display their current server and lag to that server over DCC. See also: botserver, servers%{+n}, set%{-} :hub:netversion: ### $bnetversion$b All bots on the botnet will display their pack version, and uname. See also: botversion, version, about%{+m|m}, status%{-} :hub:netw: ### $bnetw$b All bots on the botnet will run 'w' on their shell and display the results over DCC. See also: w :hub:newhub: ### $bnewhub$b
[hublevel] Add a new hub to the net. See also: chaddr, newleaf :hub:newleaf: ### $bnewleaf$b [hostmask] [anotherhostmask] ... Adds a new leaf to the botnet with the specified handle and hostname. Any number of hosts can be specified in the cmd. The binary config botline will also be outputted, but should be checked for correctness. %{+a}See also: newhub%{-} ::newpass ### $bnewpass$b Changes your password on the bot. This is similar to the '/msg pass' command, except you don't need to specify your old password. If the newpassword is 'rand', a random password will be used. %{+mi}See also: chpass%{-}%{+n}, chsecpass%{-} ::nick See: handle ::nick: ### $bnick$b The bot will display its current nick over DCC. See also: botnick, netnick :hub:nopass ### $bnopass$b [anything] Displays all users who do not have a password set. Specify any argument to give random passes to users. %{+mi}See also: chpass%{-} :leaf:op ### $bop$b [channel|*] Will grant chanop to the person you specify, so long as the bot is opped on that channel, and the person you specify isn't being actively deopped by the bot. Specify * for all channels. See also: deop, console ::page ### $bpage$b This allows you to slow down the number of lines the bot sends you at once via the partyline. When enabled, any commands that send greater than the specified number of lines will stop when that number is reached and wait for you to type another command (or press enter) to continue. If you have too many pending lines, you may be booted off the bot. See also: color, console, echo, login, strip :leaf:play ### $bplay$b [channel] Plays the specified file to the specified channel. If no channel is given then your console channel is used. The 'play' queue is used for this, which is the lowest priority on the bot. Any IRC related queue needs will immediately trump the 'play' queue and delay the playing of the file. Only files in the bots directory path may be played. (Symlinked paths are fine). This is to prevent a user from playing /etc/passwd since the cmd is +m. ::ps: ### $bps$b [ps-param] Will run 'ps' on the bot's shell and display any results. If any params are specified, they will be used. %{+i}See also: netps%{-} ::quit ### $bquit$b [comment] This disconnects you from the partyline. If you specify a comment, it will be displayed to other partyline users as you leave. ::randstring ### $brandstring$b Displays a random string of length 'len' up to 300 chars. See also: md5, sha1, sha256, hash, encrypt, encrypt_fish, decrypt, decrypt_fish ::rehash ### $brehash$b Don't use this cmd, it doesn't do what you think it does, and can result in the bot behaving very oddly. Reloads config data from binary. (Probably won't be needed as this is automatically updated after editing the binary with -C) See also: restart ::relay ### $brelay$b Relays you via telnet to another bot, whether or not it is currently linked. The local bot must, however, have a bot record for the bot you wish to relay to. Typing '%dquit' or "*bye*" on a line by itself will end the relay. See also: bots%{+n}, newleaf%{-}%{+a}, newhub, -bot%{-} :leaf:release ### $brelease$b Releases the bot's nick if it is on the jupenick. It gives an estimated 7 seconds before it attempts to regain its jupenick. See also: set, netrelease ::reload ### $breload$b Reloads the bot's user file, discarding any changes made since the last $b'%dsave'$b command or hourly user file save. See also: save :leaf:reset ### $breset$b [channel] Clears out the bot's channel information and makes it gather the information from the server all over again, as if it had just joined that channel. It's not really useful much, but could be if an odd bug causes the channel information to get scrambled. unfortunately this command used to get a lot of use. You can omit the channel name to make it reset ALL channels. See also: resetbans, resetexempts, resetinvites :leaf:resetbans ### $bresetbans$b [channel] Resets the bot's ban list for the channel. any bans on the channel that aren't in the ban list (either the global list or the local channel ban list) will be removed, and if there are any bans in the global ban list or channel ban list that are not currently on the channel, they will be added. See also: bans, console%{+m|m}, reset%{-} :leaf:resetexempts ### $bresetexempts$b [channel] Resets the bot's exemption list for the channel. this command behaves exactly like resetbans, except it is for exempts. See also: resetbans, resetinvites :leaf:resetinvites ### $bresetinvites$b [channel] Resets the bot's invitation list for the channel. this command behaves exactly like resetbans, except it is for invites. See also: resetbans, resetinvites ::restart ### $brestart$b Makes the bot restart, but keeps its connection to IRC active. See also: rehash, reload, save :hub:save ### $bsave$b This makes the bot write its entire userfile to disk. This is useful if you think the bot is about to crash or something, since the user file is only written to disk about once an hour. See also: reload, backup :leaf:say ### $bsay$b [channel] Dumps the text to your current console channel (or other specified channel), as if the bot "said" it. ::secpass: ### $bsecpass$b Changes your secpass on the bot. This is used for Authing via /msg and for DCC. If the password is 'rand', a random password will be used. %{+mi}See also: chpass%{-}%{+n}, chsecpass%{-} :leaf:servers ### $bservers$b Lists the servers that the bot has in its server list. this is the list it rotates through when changing servers. it starts with a static list which it loads from its config-file when the bot is booted up. after that, you can add servers with the $b'%djump'$b command. the server list will indicate which server the bot is currently on. :hub:set: ### $bset$b [<+/->list] [ [data|-]] Sets various options. Type alone to see all set entries. To set an entry do '%dset name VALUE'. Use '-' as a value to clear an entry. The may have wildcards. Wildcards will only be used for listing variable, not for setting. The '+' may be used to add 1 element to a comma separated list. (ie, servers) The '-' may be used to remove 1 element from a comma separated list. (ie, servers) The 'list' may be used to list a comma separated variable as a vertical listing. (like '%dservers') Current variables: $uB$u: Boolean (0/1/true/on/false/off) $uS$u: String $uN$u: Number $uL$u: List $uR$u: Rate. Set as 'number:interval', ie, '1:5' $uD$u: Detected vars have the following options: $bignore$b/0, $bwarn$b/1, $breject$b/2, $bdie$b/3, $bsuicide$b/4 [L] $balias$b List of dcc aliases in format ' [parms]'. First matching alias is used. Normal flag checking is done after the alias is expanded. $bAliases may not reference other aliases.$b [N] $bserver-cycle-wait$b Amount of time in seconds to wait between server reconnections. [N] $bserver-port$b Default port to use for server connections. [N] $bserver-port-ssl$b Default port to use for SSL server connections. [B] $bserver-use-ssl$b Use SSL for IRC server connections? [N] $bwait-split$b How long in seconds to track netsplit members. [B] $bauth-chan$b If set, auth cmds will work in channels as well as in msg, otherwise only in msg. [S] $bauth-key$b The authkey used during authing. Give to users if they need to auth. (can be bot specific) [C] $bauth-prefix$b The prefix character used for msg cmds, ie: $u!$uop or $u.$uop [B] $bauth-obscure$b Will not halt on dcc login if pass is wrong. Will display auth hash.. Will always fail at hash though. [N] $bdcc-autoaway$b Time in seconds until a user is set auto-away on dcc. (0/- to disable) [B] $bmanop-warn$b Warn users via /NOTICE when they msg-op in a channel with manop punishments. * Msg cmd vars may be left blank to disable usage of cmd. [S] $bmsg-op$b Defines the cmd for opping via msging the bot. [S] $bmsg-pass$b Defines the cmd for setting a pass via msging the bot. [S] $bmsg-invite$b Defines the cmd for requesting invite via msging the bot. [S] $bmsg-ident$b Defines the cmd for identing via msging the bot. [S] $bmsg-release$b Defines the cmd for releasing a nick. [R] $bflood-msg$b Msgs:Secs until a host is ignored. (0:0 to disable) [R] $bflood-ctcp$b Ctcps:Secs until a host is ignored. (0:0 to disable) [R] $bflood-callerid$b Msgs:Secs until triggering to set CALLERID for 60 seconds (0:0 to disable) [D] $blogin$b How to handle someone logging in to the shell. [D] $btrace$b How to handle someone tracing/debugging the bot. [D] $bpromisc$b How to handle when an interface is set to promiscuous mode. [D] $bhijack$b How to handle when a commonly used hijack method attempt is detected. [L] $bservers$b Comma-separated list of servers the bot will use. [L] $bservers-ssl$b Comma-separated list of SSL servers to use if server-use-ssl is true. [L] $bservers6$b Comma-separated list of servers the bot will use (FOR IPv6). [L] $bservers6-ssl$b Comma-separated list of IPv6 SSL servers to use if server-use-ssl is true. [N] $bmsgburst$b How many messages to burst at once to server. (Too high will excess flood) [N] $bmsgrate$b How often (msecs) to dequeue msgs to the server. Only used on non-ratbox servers. Too small a value can result in Excess Flood. [L] $bgroups$b List of groups that the affected bots are a part of. [L] $brbl-servers$b Servers to use for RBL checking in channels that are +rbl. [S] $brealname$b The bot's "real name" when connecting. (supports '$n' expansion) [S] $busermode$b The bot's usermode on IRC. (Set on connect/rehash) [B] $bdeaf$b Runs bot in DEAF mode if the IRCD supports it. This will stop the IRCD from sending any channel conversations to the bot. This will decrease bandwidth/CPU used, as well as prevent sniffing of channels. [B] $bcallerid$b Run bot in CALLERID mode. This is commonly known as +g on most servers. +c bots will automatically accept messages from known users. Note that this will break msg-ident. [B] $bfish-auto-keyx$b Whether to automatically do a DH1010 FiSH Key exchange when accepting users. This is only supported if using callerid. [B] $bfish-paranoid$b Whether to automatically re-keyexchange after every message. This mitigates replay attacks. [S] $baltchars$b Define string of characters to cycle when generating alternative nicks when nick is taken. Ie: _-`[]. [S] $bjupenick$b The bot will attempt to jupe this nick. It will never use a variation of the nick though. It will still prefer 'nick' over a variation of jupenick. [S] $bnick$b The bot's preferred nickname on IRC. It will auto rotate and append 'altchars' on the end if taken. [N] $bnotify-time$b The number of seconds between server notify checks for nick, if the server does not support MONITOR. [B] $birc-autoaway$b Should the bot go away auto? [B] $bident-botnick$b Send botnick instead of shell username on connect (non-ident) [B] $boidentd$b Make bot try and use oidentd spoofing as BOTNICK. [B] $blink_cleartext$b Allows bots to link without an encryption scheme. This is needed for allowing older bots to link in. Be sure to never leave this on unless upgrading or letting an older bot link in to upgrade. [B] $bdccauth$b Boolean (0 or 1). Set to use auth checking on dcc/telnet login. [N] $bop-bots$b Number of bots to ask every time an oprequest is to be made. [N] $bin-bots$b Number of bots to ask every time an inrequest is to be made. [R] $bop-requests$b (requests:seconds) limits how often the bot will ask for ops. [R] $bclose-threshold$b (H:L) When at least H hubs but L or less leafs are linked, close all channels. [N] $blag-threshold$b Maximum acceptable server lag for the bot to send/honor requests. [N] $bkill-threshold$b When more than this many bots have been killed/klined in the last minute, close all channels. [N] $bfight-threshold$b When more than this many +obeI/-obeI/kicks have happened on a channel in 1 minute, the channel is locked down. Channel must be +protect. See also '%dhelp chanset' for +protect. [N] $bcloak-script$b Decides which script the bot cloaks as. If set to 0, a random script will be used. 1=plain bitchx, 2=crackrock, 3=neonapple, 4=tunnelvision, 5=argon, 6=evolver, 7=prevail 8=cypress 9=mIRC 10=other * $bExamples$b: '%dset realname I have no realname, I'm a bot!' '%dbotset wraith realname The best pack evar!' '%dset +servers irc.efnet.org' '%dset -servers irc.efnet.org' '%dset list servers' '%dset -servers 10' '%dbotset wraith nick -' See also: botset :leaf:setkey ### $bsetkey$b [key|rand] Sets the FiSH key for the given target. Use no key to clear the currently set key. Use 'rand' to generate a random key. See also: keyx ::sha1 ### $bsha1$b Returns the SHA1 hash of the specified string. See also: randstring, md5, sha256, hash, encrypt, encrypt_fish, decrypt, decrypt_fish ::sha256 ### $bsha256$b Returns the SHA256 hash of the specified string. See also: randstring, md5, sha1, hash, encrypt, encrypt_fish, decrypt, decrypt_fish ::simul ### $bsimul$b This allows you to simulate the specified handle typing the given text. For example: '%dsimul dweeb %dquit' This would appear just as if "dweeb" typed '%dquit'. This command will not work unless eggdrop has simul enabled in the config file. See also: su ::slowjoin: ### $bslowjoin$b [channel-options] All bots on the botnet will join the channel at the rate of one bot per 'interval-seconds'. If any channel-options are specified, the channel will be added with those options. See also: slowpart, chanset, chaninfo ::slowpart: ### $bslowpart$b All bots on the botnet will part the specified channel at the rate of one bot per 'interval-seconds' %{+n}See also: slowjoin%{-} ::status ### $bstatus$b ### $bstatus all$b Displays a condensed block of status information about the bot. is running. For example: [01:15] #bryan# status I am wtest, running [wraith] Wraith 1.2.3-cvs: 274 users Online for 00:33 (terminal mode) CPU 00:01 cache hit 28.3% OS: Linux 2.4.30 Running from: /home/wheel/bryan/.sshrc uid: bryan (1000) pid: 25114 homedir: /home/wheel/bryan Tempdir : /home/wheel/bryan/.ssh/.../ Channels: #|DAWG|Net, #|DAWG|Tcl Online as: D|Anakha!wcc@cia.nu (|DAWG|Anakha - |DAWG|Net) Server irc.inet.tele.dk:6667 (connected for 11 days) #|DAWG|Net: 6 members, enforcing "+istn" (lurking) #|DAWG|Tcl: 42 members, enforcing "+tn" (lurking) The first line tells you the bot's name, what version of Eggdrop it's running, the number of users the bot has records of, and the amount of memory being used by the userfile. The second line tells you the uptime of the bot, CPU time, and cache hit. The third shows the bot's admin, and the forth shows its current config file. The fifth line shows what operating system the bot is running on. The next two lines show Tcl information. If debug mode is enabled, additional info may be shown. Sharing information will also be shown if it's being used. Select information from modules will be displayed after the core information. If you use $b'%dstatus all'$b instead, you will see all status information available from loaded modules. See also: channel, channels%{+a}, debug%{-} ::stick ### $bstick$b [ban/exempt/invite] [channel] Makes a ban, exempt, or invite "sticky". This means that the bot will always try to keep it active on the channel. Obviously, if the channel isn't using dynamic bans, this has no effect. See also: bans, exempts, invites, unstick, +ban, +exempt, +invite ::store ### $bstore$b Stores your console settings so that they are restored automatically the next time you join the party line. ('console' calls this auto) See also: console ::strip ### $bstrip$b [modes] Allows you to remove embedded 'attribute' codes from your partyline output. Valid options are: $bb$b - remove all boldface codes $bc$b - remove all color codes $br$b - remove all reverse video codes $bu$b - remove all underline codes $ba$b - remove all ANSI codes $bg$b - remove all ctrl-g (bell) codes The mode can also be a modifier like '+c' or '-bu' or '+ru-c'. If you omit modes, it will show your current setting. NOTE: THIS CMD DOES NOT AFFECT ALL COLORS, PLEASE SEE '%dhelp color' See also: fixcodes, color, echo, login, page %{+m} ### $bstrip$b [modes] Set the strip level of another user. A master can't set their own strip flags without prefixing the modes with a '+' or '-'.%{-} ::su ### $bsu$b Lets you assume the identity of another user. If you are a global owner, this does not require a password. Otherwise, you will be asked for the user's password. $b%dquit$b returns you to your original handle. ::suicide ### $bsuicide$b [reason] Makes bot remove itself and then dies. If bot is first bot in its binary it will kill all bots running for that binary. See also: die, conf, botcmd :leaf:swhois ### $bswhois$b [server/nick] Displays a server /whois for the specified nick. Specifying the nick twice will display idle time. Specifying a server will display the whois as viewed by that server. If the nick is currently not online, a /WHOWAS is done automatically. This cmd will hide restricted username/channel info as follows: -Username will be hidden for higher level users -Users will not see +private chans unless they are in the chan or chan is -sp -Users will not see channels that are +s or +p unless they have op access there See also: find ::tcl ### $btcl$b script Executes the given string and returns the result. :leaf:topic ### $btopic$b [channel] [new topic] Changes the channel's topic, assuming the bot is a chanop or the channel is not +t (uses your current console channel). If no chanel is specified, the console channel is used. If no new topic is specified, the current topic of the channel will be displayed. See also: console :hub:trace ### $btrace$b Sends out a trace signal to another bot. If/when the trace signal returns, (and it should!) you will get an output that looks something like this: Trace result -> Valis:Stonewall:NoBoty:SomeBoty This is a list of the bots connected between you and the destination bot. It should also return the time in seconds taken for the trace to occur. See also: bots, bottree ::traffic ### $btraffic$b Shows total and daily net traffic stats since the last $b'%drestart'$b. Stats groups are IRC, Botnet, Partyline, Transfer.mod and Misc. %{+m}See also: restart%{-} :leaf:umode ### $bumode$b <+flags> Sets the given usermode flags for the bot. %{+a} See also: dump %{-} ::unlink ### $bunlink$b [reason] This disconnects the specified bot from the botnet (assuming it was linked in the first place). Some bots (sharebots in particular) might not allow you to unlink them. If "*" is specified as the parameter, all bots will be unlinked. See also: %{+n}link, %{-}bots, downbots%{+n}, newleaf, bottree%{-}%{+a}, newhub%{-} ::unstick ### $bunstick$b [ban/exempt/invite] [channel] Makes a "sticky" ban, exempt, or invite normal again. See also: bans, exempts, invites, stick, -ban, -exempt, -invite ::update: ### $bupdate$b The bot will attempt to start the new binary and kill itself. The specified binary will need to be in the same directory as the bot is running in. See also: whois :hub:uplink: ### $buplink$b [uplink] Changed a bot's preferred botnet uplink. Leave 'uplink' blank to clear a bot's uplink, which will make it stay on any hub that it can connect to. An uplink must be a hub-bot. See also: hublevel, chaddr ::uptime ### $buptime$b Displays the bot's current uptime. See also: status ::userlist: ### $buserlist$b A list of all users is displayed. Users with higher flags than you will not appear in the list. See also: match, whois ::version: ### $bversion$b Displays the pack version and uname. See also: botversion, netversion, about%{+m|m}, status%{-} :leaf:voice ### $bvoice$b [channel|*] Will give a +v voice to a person you specify, so long as the bot is opped on that channel. Specify * for all channels. See also: devoice ::w: ### $bw$b The output of 'w' will be displayed over DCC, bot the shell the bot is running on. %{+i}See also: netw%{-} ::who ### $bwho$b [bot] Displays a list of users on the local bot. For example: [23:21] #bryan# who Party line members: (* = owner, + = master, @ = op) *bryan telnet@xxx.atlaga.adelphia.net (idle 17m) *bryan telnet@xxx.atlaga.adelphia.net Bots connected: -> wortel (05 Dec 16:32) eggdrop v1.6.15 The first section is people on your current channel (the party line, if you haven't changed channels) who are on the bot. A '*' will precede the handle if they are a bot owner, "+" if they are a master, "%%" if they are a botnet master, or "@" if they are an op. The user's nickname, hostname, and possibly an idle time and/or away message will be displayed.%{+n} Owners will also see the user's dcc idx.%{-} The next section is bots directly linked to the current bot. The arrow indicates which bot initiated the connection. The right arrow means this bot connected to wortel. A left arrow means the remote bot linked to this bot. A '+' next to the arrow indicates that the bot is sharing userfiles with us. The connection time (05 Dec 16:32) and bot version are also shown, as well as what is specified under "network" in the config file.%{+n} Owners will also see the bot's dcc idx.%{-} The final section (not shown in example above) is a list of users on the local bot who are not on your channel. This will be omitted if there are no users on other channels. If you specify the name of a remote bot, for example $b'%dwho valis'$b, the who request will be sent to that bot instead. The remote bot must be linked to the botnet. %{+m} Masters may also see "(con )" after a user's entry, which shows the user's console flags/modes (see $b'%dhelp console'$b). In the final section (users that aren't on the current channel), masters will see the actual channels other users are on. Also, people in the filesystem will be listed (as being in channel "files") if the filesys module is loaded. A '+' next to the nickname here means the user has access to return to the party line.%{-} See also: whom ::whoami ### $bwhoami$b Shows your current handle and to what bot you are connected. See also: whom ::whois: ### $bwhois$b [nickname] Shows you stored information about a user record. If no nickname is specified, your own record is shown. Five headings are displayed: $bHANDLE$b - the handle (nickname) of the user $bBOTNICK$b - This user record is a bot. $bPASS$b - "yes" if she has a password set; "no" otherwise (bots dont use passwords) $bFLAGS$b - the list of flags for this user (see below) $bLAST$b - the time or date that the user was last on irc or the partyline Valid flags: $bd$b = deop (user cannot be opped) $bk$b = autokick (user is kicked and banned automatically) $bo$b = op (user has op access; this is not auto-op) $bq$b = quiet (user cannot be voiced) $bv$b = voice (user gets +v automatically from +y bots) Valid user-only flags: $ba$b - admin (user has absolute control over botnet minus a few perm-owner only cmds) Be careful who you give this to, only the perm-owner of the net should even have it. $bi$b - hub access (user has hub DCC access) $bj$b - leaf access (user has leaf DCC access) $bm$b = master (user has more access to the botnet cmds than a normal user) $bn$b = owner (user has just about full access to bot) $bO$b = autoop (user is auto-opped; this does not require any authentication) $bp$b - partyline-chat (user can speak on partyline. [$brequires +j or +i$b]) $bx$b = flood-exempt (user is exempt from flood kicks) Valid bot-only flags: $bB$b = backup-bot (bot will only join chans marked +backup, see '%dhelp chaninfo') $bc$b - chat-bot (bot accepts DCC chat on irc) $bf$b = flood-bot (bot reacts to floods based on [cpu intensive] flood settings) $bl$b = limit-bot (bot sets limit in all channels, see '%dhelp chaninfo') [$bCPU INTENSIVE$b] $br$b = resolve (bot resolves clients in to match against userlist) [$bCPU INTENSIVE+$b] $bu$b - update-bot (see doc/UPGRADING) $by$b = voice-bot (bot gives out voices/auto-ops in chans) [$bCPU INTENSIVE$b] $bFlags followed by a '=' may also be used for a specific channel record.$b Hostmasks for the user are displayed on the following lines. If the user is a bot, there will be a line below which says "ADDRESS:" and gives the bot's telnet address. Some user entries may have "EMAIL:" and "INFO:" entries too. There may be additional information displayed depending on the modules loaded, such as filesys and console. %{+m} Masters: if the user has a comment, you will see it under "COMMENT:".%{-} See also: match, who, whom%{+m|m}, chattr, chaninfo%{-} ::whom ### $bwhom$b [channel|*] Displays a list of users on the botnet. '*' is assumed if no parameters are given. For example: [23:12] #bryan# whom Nick Bot Host ---------- --------- -------------------- *bryan Anakha telnet@xxx.atlaga.adelphia.net [idle 8m] *BitchSmack Anakha telnet@xxx.atlaga.adelphia.net Total users: 2 Each user's nickname will be listed in the first column, preceded by a "*" if they are a bot owner, "+" if they are a master, "%%" if they are a botnet master, or "@" if they are an op. In the next column, the bot the user is connected to will be displayed. In the third column, the host is shown. If the user is away, the away message will be shown. Likewise, if they are idle, their idle time will be displayed. To see what users are on a different channel, you may specify a channel number/name. If you specify "*" as the channel, all users on all botnet channels will be shown. See also: who, chat%{+m}, bots%{-} ::end