help.txt 91 KB

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