help.txt 91 KB

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