[00:14] #simple# help addlog ### addlog 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. [00:14] #simple# help console ### console [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: j joins, parts, quits, and netsplits on the channel k kicks, bans, and mode changes on the channel m private msgs, notices and ctcps to the bot p public text on the channel s server connects, disconnects, and notices Masters only: b information about bot linking and userfile sharing d misc debug information c commands o misc info, errors, etc (IMPORTANT STUFF) w wallops (make sure the bot sets +w in init-server) Owners only (these have to be enabled in the config file via "set raw-log"): h raw share traffic r raw incoming server traffic t raw botnet traffic v raw outgoing server traffic There are also 8 user-defined console modes ('1' through '8'). 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. ### console [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. [00:14] #simple# help match ### match [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: .match 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: .match 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: .match 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: .match 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: .match 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. ### match [[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: .match *.edu 16 25 This would show results 16 through 25 matching any users with a hostmask that ends with ".edu". [00:14] #simple# help whois ### whois Shows you stored information about a user record. Five headings are displayed: HANDLE - the handle (nickname) of the user PASS - "yes" if she has a password set; "no" otherwise NOTES - number of stored notes waiting for the user FLAGS - the list of flags for this user (see below) LAST - the time or date that the user was last on the channel Valid global flags: a - autoop (user is opped automatically upon joining any channel) b - bot (user is a bot) c - common (see '.help common') d - deop (user cannot gain ops in any channel) e - nethack-exempt (user is exempted from stopnethack protection) f - friend (user is not punished for flooding, etc on any channel) g - autovoice (user is voiced automatically upon joining any channel) h - highlight (use bold text in help/text files) j - janitor (user is a file-area master) k - autokick (user is kicked and banned automatically) l - halfop (user has halfop access to all of the bot's channels) m - master (user has access to almost every feature of the bot) n - owner (user has absolute control over the bot) o - op (user has op access to all of the bot's channels) p - party-line (user has access to the partyline) q - quiet (user cannot gain voice on any channel) r - dehalfop (user cannot gain halfops on any channel) t - botnet master (user has access to features related to the botnet) u - unshared (user's user record is not sent to other bots) v - voice (user gets +v automatically on +autovoice channels) w - wasop-test (needs wasop test for +stopnethack procedure) x - xfer (user has filesystem access) y - autohalfop (user is auto-halfopped upon joining any channel) z - washalfop-test (needs washalfop test for +stopnethack procedure) There are also 26 user-defined global flags (A-Z). Users can also have flags specific to a channel: a - autoop (user is opped automatically upon joining the channel) d - deop (user cannot gain ops on the channel) e - nethack-exempt (user is exempted from stopnethack protection) f - friend (user is not punished for flooding, etc) g - autovoice (user is voiced automatically upon joining the channel) k - autokick (user is kicked and banned automatically) l - halfop (user has halfop access to the channel) m - master (user is a channel master) n - owner (user is a channel owner) o - op (user has op access to the channel) q - quiet (user cannot gain voice on the channel) r - dehalfop (user cannot gain halfops on the channel) v - voice (user gets +v automatically if the channel is +autovoice) w - wasop-test (needs wasop test for +stopnethack procedure) y - autohalfop (user is auto-halfopped upon joining the channel) z - washalfop-test (needs washalfop test for +stopnethack procedure) There are also 26 user-defined channel flags (A-Z). 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. For bots, there are additional flags seen under the "BOTATTR:" section. Valid botflags include: s - share aggressively (SEND userfile to a passive bot) p - share passively (ACCEPT userfile from an aggressive bot) g - global share (bot is sharing all channels) h - hub (bot is autolinked at highest priority) a - alternate (bot is autolinked if no hub bots can be linked) l - leaf (bot is not allowed to link other bots onto the botnet) r - reject (bot will not be allowed to link to the botnet) i - isolate (isolate the party line across a botlink) There are also 10 user-defined bot flags (0-9). Bots may also have +s (share) settings for individual channels. Masters: if the user has a comment, you will see it under "COMMENT:". See also: match, who, whom, chattr, botattr [00:14] #simple# help +bot ### +bot [address[:bot port[/user port]]] [host] Creates a user record for a new bot with the handle given. If no hostmask is specified, the bot will try to automatically add a host from the channel. The bot's address will be used in linking. If the bot has a separate port for bots and users they should be separated with a slash (/). See also: -bot [00:14] #simple# help botattr ### botattr [flags] [channel] Lets you view and change the bot flags for a bot. For example, to set "Fred1" +share and -hub, you would do '.botattr Fred1 +s-h.' Whether or not you change any flags, it will show you the bot's flags afterwards. To get a list of the flags possible, see '.help whois'. NOTE: This command is NOT used to replace .chattr. It modifies bot flags, such as s, h, a, u, etc. NOTE: You can't use this command on bots which are directly linked to your bot at the current moment. See also: whois, chattr [00:14] #simple# help chhandle ### chhandle Changes the handle of a user. For example, to change the handle of user 'gavroche' to 'jamie', you would use 'chhandle gavroche jamie'. See also: chpass [00:14] #simple# help chpass ### chpass [newpassword] 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. NOTE: In previous versions, setting a password to "nopass" would clear a user's password -- with encrypted passwords. This no longer works! See also: chhandle [00:14] #simple# help +host ### +host [handle] 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. See also: -host [00:14] #simple# help -bot ### -bot This is exactly the same as '.-user' (it removes a user record). It is included for convenience. See also: +bot, +user, -user [00:14] #simple# help link ### link [via-bot] Attempts to link a bot to the botnet. The local bot must have a bot record for the remote bot in order for it to be linked (see '.help +bot'). If you do not set a password on both bots, one will be automatically negotiated the first time they link. If you specify a "via-bot", a request will be sent to that bot to link to "bot-to-link". See also: unlink, +bot, -bot [00:14] #simple# help chaddr ### chaddr 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 (/). See also: link, +bot [00:14] #simple# help boot ### boot [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, though it may be rejected if that bot does not allow remote boots. You can not boot a bot owner. [00:14] #simple# help unlink ### unlink 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: link, +bot, -bot, bots, bottree [00:14] #simple# help banner ### banner Displays a message to everyone currently using the bot's party line or file area. This is useful for announcing that the bot will go down, etc. [00:14] #simple# help dccstat ### dccstat 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: SOCK the socket number of this connection (always unique) ADDR the ip address mask of the host the bot is connected to, if applicable PORT the port number being used for this connection NICK the handle of the user or bot, if applicable HOST the hostname corresponding to the IP address, if available TYPE the type of dcc connection (see below) The types of connections currently possible are as follows (but more are being added all the time): CHAT dcc-chat partyline user PASS user entering dcc chat (being asked for password) SEND user sending a file GET sending a file to a user GETP pending get (waiting for the user to acknowledge) LSTN telnet listening port (in place of a hostname, it will show the callback procedure name, or a mask of acceptable handles) T-IN incoming telnet user (being asked for handle) FILE user in dcc-chat file area BOT connected bot (botnet connection) BOT* pending bot link (waiting for acknowledgement) RELA user in relay connection to another bot >RLY bot being relay'd to (one for each "RELA") CONN pending telnet connection (chat, relay, bot-link, etc) NEW new user via telnet (entering a handle) NEWP 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: C in file area, but allowed to return to party line P party line access only T telnet connection (instead of dcc chat) E echo is on P paging is on The flags for 'BOT' are: P ping sent, waiting for reply U user-file sharing is active C local bot initiated the connection O user-file offered, waiting for reply S in the process of sending the user-file G in the process of getting the user-file W warned this bot to stop hubbing L leaf-only bot (not allowed to be a hub) I bot is currently in the 'linking' stage A bot is being aggressively shared with For 'CHAT' users, the party-line channel is also listed. [00:14] #simple# help chattr ### chattr [flags] [channel] This lets you view and change the flags for a user. For example, to give Lamer the p and f flags: .chattr Lamer +pf To remove Denali from the global op list: .chattr Denali -o You may also do any combination of the above: .chattr Fred1 -m+xj-o You can also change the flags for Usagi on a specific channel by supplying the channel after the attributes: .chattr Usagi -m+dk-o #blah Changing global and channel specific flags within the same command line is also possible (global +f, +o #lamer): .chattr 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 '.help whois'. NOTES: Only the owner may add or remove the 'n' (owner), 'm' (master) or 't' (botnet master) flags. It is pointless to -n a permanent owner. You must remove the permanent owner in the config file. See also: whois, botattr [00:14] #simple# help save ### save 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, rehash, backup [00:14] #simple# help backup ### backup This makes the bot write a backup of its entire user list to the disk. If the channels module is loaded, this will also write a backup of the channels file. This is useful if you feel the need to backup the userfile and channel settings. See also: reload, rehash, save [00:14] #simple# help reload ### reload Reloads the bot's user file, discarding any changes made since the last '.save' command or hourly user file save. Sharebots should probably never do this. See also: save, rehash [00:14] #simple# help status ### status ### status all Displays a condensed block of status information about the bot. is running. For example: [01:15] #Wcc# status I am Anakha, running eggdrop v1.6.16+stripping: 171 users (mem: 315k) Online for 14 days, 02:50 (background) CPU 71:29 cache hit 40.3 Admin: Wcc Config file: eggdrop.conf OS: FreeBSD 4.8-RELEASE-p1 Tcl library: /usr/local/lib/tcl8.4 Tcl version: 8.4.2 (header version 8.4.2) Loaded module information: 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 '.status all' instead, you will see all status information available from loaded modules. See also: channel, set, debug [00:14] #simple# help traffic ### traffic Shows total and daily net traffic stats since the last '.restart'. Stats groups are IRC, Botnet, Partyline, Transfer.mod and Misc. See also: restart [00:14] #simple# help uptime ### uptime Displays the bot's current uptime. See also: status [00:14] #simple# help +user ### +user [hostmask] Creates a new user record for the handle given. The new user record will have no flags, an optional hostmask, and no password. See also: -user, +host, -host [00:14] #simple# help +ignore ### +ignore [%] [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 [00:14] #simple# help comment ### comment 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. [00:14] #simple# help binds ### binds [type/match] [all] Shows the Tcl bindings in effect, in a list similar to this: Command bindings: TYPE FLGS COMMAND HITS BINDING (TCL) msg -|- rose 0 msg_rose msg -|- go 0 msg_go dcc m|- bind 0 cmd_bind pub -|- gross 0 pub_gross The fields should be self-explanatory, except for HITS, which records the number of times that binding has been called. If not, go read the file 'doc/tcl-commands.doc' for help on the Tcl bind command. Note that the builtin commands are now shown. You may also specify a type of binding to show (i.e. '.binds msg') or you can specify a wild card match (i.e. '.binds *seen*') if you want to narrow the field a bit. The wild card matches will match against the TYPE, COMMAND and BINDING fields. You can view more binds by adding 'all' to the end of the command. See also: tcl [00:14] #simple# help ignores ### ignores [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 '.-ignore' to remove them. Here is a sample permanent ignore: [ 1] *!*@217.156.44.184 (perm) Wcc: go away Started 523 days ago The number (1) can be used to reference the ignore if you wish to remove it (see '.help -ignore'). 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 (Wcc). The last line shows when the ignore was added. Here is a sample temporary ignore: [ 10] blah!blah@blah.cc (expires in 1 day) Wcc: 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 '.ignores ', it will list all the ignores that match against your wildcard. See also: +ignore, -ignore [00:14] #simple# help -user ### -user Removes the specified handle's user record. See also: +user, +bot, -bot [00:14] #simple# help -ignore ### -ignore 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 [00:14] #simple# help dccstat ### dccstat 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: SOCK the socket number of this connection (always unique) ADDR the ip address mask of the host the bot is connected to, if applicable PORT the port number being used for this connection NICK the handle of the user or bot, if applicable HOST the hostname corresponding to the IP address, if available TYPE the type of dcc connection (see below) The types of connections currently possible are as follows (but more are being added all the time): CHAT dcc-chat partyline user PASS user entering dcc chat (being asked for password) SEND user sending a file GET sending a file to a user GETP pending get (waiting for the user to acknowledge) LSTN telnet listening port (in place of a hostname, it will show the callback procedure name, or a mask of acceptable handles) T-IN incoming telnet user (being asked for handle) FILE user in dcc-chat file area BOT connected bot (botnet connection) BOT* pending bot link (waiting for acknowledgement) RELA user in relay connection to another bot >RLY bot being relay'd to (one for each "RELA") CONN pending telnet connection (chat, relay, bot-link, etc) NEW new user via telnet (entering a handle) NEWP 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: C in file area, but allowed to return to party line P party line access only T telnet connection (instead of dcc chat) E echo is on P paging is on The flags for 'BOT' are: P ping sent, waiting for reply U user-file sharing is active C local bot initiated the connection O user-file offered, waiting for reply S in the process of sending the user-file G in the process of getting the user-file W warned this bot to stop hubbing L leaf-only bot (not allowed to be a hub) I bot is currently in the 'linking' stage A bot is being aggressively shared with For 'CHAT' users, the party-line channel is also listed. [00:14] #simple# help debug ### debug 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. [00:14] #simple# help rehash ### rehash Reloads the bot's config file, which resets all changes made via the '.set' command and reloads any Tcl scripts your config loads. It also saves and reloads the user file from disk, just to give it some exercise. See also: save, reload, restart, rehelp, relang [00:14] #simple# help restart ### restart Restarts the Tcl interpreter, wipes all timers, reloads all modules, and reloads the config file for the bot (which resets any changes made via the '.set' command and reloads any Tcl scripts your config loads). As with the '.rehash' command, it also saves and reloads the user file from disk. See also: rehash, reload, save [00:14] #simple# help module ### module [modulename] Reports the names of currently loaded modules, including dependencies and a status report. If you specify a module name, only information on that module will be displayed. See also: modules, loadmod, unloadmod [00:14] #simple# help die ### die [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 ". [00:14] #simple# help simul ### simul This allows you to simulate the specified handle typing the given text. For example: .simul dweeb .quit This would appear just as if "dweeb" typed ".quit". This command will not work unless eggdrop has simul enabled in the config file. Please use this command ethically. [00:14] #simple# help loadmod ### loadmod Loads the specified module. See also: modules, module, unloadmod [00:14] #simple# help unloadmod ### unloadmod Unloads the specified module. See also: modules, module, loadmod [00:14] #simple# help language No help available on that. [00:14] #simple# help set ### set [value] Changes the values of config-file settings of the bot, or, if used without a value parameter, shows the current value of a setting. Any config file setting changed with this command will be reset when the config file is reloaded. Here are the variables that can be modified with this command (note that other modules can add variables): botnet-nick userfile motd paranoid-telnet-flood my-ip telnet-banner admin use-telnet-banner temp-path notify-newusers owner my-hostname nat-ip dcc-sanitycheck network whois-fields username version firewall telnet-flood ignore-time dcc-flood-thr hourly-updates connect-timeout resolve-timeout dupwait-timeout require-p keep-all-logs open-telnets stealth-telnets handlen reserved-portrange console default-flags log-time max-logsize quick-logs logfile-suffix quiet-save sort-users die-on-sighup die-on-sigterm remote-boots max-dcc max-logs protect-telnet ident-timeout share-unlinks allow-dk-cmds userfile-perm switch-logfiles-at Use '.help set ' for more info on each variable. [00:14] #simple# help tcl ### tcl Executes the specified Tcl command. See doc/tcl-commands.doc for details on Tcl commands added to Eggdrop, and visit http://tcl.activestate.com/ for more information on Tcl. [00:14] #simple# help rehelp ### rehelp This command forces the bot to recheck all of its help files for changes. See also: save, reload, restart, relang [00:14] #simple# help modules ### modules [botname] Displays a list of currently loaded modules. If a botname is specified, the modules currently loaded on that bot will be displayed instead. See also: module, loadmod, unloadmod [00:14] #simple# help +lang ### +lang Adds a new language to the top of the language list. All sections are rechecked to test if there are language files supporting the language. See also: -lang, +lsec, -lsec, lstat, relang [00:14] #simple# help -lang ### -lang Removes a language from the language list. If possible, the next available language will be loaded. See also: +lang, +lsec, -lsec, lstat, relang [00:14] #simple# help +lsec ### +lsec
Adds a new language section. The bot tries to load the section with the preferred language if possible. See also: -lang, +lang, -lsec, lstat, relang [00:14] #simple# help -lsec ### -lsec
Removes a language section. The language bindings are not removed, however. See also: +lang, -lang, +lsec, lstat, relang [00:14] #simple# help lstat ### lstat Shows the language statistics: all selected languages and a list of all language sections. See also: +lang, -lang, +lsec, -lsec, relang [00:14] #simple# help relang ### relang Try to find language files with a more preferred language than right now. See also: +lang, -lang, +lsec, -lsec, lstat [00:14] #simple# help ldump ### ldump Dumps all language data to the partyline. See also: +lang, -lang, +lsec, -lsec, relang, lstat [00:14] #simple# help seen ### seen Shows the last time was seen by the bot. [00:14] #simple# help store ### store Stores your console settings so that they are restored automatically the next time you join the party line. [00:14] #simple# help notes ### notes index ### notes read <# or ALL> ### notes erase <# or ALL> Lets you manipulate notes that have been stored for you while you were gone. '.notes index' gives a listing of all the stored notes: who they are from, and when they were left. '.notes read' lets you read some or all notes, according to a list of numbers and/or intervals separated by semicolon. '.notes erase' erases notes after you are finished with them. Example: .notes erase 2-4;8;16- This will erase notes 2-4, note 8, and all notes after (and including) 16. See also: whom, note, noteigns [00:14] #simple# help +noteign ### +noteign [user] Add a new ignore to the user's note ignore list. The ignoremask is matched against the handle of a user attempting to send a note. Wildcards are permitted. See also: -noteign, noteigns [00:14] #simple# help -noteign ### -noteign [user] Remove an existing ignore from the user's note ignore list. See also: +noteign, noteigns [00:14] #simple# help noteigns ### noteigns [user] List all note ignores for the user. All notes sent from users who's handle matches one of these ignore masks will be rejected. See also: +noteign, -noteign [00:14] #simple# help note ### note Sends a private note to a user on the partyline. If that user is currently logged in and not marked as away, the message will be received immediately. Otherwise, it will be stored and displayed the next time that user joins the partyline. To send a note to someone on a different bot, add "nick@bot" to the nickname. See also: whom, notes [00:14] #simple# help fwd ### fwd [destination] This allows you to set a 'forwarding address' for notes sent to a user. This means if a note needs to be stored for the user, the bot will attempt to pass it on to the given user@bot. If the bot is not online then the note is still stored locally. If the remote user doesn't exist, the note is lost. [00:14] #simple# help files ### files Moves you into the file transfer sub-system, if it has been enabled on this bot. From there you can browse through the files online and use dcc file transfers to download and upload. [00:14] #simple# help flush ### flush This clears the resync buffer for a share-bot. This is useful if you want to start over with a userfile transfer. You can unlink the sharebots, flush the resync buffer, and relink. See also: link, unlink, chattr, botattr [00:14] #simple# help act ### act [channel] Performs an action on the current console channel (or otherwise specified channel), as if the bot did it. This is just like the /me command in mIRC. See also: say [00:14] #simple# help halfop ### halfop [channel] Gives halfops (+h) to the specified user, so long as the bot has ops on the given channel. If no channel is specified, the current console channel will be used. See also: console, dehalfop [00:14] #simple# help say ### say [channel] Sends the specified text to the given channel, as if the bot "said" it. If a channel is not specified, the current console channel will be used. See also: console, act, msg [00:14] #simple# help resetbans ### resetbans [channel] Resets the ban list for the specified channel. Any bans on the channel that aren't in the bot's 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 but should be, they will be added. See also: resetexempts, resetinvites, bans, +ban, -ban [00:14] #simple# help deop ### deop [channel] Removes ops (-o) from the specified user, so long as the bot has ops on the given channel. If no channel is specified, the current console channel will be used. See also: console, op [00:14] #simple# help invite ### invite [channel] Invites someone from irc to given channel. If no channel is specified, the current console channel will be used. 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. See also: console [00:14] #simple# help topic ### topic [channel] [text] Changes the specified channel's topic, assuming the bot is a chanop or the channel is not +t. If a channel is not specified, the current console channel will be used. If no text is specified, the current topic will be displayed. See also: console [00:14] #simple# help resetinvites ### resetinvites [channel] Resets the invite list for the channel. This command behaves exactly like resetbans, except it is for invites. See also: resetbans, resetexempts, invites, +invite, -invite [00:14] #simple# help op ### op [channel] Gives ops (+o) to the specified user, so long as the bot has ops on the given channel. If no channel is specified, the current console channel will be used. See also: console, deop [00:14] #simple# help channel ### channel [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, 36 members, mode +tnl 43: This means that the bot is on the channel #hiya, which has a total of 36 members (including itself), and the channel mode is +tnl 43. If the bot isn't on the channel it is supposed to be on, it will say "Desiring channel #hiya, 0 members, mode +:" instead. Next is a list of the users on the channel, with each entry looking like this: NICKNAME HANDLE JOIN IDLE USER@HOST @Wcc Wcc --- N Wcc@blah.atlaga.adelphia.net The "@Wcc" means that the user's nickname is Wcc and that he is a chanop. The second "Wcc" is the user's handle. 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 user's status flag. These are the same as the flags listed in .help whois. Global flags are uppercase. Only the 'highest' flag is displayed. The last two fields are the user's idle time, and the user@host they are connecting from See also: console, whois, status [00:14] #simple# help dehalfop ### dehalfop [channel] Removes halfops (-h) from the specified user, so long as the bot has ops on the given channel. If no channel is specified, the current console channel will be used. See also: console, halfop [00:14] #simple# help resetexempts ### resetexempts [channel] Resets the exempt list for the channel. This command behaves exactly like resetbans, except it is for exempts. See also: resetbans, resetinvites, exempts, +exempt, -exempt [00:14] #simple# help devoice ### devoice [channel] Removes a voice (-v) from the specified user, so long as the bot has ops on the given channel. If no channel is specified, the current console channel will be used. See also: console [00:14] #simple# help voice ### voice [channel] Gives a voice (+v) to the specified user, so long as the bot has ops on the given channel. If no channel is specified, the current console channel will be used. See also: console, devoice [00:14] #simple# help msg ### msg Sends a private message to a nick on IRC from the bot. See also: say, act [00:14] #simple# help adduser ### adduser [!] [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 the 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. If the user is using a different nickname than the bot normally knows them by, you can specify their "handle" (the nickname that the bot remembers them by). If you want to add a user using a static hostmask, prefix their nick with a '!'. For example: .adduser !Lamer See also: deluser, +host, -host, +user, -user [00:14] #simple# help deluser ### deluser 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 global master. See also: adduser, +user, -user, +host, -host [00:14] #simple# help reset ### reset [channel] Clears out the bot's channel information and forces it to gather the information from the server all over again, as if it had just joined the channel. It's not really very useful, but it could be if an odd bug causes the channel information to get scrambled. You can omit the channel name to reset ALL channels. See also: channel [00:14] #simple# help servers ### servers Lists the servers contained in the bot's server list. This is the list the bot rotates through when changing servers. It starts with a static list which is loaded from the config file when the bot is started. After that, you can add servers with the '.jump' command. The server list will indicate which server the bot is currently on. For example: irc.arcti.ca:6667 (irc.arcti.ca) <- I am here See also: jump [00:14] #simple# help jump ### jump [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 the server list (see '.help servers'). If you specify a server, it will jump to that server (the default port is 6667, unless you specified a different default port in your config file). If the server is not in the server list already, it will be added to it. Jumping servers ALWAYS makes the bot lose ops! Be careful! Remember, you can't specify a password without specifing a port as well. See also: servers [00:14] #simple# help dump ### dump Dumps the given text to the IRC server. See http://www.ietf.org/rfc/rfc1459.txt for more information on the IRC protocol. [00:14] #simple# help clearqueue ### clearqueue Removes all msgs from the specified queue. The queue argument can be one of: mode, server, help, all [00:14] #simple# help info ### info [channel] [info-line] Sets your info line. This line is shown via the /msg commands 'who' and 'whois'. If you have set greet on, it is also shown when you joins the channel. If the info line begins with an '@', then it is "locked", and tou may no longer change it. See also: chinfo [00:14] #simple# help +ban ### +ban [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 make it 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 [00:14] #simple# help -ban ### -ban [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 [00:14] #simple# help bans ### bans [[channel/all]/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 '-ban'). 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. 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, chanset, chaninfo, stick, unstick [00:14] #simple# help stick ### stick [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, even if the channel is using dynamic bans. Obviously, if the channel isn't using dynamic bans, this has no effect. See also: unstick, bans, exempts, invites, +ban, +exempt, +invite [00:14] #simple# help +exempt ### +exempt [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 [00:14] #simple# help -exempt ### -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 [00:14] #simple# help exempts ### exempts [[channel/all]/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) Wcc: requested Created 01:15 The number (3) can be used to reference the exempt if you wish to remove it (see '-exempt'). 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 (Wcc). 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. 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, chanset, chaninfo, stick, unstick [00:14] #simple# help unstick ### unstick [ban/exempt/invite] [channel] Makes a "sticky" ban, exempt, or invite normal again. See also: stick, bans, exempts, invites, -ban, -exempt, -invite [00:14] #simple# help +invite ### +invite [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 [00:14] #simple# help -invite ### -invite 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 [00:14] #simple# help invites ### invites [[channel/all]/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) Wcc: requested Created 01:15 The number (3) can be used to reference the invite if you wish to remove it (see '-invite'). 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 (Wcc). 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. 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, chanset, chaninfo, stick, unstick [00:14] #simple# help +chrec ### +chrec [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, +chan, -chan, chattr [00:14] #simple# help -chrec ### -chrec [channel] Removes a channel record for the specified user, including channel lastons, info lines, and flags. See also: +chrec, chattr [00:14] #simple# help chaninfo ### chaninfo This lists all the settings for the bot on the given channel. It shows any of the following: chanmode These modes are enforced on the channel. Both + and - modes can be enforced. idle-kick Kick idle users that are not +f or above on the channel after how many minutes (set this to 0 to disable). ATTENTION: Due to security concerns, only permanent owners can set the need-* modes. need-op This Tcl command will be executed when the bot doesn't have ops. need-invite This Tcl command will be executed when the bot needs an invite to the channel (i.e. the channel is +i). need-key This Tcl command will be executed when the bot needs the key to the channel to join. need-unban This Tcl command will be executed when the bot needs to be unbanned from the channel to join. need-limit This Tcl command will be executed when the bot needs the channel limit to be raised to join. stopnethack-mode This setting will make the bot de-op anyone who enters the channel with serverops. There are seven different modes for this settings: 0 turn off 1 isoptest (allow serverop if registered op) 2 wasoptest (allow serverop if user had op before split) 3 allow serverop if isop or wasop 4 allow serverop if isop and wasop 5 If the channel is -bitch, see stopnethack-mode 3 If the channel is +bitch, see stopnethack-mode 1 6 If the channel is -bitch, see stopnethack-mode 2 If the channel is +bitch, see stopnethack-mode 4 revenge-mode This settings defines how the bot should punish bad users when revenging. There are four possible settings: 0 Deop the user. 1 Deop the user and give them the +d flag for the channel. 2 Deop the user, give them the +d flag for the channel, and kick them. 3 Deop the user, give them the +d flag for the channel, kick, and ban them. ban-time Set here how long temporary bans will last (in minutes). If you set this setting to 0, the bot will never remove them. exempt-time 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. invite-time 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. aop-delay This is used for autoop, autohalfop, autovoice. If an op or voice joins a channel while another op or voice is pending, the bot will attempt to put both modes on one line. aop-delay 0 No delay is used. aop-delay X An X second delay is used. aop-delay X:Y Random delay between X and Y is used. The following can be set + or - (e.g. .chanset #channel -enforcebans) enforcebans When a ban is set, kick people who are on the channel and match the ban? dynamicbans 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. userbans 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. dynamicexempts 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 a 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. userexempts 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. dynamicinvites 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. userinvites 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. autoop Op users with the +o flag as soon as they join the channel? This is insecure and not recommended. autohalfop Halfop users with the +l flag as soon as they join the channel? This is insecure and not recommended. bitch Only let users with the +o flag have op on the channel? greet Say a user's info line when they join the channel? protectops Re-op a user with the +o flag if they get deopped? protecthalfops Re-halfop a user with the +l flag if they get dehalfopped? protectfriends Re-op a user with the +f flag if they get deopped? statuslog Log the channel status line every 5 minutes? This shows the bot's status on the channel (op, voice, etc.), the channel's modes, and the number of +m, +o, +v, +n, +b, +e, and +I users on the channel. A sample status line follows: [01:40] @#chan (+istn) : [m/1 o/1 v/4 n/7 b/1 e/5 I/7] revenge Remember people who deop/kick/ban the bot, valid ops, or friends and punish them? Users with the +f flag are exempt from revenge. revengebot This is similar to to the 'revenge' option, but it only triggers if a bot gets deopped, kicked or banned. autovoice Voice users with the +v flag when they join the channel? secret Prevent this channel from being listed on the botnet? shared Share channel-related user info for this channel? cycle Cycle the channel when it has no ops? dontkickops Do you want the bot not to be able to kick users who have the +o flag, letting them kick-flood for instance to protect the channel against clone attacks? inactive 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. seen Respond to seen requests in the channel? The seen module must be loaded for this to work. nodesynch 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. The following are flood settings, they are set via ".chanset 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. flood-chan 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. flood-ctcp 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. flood-join 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. flood-kick 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. flood-deop 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. flood-nick 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. See also: +chan, -chan, chansave, chanset [00:14] #simple# help chinfo ### chinfo [channel] [info-line/none] Sets the information line for a user. This line is shown via the /msg commands 'who' and 'whois'. If you have set greet on, it is also shown when the user joins the channel. 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 [00:14] #simple# help chanload ### chanload Reloads the channel settings from the file defined by the "chanfile" setting. This allows you to return to a previous setting if you've really messed things up. See also: chansave, chanset, chaninfo, +chan, -chan [00:14] #simple# help chansave ### chansave Saves the channel settings to the file defined by the "chanfile" setting. This file is reloaded during rehash and restarting the bot. See also: chanload, chanset, chaninfo, +chan, -chan [00:14] #simple# help chanset ### chanset Allows you to change the channel settings (see 'chaninfo' for the settings) for one specific channel or all channels. Use '*' to to apply the change to all channels. Changes are used until the next rehash/chanload/restart, and are saved whenever the channel settings are saved. See also: chansave, chanload, chaninfo, +chan, -chan [00:14] #simple# help +chan ### +chan [options] Adds a channel to the bot's channel list. This channel is not permanent unless "chanfile" has been set in the config file. If it has, it is saved every time the userfile is saved, or by using '.chansave'. If options are specified, the channel will be configured with the options. See also: -chan, chanset, chaninfo [00:14] #simple# help -chan ### -chan This removes ALL information about a channel from the bot. It's not made permanent unless the channel file has been saved. If you remove a channel by accident, you can undo your changes with the 'chanload' command. Note that you will lose any other changed made since the last save. *** IMPORTANT *** This erases ALL information about the channel, including channel settings, bans, exempts, invites, and channel records for users -- EVERYTHING. DO NOT use it to have the bot temporarily leave a channel. This command is for abandoning a channel (e.g. the channel will have to be redefined and all user flags for that channel will have to be redone. Even if you don't have chanfile defined, it will still erase all the channel records for users on the next userfile save. See also: +chan, chansave, chanload, chanset, chaninfo