help.txt 91 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101
  1. ::+ban
  2. ### $b+ban$b <hostmask> [channel] [%%<XdXhXm>] [comment]
  3. Adds a ban to the list of bans stored on the bot, with optional comment and
  4. ban time. This ban is stored with your handle as the creator, and will be
  5. in effect for every channel if no channel is specified. Prefixing a comment
  6. with '*' will set the ban sticky. Prefixing a comment with '@' will make the
  7. comment only visible within the bot, and not used as the ban reason. Ban
  8. time has to be expressed in days, hours, and/or minutes.
  9. See also: bans, -ban, stick, unstick
  10. ::+chan
  11. ### $b+chan$b <channel> [options]
  12. Adds a channel to the bot's channel list. If options are specified, the
  13. channel will be configured with the options.
  14. See also: -chan, chanset, chaninfo
  15. ::+chrec
  16. ### $b+chrec$b <handle> [channel]
  17. Adds an empty channel record for the specified user so that channel lastons
  18. and info lines can be saved. No flags are associated with the channel.
  19. See also: -chrec, chattr%{+n}, +chan, -chan%{-}
  20. ::+exempt
  21. ### $b+exempt$b <hostmask> [channel] [%%<XdXhXm>] [comment]
  22. Adds an exempt to the list of exempts stored on the bot, with optional
  23. comment and exempt time. This exempt is stored with your handle as the
  24. creator, and will be in effect for every channel if no channel is specified.
  25. Exempt time has to be expressed in days, hours, and/or minutes.
  26. See also: exempts, -exempt, stick, unstick
  27. ::+host
  28. ### $b+host$b [handle] <hostmask> [anotherhostmask] ...
  29. Adds a hostmask to a user's user record. Hostmasks are used to identify your
  30. handle on IRC. If a handle is not specified, the hostmask will be added to
  31. YOUR user record. List as many hosts as wanted.
  32. See also: -host, clearhosts
  33. ::+ignore
  34. ### $b+ignore$b <hostmask> [%%<XdXhXm>] [comment]
  35. Adds an ignore to the list of ignores stored on the bot, with optional
  36. comment and ignore time. This ignore is stored with your handle as the
  37. creator. Ignore time has to be expressed in days, hours, and/or minutes.
  38. See also: -ignore, ignores
  39. ::+invite
  40. ### $b+invite$b <hostmask> [channel] [%%<XdXhXm>] [comment]
  41. Adds an invite to the list of invites stored on the bot, with optional
  42. comment and invite time. This invite is stored with your handle as the
  43. creator, and will be in effect for every channel if no channel is specified.
  44. Invite time has to be expressed in days, hours, and/or minutes.
  45. See also: invites, -invite, stick, unstick
  46. ::+user
  47. ### $b+user$b <handle> [hostmask] [anotherhostmask] ...
  48. Creates a new user record for the handle given. The new user record will
  49. have no flags, an optional hostmask, and a random pass/secpass.
  50. List as many hosts as needed.
  51. See also: -user, +host, -host, clearhosts%{+ni}, newleaf%{-}%{+a}, newhub%{-}
  52. ::-ban
  53. ### $b-ban$b <banmask or number> [channel]
  54. Removes the specified ban from the list of bans stored on the bot. You may
  55. also reference the ban by the number shown by the 'bans' command.
  56. See also: bans, +ban, stick, unstick
  57. :hub:-bot
  58. ### $b-bot$b <bot>
  59. This is exactly the same as $b'%d-user'$b (it removes a user record). It is
  60. included for convenience.
  61. See also: +user, -user%{+ni}, newleaf%{-}%{+a}, newhub%{-}
  62. ::-chan
  63. ### $b-chan$b <channel>
  64. This removes ALL information about a channel from the bot.
  65. $f*** IMPORTANT ***$f
  66. This erases ALL information about the channel, including channel settings,
  67. bans, exempts, invites, and channel records for users -- $bEVERYTHING$b.
  68. $bDO NOT$b use it to have the bot temporarily leave a channel. This
  69. command is for abandoning a channel (e.g. the channel will have to be
  70. redefined and all user flags for that channel will have to be redone.
  71. If you want to do this try '%dcycle' or '%ddown'
  72. See also: +chan, chanset, chaninfo, cycle, down
  73. ::-chrec
  74. ### $b-chrec$b <handle> [channel]
  75. Removes a channel record for the specified user, including channel lastons,
  76. info lines, and flags.
  77. See also: +chrec, chattr
  78. ::-exempt
  79. Removes the specified exempt from the list of exempts stored on the bot. You
  80. may also reference the exempt by the number shown by the 'exempts' command.
  81. See also: exempts, +exempt, stick, unstick
  82. ::-host
  83. ### $b-host$b <hostmask>
  84. Removes a host from your handle.
  85. %{+m|m}
  86. ### $b-host$b <handle> <hostmask> [anotherhostmask] ...
  87. Removes a hostmask from a user's user record.
  88. %{-}
  89. See also: +host, clearhosts
  90. ::-ignore
  91. ### $b-ignore$b <hostmask/number>
  92. Removes the specified ignore from the list of ignores stored on the bot. You
  93. may also reference the ignore by the number shown by the 'ignores' command.
  94. See also: +ignore, ignores
  95. ::-invite
  96. ### $b-invite$b <hostmask or number>
  97. Removes the specified invite from the list of invites stored on the bot. You
  98. may also reference the invite by the number shown by the 'invites' command.
  99. See also: invites, +invite, stick, unstick
  100. ::-user
  101. ### $b-user$b <handle> [anotherhandle] ...
  102. Removes the specified handles user records.
  103. See also: +user%{+ai}, -bot%{-}%{+ni}, newleaf%{-}%{+a}, newhub%{-}
  104. ::about:
  105. ### $babout$b
  106. If you feel you are missing from the list feel free to contact bryan.
  107. :leaf:act
  108. ### $bact$b [channel] <text>
  109. Performs an action on the current console channel (or otherwise
  110. specified channel), as if the bot did it. Just like the /me
  111. command in IRC.
  112. See also: console
  113. ::addline
  114. ### $baddline$b <username>
  115. Shows you a simple line for adding a user to another botnet with the
  116. same hostmasks.
  117. See also: whois
  118. ::addlog
  119. ### $baddlog$b <text>
  120. Adds your comment to the bot's logfile. Bot masters can go back later and
  121. review the log, and will see your comment (with your handle attached). This
  122. is useful for explaining confusing activity.
  123. :leaf:adduser
  124. ### $badduser$b [!]<nickname> [handle]
  125. Creates a new user record for a user on the channel, using their
  126. current hostname. It's similar to a user msg'ing the bot 'hello'
  127. except that no information is sent to that user. If the bot
  128. already knows someone by that nickname, and the user on the channel
  129. doesn't have a bot record, then it does the equivalent of an
  130. 'ident' for that user -- except that, again, no information is
  131. sent to the user telling them that anything was done.
  132. If the user is using a different nickname than the bot normally
  133. knows her by, you can specify her "handle" (the nickname that the
  134. bot remembers).
  135. If you want to add a user using a static hostmask, prefix their nick
  136. with a '!'. i.e. '%dadduser !Lamer'
  137. The user being added is sent a NOTICE with their initial password.
  138. See also: +host, -host, clearhosts%{+m}, +user, -user%{-}
  139. :leaf:authed:
  140. ### $bauthed$b
  141. Displays users who are authed on the bot for chan/msg cmds.
  142. ::away
  143. ### $baway$b [reason]
  144. Marks you as "away" on the party line. Your away message will show up in
  145. the $b'%dwho'$b list. Saying something on the party line will automatically
  146. remove your "away" status, or you can type $b'%dback'$b or $b'%daway'$b by
  147. itself.
  148. See also: back
  149. ::back
  150. ### $bback$b
  151. This marks you as no longer away on the party line.
  152. See also: away
  153. :hub:backup
  154. ### $bbackup$b
  155. This makes the bot write a backup of its entire user list to the disk.
  156. This is useful if you feel the need to backup the userfile and channel
  157. settings.
  158. See also: reload, save
  159. ::bans
  160. ### $bbans$b [[channel/all/global]/wildcard]
  161. Shows you a list of the global bans active on the current channel, and the
  162. list of channel-specific bans, as well as any bans that are on the channel
  163. but weren't placed by the bot.
  164. Here's a sample entry;
  165. [ 5] *!*habib@*frys.com (perm)
  166. paulie: revolving check policy
  167. Created 15:10
  168. The number (5) can be used to reference the ban if you wish to remove it
  169. (see $b'-ban'$b). Next is the actual hostmask being banned. The "(perm)"
  170. means that the ban is "permanent": that is, it doesn't automatically expire.
  171. If there is an elapsed time showing instead, the time displayed is how long
  172. the ban has been active. These types of bans expire after two hours. The
  173. second line of the ban entry is the comment ("revolving check policy"), and
  174. who set the ban (paulie). The last line shows when the ban was added, and
  175. possibly the last time the ban was activated on the channel (if it's
  176. different from the creation time).
  177. Sometimes there will be a "!" or "*" right before the number. A "!" means
  178. the ban is in the bot's ban list, but is not currently on the channel. A "*"
  179. marks a ban which is NOT in the bot's ban list but IS on the channel.
  180. If you use 'bans' without an argument, it will show you only the bans which
  181. are currently active on the channel. If you use 'bans all', it will show you
  182. every ban in the global ban list and on the channel. If you use 'bans
  183. <wildcard>', it will list all bans (active or not) that match against your
  184. wildcard. Consider it a 'bans all' list matched against your wildcard.
  185. If you use 'bans global', a full list of bans for EVERY channel will be
  186. displayed, including inactive/active bans on each channel.
  187. The ban list may change according to which channel you're currently viewing
  188. in the console. Different bans may be active on different channels. If you
  189. specify a channel name, that channel will be used instead of your current
  190. console channel.
  191. See also: -ban, +ban, console%{+m|m}, chanset, chaninfo%{-}, stick, unstick
  192. :hub:bc:
  193. ### $bbc$b <bot> <cmd> [params]
  194. See: botcmd
  195. :hub:boot
  196. ### $bboot$b <handle[@bot]> [reason]
  197. Kicks a user off the party line and displays the reason, if you specify
  198. one. You can also specify a bot, and attempt to boot someone from another
  199. bot on the botnet. You cannot boot a bot owner.
  200. :hub:botcmd:
  201. ### $bbotcmd$b <bot|*|?|&> [%%group] <cmd> [params]
  202. The specified cmd and optional parameters are executed on the specified bot,
  203. all results are displayed back on DCC. For example:
  204. [19:29] #bryan# botcmd wtest whom ...
  205. [19:29] (wtest) #bryan# whom
  206. [wtest] Nick
  207. [wtest] ----------
  208. [wtest] ^bryan
  209. [wtest] ^bryan [idle 1h22m]
  210. [wtest] ^bryan [idle 1h22m]
  211. [wtest] Total users: 3
  212. The bot specified can also have wildcards in it. '*' for 1 or more chars, and
  213. '?' for exactly 1 char. Use this cmd carefully, and even think about placing
  214. a cmdpass on it.
  215. Just using '?' for 'bot' will choose a random leaf bot.
  216. Just using '&' for 'bot' will do the cmd on all localhub bots. (first bot in config).
  217. Use '%%group' to match a specific group. (see also: '%dhelp set')
  218. This cmd cannot be chained over the botnet, ie, no: '%dbotcmd [bot] botcmd [bot2] ...'
  219. There are two default aliases added for this cmd:
  220. bc -> botcmd
  221. bl -> botcmd ?
  222. See also: cmdpass
  223. :hub:botjump:
  224. ### $bbotjump$b <bot> [server [port [pass]]]
  225. Makes the bot jump to another server. If you don't specify a
  226. server, it will jump to the next server in its internal list (see
  227. $b'%dhelp set'$b). If you specify a server, it will jump to that
  228. server (default port is 6667), and if that server is not in the
  229. internal list already, it will add it (until the bot relinks).
  230. Jumping servers ALWAYS makes the bot lose ops! be careful!
  231. See also: jump, servers, botserver
  232. :hub:botmsg:
  233. ### $bbotmsg$b <bot> <nickname|#chan> <text>
  234. Sends a private message to someone from the bot, just as if the
  235. bot had typed /msg.
  236. See also: msg%{+n}
  237. :hub:botnick:
  238. ### $bbotnick$b <bot>
  239. The specified bot will display its current nick over DCC.
  240. See also: netnick, nick
  241. :hub:bots
  242. ### $bbots$b [nodename|%group]
  243. Shows the list of bots currently on the botnet.
  244. Example:
  245. Bots: cEvin, ruthie, Killa1
  246. There is no indication of which bots are directly connected to this current
  247. bot. %{+n}Use $b'%dwho'$b or $b'%dbottree'$b for that information.%{-}
  248. Specifying a nodename will display all bots up/down on that nodename.
  249. Bots with a * preceding its name are down.
  250. Specifying a %%group will only show bots in that group.
  251. See also: groups, downbots%{+n}, bottree%{-}
  252. :hub:botserver:
  253. ### $bbotserver$b <bot>
  254. The bot will display its current server and lag over DCC.
  255. See also: netserver, servers%{+n}, set%{-}
  256. :hub:botset:
  257. ### $bbotset$b <bot> [<+/->list] [<var> [data|-]]
  258. Set's a bot specific entry.
  259. NOTE: 'set' and 'botset' have different entries.
  260. If there is a botset entry for 'name' and a set entry for 'name',
  261. the bot will use the 'botset' entry. Otherwise, the 'set' entry
  262. will be used for all options.
  263. The <var> may have wildcards. Wildcards will only be used for listing
  264. variable, not for setting.
  265. See 'set' for a full help listing.
  266. See also: set
  267. :hub:bottree
  268. ### $bbottree$b
  269. Shows a tree-format diagram of the bots currently on the botnet. It's just a
  270. nice way to get a feel for how the bots are physically connected. If 2 bots
  271. are sharing, a + will be indicated, or a ? if nothing is known.
  272. Some bots are colored if you have colors on (see '%dhelp color')
  273. Yellow: hubs (Do not come on IRC)
  274. Red: localhubs (first bot in binary, see '%dhelp conf')
  275. Other: normal leaf bots
  276. See also: bots, downbots, groups
  277. ::botversion:
  278. ### $bbotversion$b <bot>
  279. The bot will display its pack version and uname.
  280. See also: version, netversion, about%{+m|m}, status%{-}
  281. :hub:chaddr
  282. ### $bchaddr$b <bot> <address[:bot port[/user port]]>
  283. Changes the address for a bot. This is the address your bot will try to
  284. connect to when linking. If the bot has a separate port for bots and users,
  285. they should be separated by a slash (/).
  286. %{+a}
  287. It is not recommended that this is used, you should change your source,
  288. and update all bots instead.
  289. %{-}
  290. See also: link%{+a}, newhub%{-}
  291. ::chaninfo
  292. ### $bchaninfo$b <channel>
  293. This lists all the settings for the bot on the given channel.
  294. It shows any of the following:
  295. $bchanmode$b These modes are enforced on the channel.
  296. Both + and - modes can be enforced. Use {} to
  297. add a key. '%dchanset #chan chanmode { +nt key }'
  298. $bgroups$b List of groups that should join the channel.
  299. Use {} to add multiple groups. See also '%dhelp set'
  300. '%dchanset #chan groups { main alt }'
  301. %{+m|m}
  302. $bauto-delay$b Amount of seconds to wait before auto opping,
  303. or auto voicing a client based on flags or
  304. +voice
  305. $blimit$b If this is set, the +l bot will raise the limit
  306. to the users in the channel + this amount. Set to
  307. 0 to disable.
  308. $bclosed-ban$b Set this to 1 to ban users who join +closed
  309. channels. This is probably not needed though, as
  310. +closed maintains +i.
  311. $bclosed-invite$b If a channel is set +closed and this is set
  312. force the channel to always be +i, otherwise don't.
  313. $bclosed-private$b If a channel is set +closed, the bots will
  314. enforce +p as well. The point is to notice the chan
  315. and bots when an /invite is done. This is useful in
  316. seeing when a shell is hijacked ;)
  317. $bban-time$b Set here how long temporary bans will last (in
  318. minutes). If you set this setting to 0, the bot will
  319. never remove them. (This also requires +dynamicbans)
  320. $bban-type$b
  321. This setting defines what type of bans should be
  322. placed. Available types are:
  323. 0 *!user@host
  324. 1 *!*user@host
  325. 2 *!*@host
  326. 3 *!*user@*.host
  327. 4 *!*@*.host
  328. 5 nick!user@host
  329. 6 nick!*user@host
  330. 7 nick!*@host
  331. 8 nick!*user@*.host
  332. 9 nick!*@*.host
  333. You can also specify types from 10 to 19 which correspond
  334. to types 0 to 9, with the exception that numbers in hostnames
  335. are replaced with the '?' wildcard, or 20 to 29, which works
  336. like 10 to 19 but using '*' for numbers, instead of '?'.
  337. $bexempt-time$b Set here how long temporary exempts will last (in
  338. minutes). If you set this setting to 0, the bot will
  339. never remove them. The bot will check the exempts
  340. every X minutes, but will not remove the exempt if a
  341. ban is set on the channel that matches that exempt.
  342. Once the ban is removed, then the exempt will be
  343. removed the next time the bot checks. Please note
  344. that this is an IRCnet feature.
  345. $bknock$b Allow auto-inviting on /KNOCK? +y bots will invite.
  346. None/0 Don't invite on /KNOCK
  347. Op/1 Ops (+o) are invited on /KNOCK
  348. Voice/2 Voices (+v) are invited on /KNOCK
  349. User/3 Users (not +dk) are invited on /KNOCK
  350. $bflood-exempt$b Should clients be exempt from flood checks based
  351. on their channel status? (not deop/kick floods)
  352. Valid values are:
  353. None/0 Stick to regular checking (+x)
  354. Op/1 Ops are exempt from flood checks
  355. Voice/2 Voices are exempt from flood checks
  356. $bclosed-exempt$b Should clients be exempt from +closed kicks based
  357. on their channel status?
  358. Valid values are:
  359. None/0 Stick to regular user checking (+o)
  360. Op/1 Ops are exempt from +closed kicks
  361. Voice/2 Voices are exempt from +closed kicks
  362. $bflood-lock-time$b How long in seconds to keep the channel locked
  363. during drone floods.
  364. $bfish-key$b The key to use for FiSH encryption. Use '{ key }'
  365. to set and '{}' to unset.
  366. $binvite-time$b Set here how long temporary invites will last (in
  367. minutes). If you set this setting to 0, the bot will
  368. never remove them. The bot will check the invites
  369. every X minutes, but will not remove the invite if a
  370. channel is set to +i. Once the channel is -i then the
  371. invite will be removed the next time the bot checks.
  372. Please note that this is an IRCnet feature.
  373. $bprotect-backup$b Set +backup in the event of a takeover if the
  374. channel is +protect.
  375. $bvoice-non-ident$b If channel is +voice, clients without an ident will
  376. be voiced. Set to 0 to not voice clients without ident.
  377. The following options choose how to respond to specific events.
  378. Each can be set as any of the specified options.
  379. ignore/0 Ignore
  380. deop/1 Chattr user +d (deop)
  381. kick/2 Chattr user +k (auto kickban)
  382. delete/remove/3 Remove user
  383. react/4 React and punish the client, but don't add or modify
  384. their user flags.
  385. These events trigger the bot to react with the above option.
  386. $bbad-cookie$b Missing or invalid cookie in bot op line.
  387. $bmanop$b Manual op.
  388. $bmdop$b Mass deop.
  389. $bmop$b Mass op.
  390. $brevenge$b Client kicking/banning/deopping another bot.
  391. The following can be set + or - (e.g. '%dchanset #channel -enforcebans')
  392. $bautoop$b Bots that are +y will auto-op all users with
  393. op access to the channel.
  394. $bbackup$b Make backup-bots (+B) join when set.
  395. $bbitch$b Only let users with the +o flag have op on the
  396. channel?
  397. $bbotbitch$b Only let $bbots$b with the +o flag have op on the
  398. channel?
  399. $bclosed$b Kick all people who join channel unless they have
  400. op access for the channel.
  401. $bcycle$b Bot will attempt to cycle the channel when opless
  402. or during splits to gain ops.
  403. $benforcebans$b When a ban is set, kick people who are on the channel
  404. and match the ban?
  405. $bfastop$b Setting this will disable cookie-ops. You may
  406. know cookie-ops as an annoying way of bots opping
  407. themselves with +o-b bot *!*@fjdifgjdsgiufufdhgfudghfdgfdg,
  408. but, with -fastop (cookie-ops enabled), opping is much
  409. more secure and the chances of someone hijacking the bot
  410. for ops in your channel are much less. This is
  411. highly recommeneded to always be set.
  412. $bfloodban$b If a channel flood (public, notice or ctcp) is detected, the
  413. flooder will also be banned, in accordance with ban-type.
  414. $binactive$b This prevents the bot from joining the channel (or
  415. makes it leave the channel if it is already there). It
  416. can be useful to make the bot leave a channel without
  417. losing its settings, channel-specific user flags,
  418. channel bans, and without affecting sharing.
  419. $bmeankicks$b Use mean/offensive kicks/bans in the channel.
  420. $bnodesynch$b Allow non-ops to perform channel modes? This can stop
  421. the bot from fighting with services such as ChanServ, or
  422. from kicking IRCops when setting channel modes without
  423. having ops.
  424. $bnomassjoin$b If more than 6 clients join in 1 second, set +im
  425. for 2 minutes. (Could be triggered from net-split
  426. rejoin if clients hop servers and change nicks)
  427. $bprivate$b This by far is probably the single most unique and
  428. important feature of this pack. With this set, users with
  429. global +o will not implicitly have access to the channel.
  430. They will need to have channel |o flag to have access.
  431. Users with global +n override this as they should have
  432. control over the entire botnet and where it goes.
  433. Users who lose access to a channel because of this setting
  434. will see no reference to it over the botnet in any place.
  435. The +o restriction goes for +v as well.
  436. $bprotect$b Set chan +botbitch and mass deop the channel if someone
  437. attempts to takeover. The channel is also set +backup
  438. if protect-backup is set.
  439. $brbl$b Do RBL lookups on clients and ban on matches.
  440. Uses 'rbl-servers'. See also '%dhelp set'. Only the
  441. +r bot will do lookups. On positive match, the bot
  442. will add a ban to the botnet and all bots will enforce
  443. the ban.
  444. $btake$b Once a bot is opped, it will mass op all other bots
  445. in the channel. After that, they will all attempt to
  446. mass deop in hopes 'taking' the channel. :)
  447. $bvoice$b This feature is somewhat experimental. With it set
  448. the +y bot will voice ALL people who join the channel
  449. unless they are +q globally or +q for the channel.
  450. If a botnet master devoices them, they will remain
  451. devoiced no matter who voices them.
  452. $bvoicebitch$b Enforce voices in a +bitch style. Only +v users
  453. will be allowed to be voiced. This does take +private
  454. into mind as well.
  455. $bdynamicbans$b Only activate bans on the channel when necessary?
  456. This keeps the channel's ban list from getting
  457. excessively long. The bot still remembers every ban,
  458. but it only activates a ban on the channel when it sees
  459. someone join who matches that ban.
  460. $buserbans$b Allow bans to be made by users directly? If turned
  461. off, the bot will require all bans to be made through
  462. the bot's console.
  463. $bdynamicexempts$b Only activate exempts on the channel when
  464. necessary? This keeps the channel's exempt list from
  465. getting excessively long. The bot still remembers every
  466. exempt, but it only activates an exempt on the channel
  467. when it sees a ban set that matches the exempt. The
  468. exempt remains active on the channel for as long as the
  469. ban is still active.
  470. $buserexempts$b Allow exempts to be made by users directly? If
  471. turned off, the bot will require all exempts to be made
  472. through the bot's console.
  473. $bdynamicinvites$b Only activate invites on the channel when necessary?
  474. This keeps the channel's invite list from getting
  475. excessively long. The bot still remembers every invite,
  476. but the invites are only activated when the channel is
  477. set to invite only and a user joins after requesting an
  478. invite. Once set, the invite remains until the channel
  479. goes to -i.
  480. $buserinvites$b Allow invites to be made by users directly? If turned
  481. off, the bot will require all invites to be made through
  482. the bot's console.
  483. The following are flood settings, they are set via '%dchanset <channel>
  484. flood-type number:seconds', where number and second are integers
  485. indicating the number of times in how many seconds the flood will be
  486. triggered. Setting one of these to 0:0, 0:1, or 1:0 will deactivate the
  487. respective flood setting.
  488. $bflood-chan$b Set here how many channel messages in how many seconds
  489. from one host constitutes a flood. Setting this to 0 or 0:0
  490. disables text flood protection for the channel.
  491. $bflood-bytes$b Set here how many bytes in how many seconds from one
  492. host constitutes a flood. Setting this to 0 or 0:0
  493. disables text flood protection for the channel.
  494. $bflood-ctcp$b Set here how many channel ctcps in how many seconds from
  495. one host constitutes a flood. Setting this to 0 or 0:0
  496. disables ctcp flood protection for the channel.
  497. $bflood-join$b Set here how many joins in how many seconds from one
  498. host constitutes a flood. Setting this to 0 or 0:0 disables
  499. join flood protection for the channel.
  500. $bflood-kick$b Set here how many kicks in how many seconds from one
  501. host constitutes a flood. Setting this to 0 or 0:0 disables
  502. kick flood protection for the channel.
  503. $bflood-deop$b Set here how many deops in how many seconds from one
  504. host constitutes a flood. Setting this to 0 or 0:0 disables
  505. deop flood protection for the channel.
  506. $bflood-nick$b Set here how many nick changes in how many seconds from
  507. one host constitutes a flood. Setting this to 0 or 0:0
  508. disables nick flood protection for the channel.
  509. $bflood-mjoin$b Set how many joins in how many seconds before triggering
  510. a lockdown for mass join. ($bnomassjoin$b must be set).
  511. These can all be changed simultaneously with $bflood-*$b
  512. See also: %{-}%{+n}+chan, -chan%{-}%{+m|m}, chanset%{-}
  513. :leaf:channel
  514. ### $bchannel$b [channel-name]
  515. Shows you an extensive display of the users on a channel, and
  516. the current channel attributes. By default, it shows you the
  517. channel you are currently viewing on the console, but you can
  518. specify another channel if you wish.
  519. The first line will look like:
  520. Channel #hiya, 8 members, 45 users, mode +tn:
  521. This means that the bot is sitting on channel #hiya, where 8
  522. other irc'ers are. There are 45 people that the bot knows by
  523. hostmask, and the channel mode is +tn. If the bot isn't on
  524. the channel it is supposed to be on, it will say "Desiring
  525. channel #hiya" instead. Next is a list of the users on the
  526. channel, with each entry looking like this:
  527. NICKNAME HANDLE JOIN HOPS IDLE USER@HOST
  528. @kantSF kantSF 14:53 o 2 6m josh@random.edu
  529. The "@kantSF" means that the user's nickname is kantSF and that
  530. he is a chanop. The second "kantSF" is the nickname that the
  531. bot knows him by. Sometimes this will differ from the nickname
  532. a person is using. The time displayed is the time the user
  533. joined the channel. The next field is the attributes:
  534. n - bot owner o - can get ops (+o)
  535. m - bot master or owner b - another bot
  536. d - cannot get ops (+d)
  537. The last field is the user@host he is using irc from.
  538. See also: status, whois
  539. ::channels:
  540. ### $bchannels$b %{+m}[user|%group]%{-}
  541. Displays channels that you have access to, and any important
  542. flags that are set on them.
  543. %{+m}
  544. Masters: You can specify other users to see what channels their
  545. flags grant them access to.%{-}
  546. Special %%group to see what channels a particular group is in.
  547. See also: whois%{+m}, chattr, chaninfo, groups%{-}
  548. ::chanset
  549. ### $bchanset$b [#&!+channel|*|default] <settings>
  550. Allows you to change the channel settings (see $b'chaninfo'$b for the
  551. settings) for one specific channel or all channels. Use '*' to apply the
  552. change to all channels.
  553. Changes are used until the next restart, and are saved
  554. whenever the userfile is saved.
  555. Modifying 'default' will change what new channels get when they are created.
  556. See also: %{+n}+chan, -chan%{-}, chaninfo
  557. ::chat
  558. ### $bchat$b <on/off>
  559. ### $bchat$b <[*]channel number/name>
  560. Changes your current channel on the partyline. When you first connect to
  561. the partyline, it places you on channel 0 (the main party line).
  562. Some channels may have assigned names if the assoc module is loaded. For
  563. these, you can specify the channel by name instead of channel number if
  564. you wish.
  565. $b'%dchat off'$b removes you from all channels, including the main party line.
  566. You can still use bot commands and see the console, but you can't talk to
  567. anyone. $b'%dchat on'$b returns you to the main party
  568. line (channel 0) if you were elsewhere.
  569. If you prefix the channel with a '*', you will join a local channel.
  570. See also: console
  571. ::chattr
  572. ### $bchattr$b <handle> [flags] [channel]
  573. This lets you view and change the flags for a user.
  574. For example, to give Lamer the p and f flags:
  575. '%dchattr Lamer +pf'
  576. To remove Denali from the global op list:
  577. '%dchattr Denali -o'
  578. You may also do any combination of the above:
  579. '%dchattr Fred1 -m+xj-o'
  580. You can also change the flags for Usagi on a specific channel by supplying
  581. the channel after the attributes:
  582. '%dchattr Usagi -m+dk-o #blah'
  583. Changing global and channel specific flags within the same command line is
  584. also possible (global +o #lamer):
  585. '%dchattr Bill f|o #lamer'
  586. Whether or not you change any flags, it will show you the user's attributes
  587. afterwards. To get a list of all possible flags, see $b'%dhelp whois'$b.
  588. $bNOTES:$b Only the owner may add or remove the 'a' (admin) or 'n' (owner) flags.
  589. It is pointless to -a a permanent owner.
  590. You must remove the permanent owner in the binary.
  591. See also: whois
  592. :hub:checkchannels
  593. ### $bcheckchannels$b
  594. This will make all leaf bots display which channels they are currently
  595. not in but *should* be in. This will only shows channels that contain
  596. the groups the bot are in.
  597. See also: botcmd, channels, channel, status
  598. :hub:chhandle
  599. ### $bchhandle$b <oldhandle> <newhandle>
  600. Changes the handle of a user. For example, to change the handle of user
  601. 'gavroche' to 'jamie', you would use 'chhandle gavroche jamie'.
  602. Perm owners may not change their handle without recompiling binaries first.
  603. Bot handles cannot be changed from partyline.
  604. See also: chpass%{+n}, chsecpass%{-}
  605. ::chinfo
  606. ### $bchinfo$b <user> [channel] [info-line/none]
  607. Sets the information line for a user. This line is shown via the /msg
  608. commands $b'who'$b and $b'whois'$b.
  609. If the info line begins with an '@', then it is "locked", and that user
  610. may no longer change it. If the channel name is omitted, the default info
  611. line is changed. If you specify 'none' as the info-line, it will be erased.
  612. See also: info
  613. :hub:chnick
  614. See: chhandle
  615. :hub:chpass
  616. ### $bchpass$b <handle> [newpassword|rand]
  617. Changes a user's password. If you do not specify the new password, the user
  618. effectively no longer has a password set. A password is needed to get ops,
  619. join the party line, etc. If the newpassword is 'rand', a random password
  620. will be used.
  621. This has no effect on bots.
  622. See also: chhandle%{+n}, chsecpass%{-}
  623. :hub:chsecpass:
  624. ### $bchsecpass$b <handle> [newpassword|rand]
  625. Changes a user's secpass. If you do not specify the new password, the user
  626. effectively no longer has a password set. A secpass is needed to auth and
  627. login via DCC chat. If the newpassword is 'rand', a random password
  628. will be used.
  629. See also: chhandle, chpass
  630. ::clearhosts
  631. ### $bclearhosts$b
  632. Removes all hosts from your handle.
  633. %{+m|m}
  634. ### $bclearhosts$b <handle>
  635. Removes all hosts from a user's user record.
  636. %{-}
  637. See also: +host, -host
  638. :leaf:clearqueue
  639. ### $bclearqueue$b <queue>
  640. Removes all msgs from the specified queue (mode/server/help/play/all)
  641. :hub:cmdpass:
  642. ### $bcmdpass$b <command> <pass> [newpassword]
  643. Places the specified pass on the cmd so that the cmd will need to be
  644. followed by the specified pass whenever it is called. For example:
  645. '%dcmdpass whoami BLAH'
  646. [19:32] #bryan# cmdpass whoami ...
  647. Set command password for whoami to 'BLAH'
  648. '%dwhoami'
  649. Invalid command password. Use !command password arguments
  650. [19:33] bryan attempted !whoami with missing or incorrect command password
  651. '%dwhoami BLAH'
  652. You are bryan@hub.
  653. [19:33] #bryan# whoami
  654. To remove a cmdpass for a cmd, specify the old pass and do not specify a new pass
  655. ** Only permanent owners specified in the binary COMPILE config file **
  656. ** can use this cmd. **
  657. ::color:
  658. ### $bcolor$b <on/off>
  659. Enables or disables misc coloring over DCC. mIRC or ANSI method is
  660. chosen automatically.
  661. See also: console, echo, login, page, strip
  662. ::comment
  663. ### $bcomment$b <user> <comment>
  664. Creates or changes the comment field for a user. The comment field can only
  665. be seen via 'whois' or 'match'. Non-masters cannot see the comment field.
  666. Using the comment 'none' will clear a user's comment.
  667. ::conf:
  668. ### $bconf$b <add|del|change|disable|enable|list|set> [options]
  669. This command is used to modify the bot's local shell config. Only
  670. the first bot listed will be able to perform this command. Using the cmd
  671. on a non-'localhub' will result in an error similar to:
  672. [16:42] #bryan# botcmd wtest2 conf list
  673. [wtest2] Please use 'wtest' for this login/shell.
  674. Simply use the command on the bot specified.
  675. 'add' uses the same syntax as the conf file:
  676. add <bot> [<ip|.> <[+]host|.> [ipv6-ip]]
  677. ip/host/ipv6-ip are all optional and/or can be replaced with '.'
  678. Newly added bots will start immediately, don't forget to 'newleaf'.
  679. 'del' syntax is:
  680. del <bot>
  681. Deleted bots that are running will be killed.
  682. 'change' syntax is the same as 'add'
  683. 'disable' syntax is:
  684. disable <bot>
  685. The bot will be killed, but not removed from userlist. It will not start again
  686. until you use 'enable' on it.
  687. 'enable' syntax is:
  688. enable <bot>
  689. The bot is enabled. (Only relevant for disabled bots designated via a prefix of '/')
  690. 'list' shows all the bots currently in the config.
  691. 'set' allows changing some variables in the config.
  692. Using with no parameters will show all changeable options.
  693. Simply specify the option and new setting as follows:
  694. set <what> [option]
  695. WARNING: Options changed MAY OR MAY NOT affect bots already running,
  696. it is a good idea to restart all bots on the shell
  697. if you change any of the following:
  698. $bhomedir$b, $bbinpath$b, $bbinname$b, $bportmin$b, $bportmax$b
  699. See also: newleaf, newhub
  700. ::console:
  701. ### $bconsole$b [channel] [modes]
  702. Changes your console level so that you will see only the types of console
  703. messages that you want to. Your current console channel is the channel (that
  704. the bot is on) from which you can view from the party line, and which
  705. channel-specific commands (like 'say' and 'op') take affect on.
  706. Valid flags are:
  707. $bj$b joins, parts, quits, and netsplits on the channel
  708. $bk$b kicks, bans, and mode changes on the channel
  709. $bm$b private msgs, notices and ctcps to the bot
  710. $bp$b public text on the channel
  711. $bs$b server connects, disconnects, and notices
  712. %{+m}
  713. Masters only:
  714. $bb$b information about bot linking and userfile sharing
  715. $bd$b misc debug information
  716. $bc$b commands
  717. $bo$b misc info, etc (IMPORTANT STUFF)
  718. $bw$b wallops
  719. %{-}
  720. %{+n}
  721. Owners only (these have to be enabled in the config file via "set raw-log"):
  722. $be$b errors
  723. $bg$b (getin) botnet op/invite/key requests
  724. $bh$b raw share traffic
  725. $br$b raw incoming server traffic
  726. $bt$b raw botnet traffic
  727. $bu$b warnings
  728. $bv$b raw outgoing server traffic
  729. %{-}
  730. %{+o|o}
  731. The mode can also be a modifier like '+p' or '-jk' or '+mp-b'. If you omit
  732. the channel and modes, your current console channel and flags will be shown.
  733. %{-}
  734. %{+m|m}
  735. ### $bconsole$b <user> [channel] [modes]
  736. This is used to set the console level of another user. This can even be used
  737. on users who normally would not be able to set their own console mode.%{-}
  738. See also: color, echo, login, page, strip
  739. ::crontab:
  740. ### $bcrontab$b <status|delete|show|new> [interval]
  741. This command is used to manipulate the crontab entries for the user
  742. that the bot is running on.
  743. 'status' will display the status of the crontab entry for the bot,
  744. for example:
  745. [18:59] #bryan# crontab status
  746. Crontabbed
  747. 'show' will display the current crontab entries, for example:
  748. [18:59] #bryan# crontab show
  749. Showing current crontab:
  750. Result:
  751. 3,8,13,18,23,28,33,38,43,48,53,58 * * * * /usr/home/bryan/hub/hub > /dev/null 2>&1
  752. 1,6,11,16,21,26,31,36,41,46,51,56 * * * * /usr/home/bryan/hub/newhub > /dev/null 2>&1
  753. 'delete' will remove the bot's own crontab entry from the crontab list.
  754. 'new' will make the bot add itself to the crontab list, although this is done
  755. automatically on startup.
  756. ::cycle:
  757. ### $bcycle$b <channel> [delay]
  758. If done on the hub, makes all linked bots cycle the specified channel.
  759. Otherwise, only the bot it is done on will cycle.
  760. Delay defaults to 10 seconds, which means bots will part and not rejoin
  761. until that time has passed.
  762. See also: down
  763. ::date
  764. ### $bdate$b
  765. Displays the time/date in local and GMT. Also displays which time zone
  766. is being used by the bot for internal logging.
  767. :hub:dccstat
  768. ### $bdccstat$b
  769. Displays a table-format list of all "dcc" connections in use on the bot.
  770. Dcc stands for "Direct Client-to-client Communication", and Eggdrop expands
  771. this to cover every open socket. Any type of network connection to the bot
  772. is considered a "dcc" connection.
  773. The headings of the table are:
  774. $bSOCK$b the socket number of this connection (always unique)
  775. $bADDR$b the ip address mask of the host the bot is connected to, if
  776. applicable
  777. $bPORT$b the port number being used for this connection
  778. $bNICK$b the handle of the user or bot, if applicable
  779. $bHOST$b the hostname corresponding to the IP address, if available
  780. $bTYPE$b the type of dcc connection (see below)
  781. The types of connections currently possible are as follows (but more are
  782. being added all the time):
  783. $bCHAT$b dcc-chat partyline user
  784. $bPASS$b user entering dcc chat (being asked for password)
  785. $bSEND$b user sending a file
  786. $bGET$b sending a file to a user
  787. $bGETP$b pending get (waiting for the user to acknowledge)
  788. $bLSTN$b telnet listening port (in place of a hostname, it will show the
  789. callback procedure name, or a mask of acceptable handles)
  790. $bT-IN$b incoming telnet user (being asked for handle)
  791. $bFILE$b user in dcc-chat file area
  792. $bBOT$b connected bot (botnet connection)
  793. $bBOT*$b pending bot link (waiting for acknowledgement)
  794. $bRELA$b user in relay connection to another bot
  795. $b>RLY$b bot being relay'd to (one for each "RELA")
  796. $bCONN$b pending telnet connection (chat, relay, bot-link, etc)
  797. $bNEW$b new user via telnet (entering a handle)
  798. $bNEWP$b new user via telnet (entering a password)
  799. In addition, 'CHAT' and 'BOT' have flags listed for each connection. Capital
  800. letters mean that the flag is on, and lowercase letters mean that the flag
  801. is off. The flags for 'CHAT' are:
  802. $bC$b in file area, but allowed to return to party line
  803. $bK$b color is on
  804. $bP$b party line access only
  805. $bT$b telnet connection (instead of dcc chat)
  806. $bE$b echo is on
  807. $bP$b paging is on
  808. $b6$b socket is ipv6
  809. The flags for 'BOT' are:
  810. $bP$b ping sent, waiting for reply
  811. $bU$b user-file sharing is active
  812. $bC$b local bot initiated the connection
  813. $bO$b user-file offered, waiting for reply
  814. $bS$b in the process of sending the user-file
  815. $bG$b in the process of getting the user-file
  816. $bW$b warned this bot to stop hubbing
  817. $bL$b leaf-only bot (not allowed to be a hub)
  818. $bI$b bot is currently in the 'linking' stage
  819. $bA$b bot is being aggressively shared with
  820. For 'CHAT' users, the party-line channel is also listed.
  821. ::debug
  822. ### $bdebug$b
  823. Display a dump of memory allocation information, assuming the bot was
  824. compiled with memory debugging. It's useless to anyone but developers
  825. trying to find memory leaks.
  826. ::decrypt
  827. ### $bdecrypt$b <key> <string>
  828. Decrypts the string using the specified key.
  829. See also: decrypt_fish, encrypt, encrypt_fish, randstring, md5, sha1, sha256, hash
  830. ::decrypt_fish
  831. ### $bdecrypt_fish$b <key> <string>
  832. Decrypts the string using the specified key.
  833. This algorithm is eggdrop's blowfish, same as FiSH.
  834. See also: decrypt, encrypt, encrypt_fish, randstring, md5, sha1, sha256, hash
  835. :leaf:deluser
  836. ### $bdeluser$b <nickname>
  837. Deletes a user record for a user on the channel, using their
  838. current hostname. Channel masters can remove users so long as
  839. the user isn't a bot master.
  840. Channel masters may only delete users which they added.
  841. see also: adduser%{+m}, +user, -user%{-}
  842. :leaf:deop
  843. ### $bdeop$b <nickname> [channel|*]
  844. Will remove chanop from the person you specify, so long as the
  845. bot is opped on that channel, and the person you specify isn't
  846. on the bot's list of authorized chanops. Specify * for all
  847. channels.
  848. See also: op, console
  849. :leaf:devoice
  850. ### $bdevoice$b <nickname> [channel|*]
  851. Will remove the +v voice from the person you specify, so long as
  852. the bot is opped on that channel. Specify * for all channels.
  853. ::die
  854. ### $bdie$b [reason]
  855. This kills the bot. The bot goes offline immediately, logging who issued
  856. the 'die' command. You shouldn't have to use this too often. If you specify
  857. a reason, it is logged, otherwise the reason is "authorized by <handle>".
  858. See also: suicide, conf
  859. ::dns
  860. ### $bdns$b <hostname/ip/flush>
  861. Resolves the given hostname/ip
  862. If "flush" is the specified hostname, the cache will be flushed.
  863. ::down:
  864. ### $bdown$b <channel>
  865. All linked bots will deop themselves in the specified channel. They
  866. will not reop for 10 seconds.
  867. See also: cycle
  868. :hub:downbots
  869. ### $bdownbots$b
  870. Shows the list of bots that are NOT currently linked to the botnet.
  871. Example:
  872. Down bots: cEvin, ruthie, Killa1
  873. See also: bots, groups
  874. :leaf:dump
  875. ### $bdump$b <text>
  876. dumps the text to the server. keep in mind that this bot doesn't
  877. run through ircII, so ircII commands will most likely not work this
  878. way. they need to be raw irc codes. read rfc1459 from ftp.internic.net
  879. for more help.
  880. '$n' is replaced with the bot's irc nickname.
  881. ** Only permanent owners specified in the binary COMPILE config file **
  882. ** can use this cmd. **
  883. ::echo
  884. ### $becho$b <on/off>
  885. Specifies whether you want your messages echoed back to you. If it's on,
  886. then when you say something on the party line, it will be displayed to you
  887. just like everyone else will see it. If it's off, then it won't happen.
  888. See also: color, console, login, page, strip
  889. ::encrypt
  890. ### $bencrypt$b <key> <string>
  891. Encrypts the string using the specified key.
  892. See also: encrypt_fish, decrypt, decrypt_fish, randstring, md5, sha1, sha256, hash
  893. ::encrypt_fish
  894. ### $bencrypt_fish$b <key> <string>
  895. Encrypts the string using the specified key.
  896. This algorithm is eggdrop's blowfish, same as FiSH.
  897. See also: encrypt, decrypt, decrypt_fish, randstring, md5, sha1, sha256, hash
  898. ::exec:
  899. ### $bexec$b <params>
  900. The bot will execute the specified program with each param specified,
  901. and display the results over DCC.
  902. ::exempts
  903. ### $bexempts$b [[channel/all/global]/wildcard]
  904. Shows you a list of the global exempts active on the current channel, and
  905. the list of channel-specific exempts, as well as any exempts that are on the
  906. channel but weren't placed by the bot.
  907. Here's a sample entry;
  908. ! [ 3] *!test@test.com (perm)
  909. bryan: requested
  910. Created 01:15
  911. The number (3) can be used to reference the exempt if you wish to remove it
  912. (see $b'-exempt'$b). Next is the actual hostmask being exempted. The "(perm)"
  913. means that the exempt is "permanent": that is, it doesn't automatically
  914. expire. If there is an elapsed time showing instead, the time displayed is
  915. how long the exempt has been active. These types of exempts expire after one
  916. hour. The second line of the exempt entry is the comment ("requested"), and
  917. who set the exempt (bryan). The last line shows when the exempt was added, and
  918. possibly the last time the exempt was activated on the channel (if it's
  919. different from the creation time).
  920. Sometimes there will be a "!" or "*" right before the number. A "!" means
  921. the exempt is in the bot's exempt list, but is not currently on the channel.
  922. A "*" marks an exempt which is NOT in the bot's exempt list but IS on the
  923. channel.
  924. If you use 'exempts' without an argument, it will show you only the exempts
  925. which are currently active on the channel. If you use 'exempts all', it will
  926. show you every exempt in the global exempt list and on the channel. If you
  927. use 'exempts <wildcard>', it will list all exempts (active or not) that
  928. match against your wildcard. Consider it a 'exempts all' list matched
  929. against your wildcard.
  930. If you use 'exempts global', a full list of exempts for EVERY channel will be
  931. displayed, including inactive/active exempts on each channel.
  932. The exempt list may change according to which channel you're currently
  933. viewing in the console. Different exempts may be active on different
  934. channels. If you specify a channel name, that channel will be used instead
  935. of your current console channel.
  936. See also: -exempt, +exempt, console%{+m|m}, chanset, chaninfo%{-}, stick, unstick
  937. :leaf:find:
  938. ### $bfind$b <nick!ident@host.com>|<user>
  939. The bot will search through all of its channel records and look
  940. for the specified hostmask. Wildcards are accepted; '*' for 1 or more
  941. characters, or '?' for exactly 1 character.
  942. If a username is specified, then the user is searched for in all the channel
  943. lists.
  944. ::fixcodes
  945. ### $bfixcodes$b
  946. This is for use in situations where the bot gets mixed up about the type
  947. of connection you have with it. For example, you /CTCP CHAT the bot and
  948. it thinks you are connecting via telnet, and you see text displayed as
  949. "Local time is now 17:17" for example instead of "Local time is
  950. now 17:17". Use this to turn telnet codes on or off/change the display
  951. mode.
  952. :leaf:getkey:
  953. ### $bgetkey$b [channel]
  954. If there is a key set for channel, it is displayed. If channel is not
  955. specified, your console channel is used.
  956. See also: console, channels%{+m}, status%{-}
  957. :hub:groups
  958. ### $bgroups$b [bot]
  959. Shows the list of groups and which bots are in them.
  960. Specify a bot to only show which groups it is in.
  961. See also: bots, downbots%{+n}, bottree%{-}
  962. ::handle
  963. ### $bhandle$b <new-handle>
  964. Changes your handle on the bot. This is the handle (nickname) that the
  965. bot will know you as from this point forward. It is used to log into the
  966. bot.
  967. Perm owners may not change their handle without recompiling binaries first.
  968. See also: newpass%{+mi}, chhandle, chpass%{-}%{+n}, chsecpass%{-}
  969. ::hash
  970. ### $bhash$b <string>
  971. Returns the MD5, SHA1, and SHA256 hash of the specified string.
  972. See also: randstring, md5, sha1, sha256, encrypt, encrypt_fish, decrypt, decrypt_fish
  973. ::help:
  974. ### $bhelp$b [cmd]
  975. Alone, will show all cmds that match your flags. With a cmd it will show
  976. the help entry, such as you see here. Specifying a wildcard will display
  977. a list of cmds (matching your flags) that match that wildcard. Use '*'
  978. to match 1 or more characters, and '?' to match exactly one character.
  979. This will only show the commands available on the current type of bot
  980. you are on. Ie, hubs and leafs have different cmds shown in '%dhelp'
  981. :hub:hublevel:
  982. ### $bhublevel$b <hub-bot> <level>
  983. Sets the hublevel for the specified hub. This command is not recommended
  984. for use by anyone. Instead you should change your COMPILE config file
  985. and update your net with new binaries.
  986. You really shouldn't use this cmd.
  987. See also: uplink, chaddr
  988. ::ignores
  989. ### $bignores$b [wildcard]
  990. Shows a list of hostmasks from which the bot is currently ignoring msgs,
  991. notices, etc. There are two types of ignores: permanent and temporary.
  992. Permanent ignores never automatically expire. You must use $b'%d-ignore'$b
  993. to remove them.
  994. Here is a sample permanent ignore:
  995. [ 1] *!*@217.156.44.184 (perm)
  996. bryan: go away
  997. Started 523 days ago
  998. The number (1) can be used to reference the ignore if you wish to remove it
  999. (see $b'%dhelp -ignore'$b). Next is the actual hostmask being ignored. The
  1000. "(perm)" means that the ignore is "permanent": that is, it doesn't
  1001. automatically expire. The second line of the ignore entry is the comment
  1002. ("go away"), and who set the ban (bryan). The last line shows when the ignore
  1003. was added.
  1004. Here is a sample temporary ignore:
  1005. [ 10] blah!blah@blah.cc (expires in 1 day)
  1006. bryan: requested
  1007. Started 18:02
  1008. Here, you see the "perm" in the parentheses next to the hostmask is instead
  1009. an expire time. This means that the ignore will expire automatically in one
  1010. day.
  1011. If you use $b'%dignores <wildcard>'$b, it will list all the ignores
  1012. that match against your wildcard.
  1013. See also: +ignore, -ignore
  1014. ::info
  1015. ### $binfo$b [channel] [info-line]
  1016. Sets your info line. This line is shown via the /msg commands $b'who'$b and
  1017. $b'whois'$b. If the info line begins with an '@', then it is "locked", and
  1018. you may no longer change it.
  1019. %{+m|m}See also: chinfo%{-}
  1020. :leaf:invite
  1021. ### $binvite$b <nickname> [channel|*]
  1022. Invites someone from irc into your current console channel (or
  1023. specified other channel). This is most useful when the channel
  1024. is +i. a user with the +o flag can also request an invite from
  1025. the bot with /MSG INVITE. Specify * for all channels.
  1026. See also: console, iop
  1027. ::invites
  1028. ### $binvites$b [[channel/all/global]/wildcard]
  1029. Shows you a list of the global invites active on the current channel, and
  1030. the list of channel-specific invites, as well as any invites that are on the
  1031. channel but weren't placed by the bot.
  1032. Here's a sample entry;
  1033. ! [ 3] *!test@test.com (perm)
  1034. bryan: requested
  1035. Created 01:15
  1036. The number (3) can be used to reference the invite if you wish to remove it
  1037. (see $b'-invite'$b). Next is the actual hostmask being invited. The "(perm)"
  1038. means that the invite is "permanent": that is, it doesn't automatically
  1039. expire. If there is an elapsed time showing instead, the time displayed is
  1040. how long the invite has been active. These types of invites expire after one
  1041. hour. The second line of the invite entry is the comment ("requested"), and
  1042. who set the invite (bryan). The last line shows when the invite was added, and
  1043. possibly the last time the invite was activated on the channel (if it's
  1044. different from the creation time).
  1045. Sometimes there will be a "!" or "*" right before the number. A "!" means
  1046. the invite is in the bot's invite list, but is not currently on the channel.
  1047. A "*" marks an invite which is NOT in the bot's invite list but IS on the
  1048. channel.
  1049. If you use 'invites' without an argument, it will show you only the invites
  1050. which are currently active on the channel. If you use 'invites all', it will
  1051. show you every invite in the global invite list and on the channel. If you
  1052. use 'invites <wildcard>', it will list all invites (active or not) that
  1053. match against your wildcard. Consider it a 'invites all' list matched
  1054. against your wildcard.
  1055. If you use 'invites global', a full list of invites for EVERY channel will be
  1056. displayed, including inactive/active invites on each channel.
  1057. The invite list may change according to which channel you're currently
  1058. viewing in the console. Different invites may be active on different
  1059. channels. If you specify a channel name, that channel will be used instead
  1060. of your current console channel.
  1061. See also: -invite, +invite, console%{+m|m}, chanset, chaninfo%{-}, stick, unstick
  1062. :leaf:iop
  1063. ### $biop$b <nickname> [channel|*]
  1064. Same as normal invite, except auto-ops them when they join.
  1065. See also: console, invite
  1066. :leaf:jump
  1067. ### $bjump$b [server [port [pass]]]
  1068. Makes the bot jump to another server. If you don't specify a
  1069. server, it will jump to the next server in its internal list (see
  1070. $b'%dhelp set'$b). If you specify a server, it will jump to that
  1071. server (default port is 6667), and if that server is not in the
  1072. internal list already, it will add it (until the bot relinks).
  1073. Jumping servers ALWAYS makes the bot lose ops! be careful!
  1074. See also: botjump, servers, botserver
  1075. :leaf:keyx
  1076. ### $bkeyx$b <nick>
  1077. Initiaite DH1080 key-exchange with nick for FiSH protocol.
  1078. %{+m}See also: setkey%{-}
  1079. :leaf:kick
  1080. ### $bkick$b [channel|*] <nickname> [reason]
  1081. Will kick a user off your current console channel (or specified
  1082. other channel) with the comment given. if you omit the reason,
  1083. the default kick comment is "requested". Specify * for all
  1084. channels.
  1085. See also: kickban, console
  1086. :leaf:kickban
  1087. ### $bkickban$b [channel|*] [-|@]<nickname> [comment]
  1088. Kicks a user off the channel and bans her by a reasonable host-
  1089. mask. your nickname will be attached to the ban in the bot's
  1090. internal ban list, and the ban will last for whatever is set in
  1091. ban-time -- only on this channel. use $b'%d+ban'$b for a more
  1092. permanent ban which will be activated on every channel the bot
  1093. monitors. if you use a comment, that will also be attached to
  1094. the ban in the ban list, and used as the kick comment. Specify
  1095. * for all channels.
  1096. appending a prefix of ! or @ to a nickname changes the ban
  1097. mask used:
  1098. e.g. with a host of nick!ident@host.name.domain
  1099. command banmask
  1100. '%dkickban nick *!*dent@*.name.domain'
  1101. '%dkickban -nick *!*dent@host.name.domain'
  1102. '%dkickban @nick *!*@host.name.domain'
  1103. with a host of nick!~ident@host.name.domain (strict-host set to 1)
  1104. command banmask
  1105. '%dkickban nick *!*ident@*.name.domain'
  1106. '%dkickban -nick *!*ident@host.name.domain'
  1107. See also: +ban, bans, stick
  1108. :hub:lagged:
  1109. ### $blagged$b
  1110. Displays the bot's internal ping list of bots linked to it.
  1111. If a pingtime goes over 30 seconds, it is delinked for
  1112. ping timeout.
  1113. See also: netlag
  1114. ::last:
  1115. ### $blast$b
  1116. Displays the 'last' output from the shell the bot is running on,
  1117. for the user it is running as.
  1118. %{+i}See also: netlast%{-}
  1119. :hub:link
  1120. ### $blink$b [via-bot] <bot-to-link>
  1121. Attempts to link to another hub. This command is deprecated and not
  1122. recommended for use.
  1123. See also: unlink%{+ni}, newleaf%{-}%{+a}, newhub, -bot%{-}
  1124. ::login
  1125. ### $blogin$b <banner|bots|channels|whom> [on/off]
  1126. Sets various login options.
  1127. Not specifying on/off will display what the setting is the for the specified
  1128. login entry.
  1129. See also: echo, color, console, page, strip, whois
  1130. ::match
  1131. ### $bmatch$b <attr> [channel] [[start] limit]
  1132. This displays all user records with the attributes requested.
  1133. "attr" is of the form: <+/-><global>[&/|<channel>[&/|<bot>]]
  1134. Specifying "&" as the separator will cause AND style matching.
  1135. For example:
  1136. '%dmatch p&o'
  1137. This will match all users with both the "p" global flag and the "o" channel
  1138. flag on your current console channel.
  1139. Specifying "|" as the separator will cause OR style matching.
  1140. For example:
  1141. '%dmatch p|o'
  1142. This will match all users with either the "p" global flag or the "o" channel
  1143. flag on your current console channel. If you specify a channel, it will be
  1144. used instead of the current console channel.
  1145. For example:
  1146. '%dmatch p|o #eggdrop'
  1147. This will match all users with either the "p" global flag or the "o" channel
  1148. flag on the channel #eggdrop. You can also match bot flags.
  1149. For example:
  1150. '%dmatch o|o|h'
  1151. This will match all bots with either the "o" global flag, the "o" channel
  1152. flag on the current console channel, or the "h" botflag. You can also limit
  1153. the number of total results returned by specifying a limit at the end of the
  1154. command. A starting point can also be specified.
  1155. For example:
  1156. '%dmatch p&o #eggdrop 16 25'
  1157. This would show results 16 through 25 matching any users with the "p" global
  1158. flag or the "o" channel flag on #eggdrop.
  1159. ### $bmatch$b <wildcard-string> [[start] limit]
  1160. This displays all user records where the user's handle or any of the user's
  1161. hostmasks match the specified wildcard string. You can also limit the number
  1162. of total results returned by specifying a limit at the end of the command. A
  1163. starting point can also be specified.
  1164. For example:
  1165. '%dmatch *.edu 16 25'
  1166. This would show results 16 through 25 matching any users with a hostmask
  1167. that ends with ".edu".
  1168. $bThis command will not match on bots. You must use 'matchbot' for that.$b
  1169. See also: matchbot
  1170. ::matchbot
  1171. ### $bmatchbot$b
  1172. Matches bots.
  1173. See also: match
  1174. ::md5
  1175. ### $bmd5$b <string>
  1176. Returns the MD5 hash of the specified string.
  1177. See also: randstring, sha1, sha256, hash, encrypt, encrypt_fish, decrypt, decrypt_fish
  1178. ::me
  1179. ### $bme$b <text>
  1180. Performs an action on the party line. This appears as "* bryan is leaving",
  1181. etc.
  1182. :leaf:mmode:
  1183. ### $bmmode$b <(+|-)MODE> <#channel> <a|o|v|d|r> [bots=n] [alines=n] [slines=n] [overlap=n] [bitch] [botbitch] [simul] [local]
  1184. For those of us who do not wish to be rocket scientists in the mass mode department,
  1185. a simple '%dmmode -o #channel o' will suffice.
  1186. This is a distributed mass mode command.
  1187. The modes will be distributed among the necessary bots to accomplish the task.
  1188. **Remember, unless specified with [local], the bot you mmode on will never participate.**
  1189. options:
  1190. $ba$b = $ball.$b
  1191. $bo$b = $bops.$b
  1192. $bO$b = $buser-op.$b
  1193. $bv$b = $bvoices.$b
  1194. $bd$b = $bnon-ops.$b
  1195. $br$b = $bregulars (-ov).$b
  1196. $bbitch$b - set +bitch after finished with mmode.
  1197. $bbotbitch$b - set +bitch after finished with mmode.
  1198. $bsimul$b - Simulates the mmode. IE: Gives you a practice run, will show who
  1199. does what in the dcc chat window.
  1200. $blocal$b - Modes will not be distributed: Ran on local bot only.
  1201. Use this with caution, and do not expect good results.
  1202. =============================================================================
  1203. don't bother setting the following options unless you REALLY know what you're
  1204. doing, and don't bother messaging me asking me how to use them if you don't.
  1205. =============================================================================
  1206. $bbots$b - Number of bots to use.
  1207. $balines$b - Number of MODE lines to assume each participating bot will get through.
  1208. $bslines$b - Number of MODE lines each participating bot will send.
  1209. $boverlap$b - Number of times to mode on each target nick (using alines for calc).
  1210. bots, alines, slines and overlap are dependant on each other, set them wrong and
  1211. the bot will complain.
  1212. Defaults are alines=1, slines=5, overlap=1. alines will be increased up to 5 if
  1213. there are not enough bots available.
  1214. Examples:
  1215. To mass deop (old style '%dmdop')
  1216. '%dmmode -o #chan o overlap=2'
  1217. To mass voice non-ops
  1218. '%dmmode +v #chan d'
  1219. To mass voice non-ops and non-voices
  1220. '%dmmode +v #chan r'
  1221. See also: mop
  1222. :leaf:mop:
  1223. ### $bmop$b <channel|*>
  1224. Bot will op all users in the specified channel that are valid ops
  1225. for the channel. If '*' is specified, the bot will scan all channels
  1226. and op all users in all channels that are valid ops in each chan.
  1227. See also: whois
  1228. ::motd
  1229. ### $bmotd$b %{+m}<message>%{-}
  1230. This redisplays the partyline Message Of The Day, which was shown when you
  1231. first joined the partyline.
  1232. %{+m}+m: Include a message to set the motd.%{-}
  1233. :leaf:msg
  1234. ### $bmsg$b <nickname> <text>
  1235. Sends a private message to someone from the bot, just as if the
  1236. bot had typed /msg.
  1237. See also: botmsg%{+n}
  1238. :hub:netcrontab:
  1239. ### $bnetcrontab$b <status|delete|show|new> [interval]
  1240. Runs the specified command on all linked bots.
  1241. See: crontab
  1242. :hub:netlag:
  1243. ### $bnetlag$b
  1244. Pings all bots over botnet, and displays results.
  1245. See also: lagged
  1246. :hub:netlast:
  1247. ### $bnetlast$b
  1248. All bots on the botnet will display an output from 'last' on
  1249. the user that they are currently running as.
  1250. See also: last
  1251. :hub:netnick:
  1252. ### $bnetnick$b
  1253. All bots on the botnet will display their nick over DCC.
  1254. See also: botnick, nick
  1255. :hub:netps:
  1256. ### $bnetps$b [ps-param]
  1257. Will run 'ps' on each bot on the botnet and returned the
  1258. results. If a params are specified, each bot will use those
  1259. on 'ps'.
  1260. See also: ps
  1261. :hub:netrelease
  1262. ### $bnetrelease$b <nick>
  1263. Tells all bots to unjupe the specified nickname. They will wait 7 seconds
  1264. before attempting to regain the nickname.
  1265. See also: set, release
  1266. :hub:netrontab:
  1267. ### $bnetcrontab$b <status|delete|show|new> [interval]
  1268. Runs the specified crontab command on all linked bots.
  1269. See: crontab
  1270. :hub:netserver:
  1271. ### $bnetservers$b
  1272. All bots on the botnet will display their current server and lag
  1273. to that server over DCC.
  1274. See also: botserver, servers%{+n}, set%{-}
  1275. :hub:netversion:
  1276. ### $bnetversion$b <bot>
  1277. All bots on the botnet will display their pack version, and uname.
  1278. See also: botversion, version, about%{+m|m}, status%{-}
  1279. :hub:netw:
  1280. ### $bnetw$b
  1281. All bots on the botnet will run 'w' on their shell and display
  1282. the results over DCC.
  1283. See also: w
  1284. :hub:newhub:
  1285. ### $bnewhub$b <handle> <address> <port> [hublevel]
  1286. Add a new hub to the net.
  1287. See also: chaddr, newleaf
  1288. :hub:newleaf:
  1289. ### $bnewleaf$b <handle> [hostmask] [anotherhostmask] ...
  1290. Adds a new leaf to the botnet with the specified handle and hostname.
  1291. Any number of hosts can be specified in the cmd.
  1292. The binary config botline will also be outputted, but should be
  1293. checked for correctness.
  1294. %{+a}See also: newhub%{-}
  1295. ::newpass
  1296. ### $bnewpass$b <password|rand>
  1297. Changes your password on the bot. This is similar to the '/msg <bot> pass'
  1298. command, except you don't need to specify your old password. If the
  1299. newpassword is 'rand', a random password will be used.
  1300. %{+mi}See also: chpass%{-}%{+n}, chsecpass%{-}
  1301. ::nick
  1302. See: handle
  1303. ::nick:
  1304. ### $bnick$b <bot>
  1305. The bot will display its current nick over DCC.
  1306. See also: botnick, netnick
  1307. :hub:nopass
  1308. ### $bnopass$b [anything]
  1309. Displays all users who do not have a password set.
  1310. Specify any argument to give random passes to users.
  1311. %{+mi}See also: chpass%{-}
  1312. :leaf:op
  1313. ### $bop$b <nickname> [channel|*]
  1314. Will grant chanop to the person you specify, so long as the bot
  1315. is opped on that channel, and the person you specify isn't being
  1316. actively deopped by the bot. Specify * for all channels.
  1317. See also: deop, console
  1318. ::page
  1319. ### $bpage$b <number/off>
  1320. This allows you to slow down the number of lines the bot sends you at once
  1321. via the partyline. When enabled, any commands that send greater than the
  1322. specified number of lines will stop when that number is reached and wait for
  1323. you to type another command (or press enter) to continue. If you have too
  1324. many pending lines, you may be booted off the bot.
  1325. See also: color, console, echo, login, strip
  1326. :leaf:play
  1327. ### $bplay$b [channel] <file>
  1328. Plays the specified file to the specified channel. If no channel is
  1329. given then your console channel is used.
  1330. The 'play' queue is used for this, which is the lowest priority on
  1331. the bot. Any IRC related queue needs will immediately trump
  1332. the 'play' queue and delay the playing of the file.
  1333. Only files in the bots directory path may be played. (Symlinked
  1334. paths are fine). This is to prevent a user from playing /etc/passwd
  1335. since the cmd is +m.
  1336. ::ps:
  1337. ### $bps$b [ps-param]
  1338. Will run 'ps' on the bot's shell and display any results. If
  1339. any params are specified, they will be used.
  1340. %{+i}See also: netps%{-}
  1341. ::quit
  1342. ### $bquit$b [comment]
  1343. This disconnects you from the partyline. If you specify a comment, it will
  1344. be displayed to other partyline users as you leave.
  1345. ::randstring
  1346. ### $brandstring$b <len>
  1347. Displays a random string of length 'len' up to 300 chars.
  1348. See also: md5, sha1, sha256, hash, encrypt, encrypt_fish, decrypt, decrypt_fish
  1349. ::rehash
  1350. ### $brehash$b
  1351. Don't use this cmd, it doesn't do what you think it does, and can result
  1352. in the bot behaving very oddly.
  1353. Reloads config data from binary. (Probably won't be needed as this is
  1354. automatically updated after editing the binary with -C)
  1355. See also: restart
  1356. ::relay
  1357. ### $brelay$b <bot>
  1358. Relays you via telnet to another bot, whether or not it is currently linked.
  1359. The local bot must, however, have a bot record for the bot you wish to
  1360. relay to. Typing '%dquit' or "*bye*" on a line by itself will end the relay.
  1361. See also: bots%{+n}, newleaf%{-}%{+a}, newhub, -bot%{-}
  1362. :leaf:release
  1363. ### $brelease$b
  1364. Releases the bot's nick if it is on the jupenick. It gives an estimated
  1365. 7 seconds before it attempts to regain its jupenick.
  1366. See also: set, netrelease
  1367. ::reload
  1368. ### $breload$b
  1369. Reloads the bot's user file, discarding any changes made since the last
  1370. $b'%dsave'$b command or hourly user file save.
  1371. See also: save
  1372. :leaf:reset
  1373. ### $breset$b [channel]
  1374. Clears out the bot's channel information and makes it gather the
  1375. information from the server all over again, as if it had just
  1376. joined that channel. It's not really useful much, but could be
  1377. if an odd bug causes the channel information to get scrambled.
  1378. unfortunately this command used to get a lot of use. You can omit
  1379. the channel name to make it reset ALL channels.
  1380. See also: resetbans, resetexempts, resetinvites
  1381. :leaf:resetbans
  1382. ### $bresetbans$b [channel]
  1383. Resets the bot's ban list for the channel. any bans on the channel
  1384. that aren't in the ban list (either the global list or the local
  1385. channel ban list) will be removed, and if there are any bans in the
  1386. global ban list or channel ban list that are not currently on the
  1387. channel, they will be added.
  1388. See also: bans, console%{+m|m}, reset%{-}
  1389. :leaf:resetexempts
  1390. ### $bresetexempts$b [channel]
  1391. Resets the bot's exemption list for the channel. this command
  1392. behaves exactly like resetbans, except it is for exempts.
  1393. See also: resetbans, resetinvites
  1394. :leaf:resetinvites
  1395. ### $bresetinvites$b [channel]
  1396. Resets the bot's invitation list for the channel. this command
  1397. behaves exactly like resetbans, except it is for invites.
  1398. See also: resetbans, resetinvites
  1399. ::restart
  1400. ### $brestart$b
  1401. Makes the bot restart, but keeps its connection to IRC active.
  1402. See also: rehash, reload, save
  1403. :hub:save
  1404. ### $bsave$b
  1405. This makes the bot write its entire userfile to disk. This is useful if you
  1406. think the bot is about to crash or something, since the user file is only
  1407. written to disk about once an hour.
  1408. See also: reload, backup
  1409. :leaf:say
  1410. ### $bsay$b [channel] <text>
  1411. Dumps the text to your current console channel (or other specified
  1412. channel), as if the bot "said" it.
  1413. ::secpass:
  1414. ### $bsecpass$b <password|rand>
  1415. Changes your secpass on the bot. This is used for Authing via /msg
  1416. and for DCC. If the password is 'rand', a random password will be used.
  1417. %{+mi}See also: chpass%{-}%{+n}, chsecpass%{-}
  1418. :leaf:servers
  1419. ### $bservers$b
  1420. Lists the servers that the bot has in its server list. this is
  1421. the list it rotates through when changing servers. it starts
  1422. with a static list which it loads from its config-file when the
  1423. bot is booted up. after that, you can add servers with the
  1424. $b'%djump'$b command. the server list will indicate which server the
  1425. bot is currently on.
  1426. :hub:set:
  1427. ### $bset$b [<+/->list] [<var> [data|-]]
  1428. Sets various options. Type alone to see all set entries. To set
  1429. an entry do '%dset name VALUE'. Use '-' as a value to clear an entry.
  1430. The <var> may have wildcards. Wildcards will only be used for listing
  1431. variable, not for setting.
  1432. The '+' may be used to add 1 element to a comma separated list. (ie, servers)
  1433. The '-' may be used to remove 1 element from a comma separated list. (ie, servers)
  1434. The 'list' may be used to list a comma separated variable as a vertical listing. (like '%dservers')
  1435. Current variables:
  1436. $uB$u: Boolean (0/1/true/on/false/off)
  1437. $uS$u: String
  1438. $uN$u: Number
  1439. $uL$u: List
  1440. $uR$u: Rate. Set as 'number:interval', ie, '1:5'
  1441. $uD$u: Detected vars have the following options: $bignore$b/0, $bwarn$b/1, $breject$b/2,
  1442. $bdie$b/3, $bsuicide$b/4
  1443. [L] $balias$b List of dcc aliases in format '<alias> <cmd> [parms]'. First
  1444. matching alias is used. Normal flag checking is done
  1445. after the alias is expanded.
  1446. $bAliases may not reference other aliases.$b
  1447. [N] $bserver-port$b Default port to use for server connections.
  1448. [N] $bserver-port-ssl$b Default port to use for SSL server connections.
  1449. [B] $bserver-use-ssl$b Use SSL for IRC server connections?
  1450. [B] $bauth-chan$b If set, auth cmds will work in channels as well as in msg, otherwise
  1451. only in msg.
  1452. [S] $bauth-key$b The authkey used during authing. Give to users if they need to auth.
  1453. (can be bot specific)
  1454. [C] $bauth-prefix$b The prefix character used for msg cmds, ie: $u!$uop or $u.$uop
  1455. [B] $bauth-obscure$b Will not halt on dcc login if pass is wrong. Will display auth hash..
  1456. Will always fail at hash though.
  1457. [N] $bdcc-autoaway$b Time in seconds until a user is set auto-away on dcc.
  1458. (0/- to disable)
  1459. [B] $bmanop-warn$b Warn users via /NOTICE when they msg-op in a channel with manop
  1460. punishments.
  1461. * Msg cmd vars may be left blank to disable usage of cmd.
  1462. [S] $bmsg-op$b Defines the cmd for opping via msging the bot.
  1463. [S] $bmsg-pass$b Defines the cmd for setting a pass via msging the bot.
  1464. [S] $bmsg-invite$b Defines the cmd for requesting invite via msging the bot.
  1465. [S] $bmsg-ident$b Defines the cmd for identing via msging the bot.
  1466. [S] $bmsg-release$b Defines the cmd for releasing a nick.
  1467. [N] $bfork-interval$b Number of seconds in between each fork() call made by the bot.
  1468. (Resets PID/CPU)
  1469. [R] $bflood-msg$b Msgs:Secs until a host is ignored. (0:0 to disable)
  1470. [R] $bflood-ctcp$b Ctcps:Secs until a host is ignored. (0:0 to disable)
  1471. [R] $bflood-callerid$b Msgs:Secs until triggering to set CALLERID for
  1472. 60 seconds (0:0 to disable)
  1473. [D] $blogin$b How to handle someone logging in to the shell.
  1474. [D] $btrace$b How to handle someone tracing/debugging the bot.
  1475. [D] $bpromisc$b How to handle when an interface is set to promiscuous mode.
  1476. [D] $bhijack$b How to handle when a commonly used hijack method attempt is detected.
  1477. [L] $bservers$b Comma-separated list of servers the bot will use.
  1478. [L] $bservers-ssl$b Comma-separated list of SSL servers to use if server-use-ssl is true.
  1479. [L] $bservers6$b Comma-separated list of servers the bot will use (FOR IPv6).
  1480. [L] $bservers6-ssl$b Comma-separated list of IPv6 SSL servers to use if server-use-ssl is true.
  1481. [N] $bmsgburst$b How many messages to burst at once to server. (Too high will excess flood)
  1482. [N] $bmsgrate$b How often (msecs) to dequeue msgs to the server. Only used on
  1483. non-ratbox servers. Too small a value can result in Excess Flood.
  1484. [L] $bgroups$b List of groups that the affected bots are a part of.
  1485. [L] $brbl-servers$b Servers to use for RBL checking in channels that are +rbl.
  1486. [S] $brealname$b The bot's "real name" when connecting. (supports '$n' expansion)
  1487. [S] $busermode$b The bot's usermode on IRC. (Set on connect/rehash)
  1488. [B] $bdeaf$b Runs bot in DEAF mode if the IRCD supports it. This will stop
  1489. the IRCD from sending any channel conversations to the bot.
  1490. This will decrease bandwidth/CPU used, as well as prevent
  1491. sniffing of channels.
  1492. [B] $bcallerid$b Run bot in CALLERID mode. This is commonly known as +g on most
  1493. servers. +c bots will automatically accept messages from
  1494. known users. Note that this will break msg-ident.
  1495. [B] $bfish-auto-keyx$b Whether to automatically do a DH1010 FiSH Key exchange when
  1496. accepting users. This is only supported if using callerid.
  1497. [B] $bfish-paranoid$b Whether to automatically re-keyexchange after every message. This
  1498. mitigates replay attacks.
  1499. [S] $baltchars$b Define string of characters to cycle when generating alternative
  1500. nicks when nick is taken. Ie: _-`[].
  1501. [S] $bjupenick$b The bot will attempt to jupe this nick. It will never use a variation
  1502. of the nick though. It will still prefer 'nick' over a variation
  1503. of jupenick.
  1504. [S] $bnick$b The bot's preferred nickname on IRC. It will auto rotate and append
  1505. 'altchars' on the end if taken.
  1506. [N] $bnotify-time$b The number of seconds between server notify checks for nick, if
  1507. the server does not support MONITOR.
  1508. [B] $birc-autoaway$b Should the bot go away auto?
  1509. [B] $bident-botnick$b Send botnick instead of shell username on connect (non-ident)
  1510. [B] $boidentd$b Make bot try and use oidentd spoofing as BOTNICK.
  1511. [B] $blink_cleartext$b Allows bots to link without an encryption scheme. This is needed
  1512. for allowing older bots to link in. Be sure to never leave this on
  1513. unless upgrading or letting an older bot link in to upgrade.
  1514. [B] $bdccauth$b Boolean (0 or 1). Set to use auth checking on dcc/telnet login.
  1515. [N] $bop-bots$b Number of bots to ask every time an oprequest is to be made.
  1516. [N] $bin-bots$b Number of bots to ask every time an inrequest is to be made.
  1517. [R] $bop-requests$b (requests:seconds) limits how often the bot will ask for ops.
  1518. [R] $bclose-threshold$b (H:L) When at least H hubs but L or less leafs are linked, close
  1519. all channels.
  1520. [N] $blag-threshold$b Maximum acceptable server lag for the bot to send/honor requests.
  1521. [N] $bkill-threshold$b When more than this many bots have been killed/klined in the last
  1522. minute, close all channels.
  1523. [N] $bfight-threshold$b When more than this many +obeI/-obeI/kicks have happened on a channel
  1524. in 1 minute, the channel is locked down. Channel must be +protect.
  1525. See also '%dhelp chanset' for +protect.
  1526. [N] $bcloak-script$b Decides which script the bot cloaks as.
  1527. If set to 0, a random script will be used.
  1528. 1=plain bitchx, 2=crackrock, 3=neonapple, 4=tunnelvision,
  1529. 5=argon, 6=evolver, 7=prevail 8=cypress 9=mIRC 10=other
  1530. * $bExamples$b:
  1531. '%dset realname I have no realname, I'm a bot!'
  1532. '%dbotset wraith realname The best pack evar!'
  1533. '%dset +servers irc.efnet.org'
  1534. '%dset -servers irc.efnet.org'
  1535. '%dset list servers'
  1536. '%dset -servers 10'
  1537. '%dbotset wraith nick -'
  1538. See also: botset
  1539. :leaf:setkey
  1540. ### $bsetkey$b <nick> [key|rand]
  1541. Sets the FiSH key for the given target.
  1542. Use no key to clear the currently set key.
  1543. Use 'rand' to generate a random key.
  1544. See also: keyx
  1545. ::sha1
  1546. ### $bsha1$b <string>
  1547. Returns the SHA1 hash of the specified string.
  1548. See also: randstring, md5, sha256, hash, encrypt, encrypt_fish, decrypt, decrypt_fish
  1549. ::sha256
  1550. ### $bsha256$b <string>
  1551. Returns the SHA256 hash of the specified string.
  1552. See also: randstring, md5, sha1, hash, encrypt, encrypt_fish, decrypt, decrypt_fish
  1553. ::simul
  1554. ### $bsimul$b <handle> <text>
  1555. This allows you to simulate the specified handle typing the given text.
  1556. For example:
  1557. '%dsimul dweeb %dquit'
  1558. This would appear just as if "dweeb" typed '%dquit'. This command will not
  1559. work unless eggdrop has simul enabled in the config file.
  1560. See also: su
  1561. ::slowjoin:
  1562. ### $bslowjoin$b <channel> <interval-seconds> [channel-options]
  1563. All bots on the botnet will join the channel at the rate of one bot
  1564. per 'interval-seconds'. If any channel-options are specified, the
  1565. channel will be added with those options.
  1566. See also: slowpart, chanset, chaninfo
  1567. ::slowpart:
  1568. ### $bslowpart$b <channel> <interval-seconds>
  1569. All bots on the botnet will part the specified channel at the rate
  1570. of one bot per 'interval-seconds'
  1571. %{+n}See also: slowjoin%{-}
  1572. ::status
  1573. ### $bstatus$b
  1574. ### $bstatus all$b
  1575. Displays a condensed block of status information about the bot.
  1576. is running. For example:
  1577. [01:15] #bryan# status
  1578. I am wtest, running [wraith] Wraith 1.2.3-cvs: 274 users
  1579. Online for 00:33 (terminal mode) CPU 00:01 cache hit 28.3%
  1580. OS: Linux 2.4.30
  1581. Running from: /home/wheel/bryan/.sshrc
  1582. uid: bryan (1000) pid: 25114 homedir: /home/wheel/bryan
  1583. Tempdir : /home/wheel/bryan/.ssh/.../
  1584. Channels: #|DAWG|Net, #|DAWG|Tcl
  1585. Online as: D|Anakha!wcc@cia.nu (|DAWG|Anakha - |DAWG|Net)
  1586. Server irc.inet.tele.dk:6667 (connected for 11 days)
  1587. #|DAWG|Net: 6 members, enforcing "+istn" (lurking)
  1588. #|DAWG|Tcl: 42 members, enforcing "+tn" (lurking)
  1589. The first line tells you the bot's name, what version of Eggdrop it's
  1590. running, the number of users the bot has records of, and the amount of
  1591. memory being used by the userfile. The second line tells you the uptime of
  1592. the bot, CPU time, and cache hit. The third shows the bot's admin, and the
  1593. forth shows its current config file. The fifth line shows what operating
  1594. system the bot is running on. The next two lines show Tcl information. If
  1595. debug mode is enabled, additional info may be shown. Sharing information
  1596. will also be shown if it's being used.
  1597. Select information from modules will be displayed after the core
  1598. information. If you use $b'%dstatus all'$b instead, you will see all status
  1599. information available from loaded modules.
  1600. See also: channel, channels%{+a}, debug%{-}
  1601. ::stick
  1602. ### $bstick$b [ban/exempt/invite] <hostmask/number> [channel]
  1603. Makes a ban, exempt, or invite "sticky". This means that the bot will always
  1604. try to keep it active on the channel. Obviously, if the channel isn't using
  1605. dynamic bans, this has no effect.
  1606. See also: bans, exempts, invites, unstick, +ban, +exempt, +invite
  1607. ::store
  1608. ### $bstore$b
  1609. Stores your console settings so that they are restored automatically the
  1610. next time you join the party line. ('console' calls this auto)
  1611. See also: console
  1612. ::strip
  1613. ### $bstrip$b [modes]
  1614. Allows you to remove embedded 'attribute' codes from your partyline output. Valid
  1615. options are:
  1616. $bb$b - remove all boldface codes
  1617. $bc$b - remove all color codes
  1618. $br$b - remove all reverse video codes
  1619. $bu$b - remove all underline codes
  1620. $ba$b - remove all ANSI codes
  1621. $bg$b - remove all ctrl-g (bell) codes
  1622. The mode can also be a modifier like '+c' or '-bu' or '+ru-c'. If
  1623. you omit modes, it will show your current setting.
  1624. NOTE: THIS CMD DOES NOT AFFECT ALL COLORS, PLEASE SEE '%dhelp color'
  1625. See also: fixcodes, color, echo, login, page
  1626. %{+m}
  1627. ### $bstrip$b <user> [modes]
  1628. Set the strip level of another user. A master can't set their own strip
  1629. flags without prefixing the modes with a '+' or '-'.%{-}
  1630. ::su
  1631. ### $bsu$b <user>
  1632. Lets you assume the identity of another user. If you are a global owner,
  1633. this does not require a password. Otherwise, you will be asked for the
  1634. user's password. $b%dquit$b returns you to your original handle.
  1635. ::suicide
  1636. ### $bsuicide$b [reason]
  1637. Makes bot remove itself and then dies. If bot is first bot in its binary
  1638. it will kill all bots running for that binary.
  1639. See also: die, conf, botcmd
  1640. :leaf:swhois
  1641. ### $bswhois$b [server/nick] <nick>
  1642. Displays a server /whois for the specified nick. Specifying
  1643. the nick twice will display idle time. Specifying a server will
  1644. display the whois as viewed by that server.
  1645. If the nick is currently not online, a /WHOWAS is done automatically.
  1646. This cmd will hide restricted username/channel info as follows:
  1647. -Username will be hidden for higher level users
  1648. -Users will not see +private chans unless they are in the chan or chan is -sp
  1649. -Users will not see channels that are +s or +p unless they have op access there
  1650. See also: find
  1651. ::tcl
  1652. ### $btcl$b script
  1653. Executes the given string and returns the result.
  1654. :leaf:topic
  1655. ### $btopic$b <text>
  1656. Changes the channel's topic, assuming the bot is a chanop or the
  1657. channel is not +t (uses your current console channel).
  1658. See also: console
  1659. :hub:trace
  1660. ### $btrace$b <bot>
  1661. Sends out a trace signal to another bot. If/when the trace signal returns,
  1662. (and it should!) you will get an output that looks something like this:
  1663. Trace result -> Valis:Stonewall:NoBoty:SomeBoty
  1664. This is a list of the bots connected between you and the destination bot.
  1665. It should also return the time in seconds taken for the trace to occur.
  1666. See also: bots, bottree
  1667. ::traffic
  1668. ### $btraffic$b
  1669. Shows total and daily net traffic stats since the last $b'%drestart'$b.
  1670. Stats groups are IRC, Botnet, Partyline, Transfer.mod and Misc.
  1671. %{+m}See also: restart%{-}
  1672. :leaf:umode
  1673. ### $bumode$b <+flags>
  1674. Sets the given usermode flags for the bot.
  1675. %{+a}
  1676. See also: dump
  1677. %{-}
  1678. ::unlink
  1679. ### $bunlink$b <bot|*> [reason]
  1680. This disconnects the specified bot from the botnet (assuming it was linked
  1681. in the first place). Some bots (sharebots in particular) might not allow you
  1682. to unlink them. If "*" is specified as the parameter, all bots will be
  1683. unlinked.
  1684. See also: %{+n}link, %{-}bots, downbots%{+n}, newleaf, bottree%{-}%{+a}, newhub%{-}
  1685. ::unstick
  1686. ### $bunstick$b [ban/exempt/invite] <hostmask/number> [channel]
  1687. Makes a "sticky" ban, exempt, or invite normal again.
  1688. See also: bans, exempts, invites, stick, -ban, -exempt, -invite
  1689. ::update:
  1690. ### $bupdate$b <binary>
  1691. The bot will attempt to start the new binary and kill itself.
  1692. The specified binary will need to be in the same directory
  1693. as the bot is running in.
  1694. See also: whois
  1695. :hub:uplink:
  1696. ### $buplink$b <bot> [uplink]
  1697. Changed a bot's preferred botnet uplink. Leave 'uplink' blank
  1698. to clear a bot's uplink, which will make it stay on any hub
  1699. that it can connect to. An uplink must be a hub-bot.
  1700. See also: hublevel, chaddr
  1701. ::uptime
  1702. ### $buptime$b
  1703. Displays the bot's current uptime.
  1704. See also: status
  1705. ::userlist:
  1706. ### $buserlist$b
  1707. A list of all users is displayed. Users with higher flags than you
  1708. will not appear in the list.
  1709. See also: match, whois
  1710. ::version:
  1711. ### $bversion$b
  1712. Displays the pack version and uname.
  1713. See also: botversion, netversion, about%{+m|m}, status%{-}
  1714. :leaf:voice
  1715. ### $bvoice$b <nickname> [channel|*]
  1716. Will give a +v voice to a person you specify, so long as the
  1717. bot is opped on that channel. Specify * for all channels.
  1718. See also: devoice
  1719. ::w:
  1720. ### $bw$b
  1721. The output of 'w' will be displayed over DCC, bot the shell
  1722. the bot is running on.
  1723. %{+i}See also: netw%{-}
  1724. ::who
  1725. ### $bwho$b [bot]
  1726. Displays a list of users on the local bot.
  1727. For example:
  1728. [23:21] #bryan# who
  1729. Party line members: (* = owner, + = master, @ = op)
  1730. *bryan telnet@xxx.atlaga.adelphia.net (idle 17m)
  1731. *bryan telnet@xxx.atlaga.adelphia.net
  1732. Bots connected:
  1733. -> wortel (05 Dec 16:32) eggdrop v1.6.15 <efnet>
  1734. The first section is people on your current channel (the party line, if you
  1735. haven't changed channels) who are on the bot. A '*' will precede the handle
  1736. if they are a bot owner, "+" if they are a master, "%%" if they are a botnet
  1737. master, or "@" if they are an op. The user's nickname, hostname, and
  1738. possibly an idle time and/or away message will be displayed.%{+n} Owners
  1739. will also see the user's dcc idx.%{-}
  1740. The next section is bots directly linked to the current bot. The arrow
  1741. indicates which bot initiated the connection. The right arrow means this bot
  1742. connected to wortel. A left arrow means the remote bot linked to this bot. A
  1743. '+' next to the arrow indicates that the bot is sharing userfiles with us.
  1744. The connection time (05 Dec 16:32) and bot version are also shown, as well
  1745. as what is specified under "network" in the config file.%{+n} Owners will
  1746. also see the bot's dcc idx.%{-}
  1747. The final section (not shown in example above) is a list of users on the
  1748. local bot who are not on your channel. This will be omitted if there are no
  1749. users on other channels. If you specify the name of a remote bot, for
  1750. example $b'%dwho valis'$b, the who request will be sent to that bot instead.
  1751. The remote bot must be linked to the botnet.
  1752. %{+m}
  1753. Masters may also see "(con <flags>)" after a user's entry, which shows the
  1754. user's console flags/modes (see $b'%dhelp console'$b).
  1755. In the final section (users that aren't on the current channel), masters
  1756. will see the actual channels other users are on. Also, people in the
  1757. filesystem will be listed (as being in channel "files") if the filesys
  1758. module is loaded. A '+' next to the nickname here means the user has
  1759. access to return to the party line.%{-}
  1760. See also: whom
  1761. ::whoami
  1762. ### $bwhoami$b
  1763. Shows your current handle and to what bot you are connected.
  1764. See also: whom
  1765. ::whois:
  1766. ### $bwhois$b [nickname]
  1767. Shows you stored information about a user record.
  1768. If no nickname is specified, your own record is shown. Five headings are
  1769. displayed:
  1770. $bHANDLE$b - the handle (nickname) of the user
  1771. $bBOTNICK$b - This user record is a bot.
  1772. $bPASS$b - "yes" if she has a password set; "no" otherwise
  1773. (bots dont use passwords)
  1774. $bFLAGS$b - the list of flags for this user (see below)
  1775. $bLAST$b - the time or date that the user was last on irc or the partyline
  1776. Valid flags:
  1777. $bd$b = deop (user cannot be opped)
  1778. $bk$b = autokick (user is kicked and banned automatically)
  1779. $bo$b = op (user has op access; this is not auto-op)
  1780. $bq$b = quiet (user cannot be voiced)
  1781. $bv$b = voice (user gets +v automatically from +y bots)
  1782. Valid user-only flags:
  1783. $ba$b - admin (user has absolute control over botnet minus a few perm-owner only cmds)
  1784. Be careful who you give this to, only the perm-owner of the net should even have it.
  1785. $bi$b - hub access (user has hub DCC access)
  1786. $bj$b - leaf access (user has leaf DCC access)
  1787. $bm$b = master (user has more access to the botnet cmds than a normal user)
  1788. $bn$b = owner (user has just about full access to bot)
  1789. $bO$b = autoop (user is auto-opped; this does not require any authentication)
  1790. $bp$b - partyline-chat (user can speak on partyline. [$brequires +j or +i$b])
  1791. $bx$b = flood-exempt (user is exempt from flood kicks)
  1792. Valid bot-only flags:
  1793. $bB$b = backup-bot (bot will only join chans marked +backup, see '%dhelp chaninfo')
  1794. $bc$b - chat-bot (bot accepts DCC chat on irc)
  1795. $bf$b = flood-bot (bot reacts to floods based on [cpu intensive] flood settings)
  1796. $bl$b = limit-bot (bot sets limit in all channels, see '%dhelp chaninfo') [$bCPU INTENSIVE$b]
  1797. $br$b = resolve (bot resolves clients in to match against userlist) [$bCPU INTENSIVE+$b]
  1798. $bu$b - update-bot (see doc/UPGRADING)
  1799. $by$b = voice-bot (bot gives out voices/auto-ops in chans) [$bCPU INTENSIVE$b]
  1800. $bFlags followed by a '=' may also be used for a specific channel record.$b
  1801. Hostmasks for the user are displayed on the following lines. If the user is
  1802. a bot, there will be a line below which says "ADDRESS:" and gives the bot's
  1803. telnet address. Some user entries may have "EMAIL:" and "INFO:" entries too.
  1804. There may be additional information displayed depending on the modules
  1805. loaded, such as filesys and console.
  1806. %{+m}
  1807. Masters: if the user has a comment, you will see it under "COMMENT:".%{-}
  1808. See also: match, who, whom%{+m|m}, chattr, chaninfo%{-}
  1809. ::whom
  1810. ### $bwhom$b [channel|*]
  1811. Displays a list of users on the botnet.
  1812. '*' is assumed if no parameters are given.
  1813. For example:
  1814. [23:12] #bryan# whom
  1815. Nick Bot Host
  1816. ---------- --------- --------------------
  1817. *bryan Anakha telnet@xxx.atlaga.adelphia.net [idle 8m]
  1818. *BitchSmack Anakha telnet@xxx.atlaga.adelphia.net
  1819. Total users: 2
  1820. Each user's nickname will be listed in the first column, preceded by a "*"
  1821. if they are a bot owner, "+" if they are a master, "%%" if they are a botnet
  1822. master, or "@" if they are an op. In the next column, the bot the user is
  1823. connected to will be displayed. In the third column, the host is shown. If
  1824. the user is away, the away message will be shown. Likewise, if they are
  1825. idle, their idle time will be displayed.
  1826. To see what users are on a different channel, you may specify a channel
  1827. number/name. If you specify "*" as the channel, all users on all botnet
  1828. channels will be shown.
  1829. See also: who, chat%{+m}, bots%{-}
  1830. ::end