3 * Add helpserv to the --enable-modules list in ./configure
4 * /msg opserv bind opserv helpserv *helpserv.helpserv
5 See the FAQ for more info re helpserv and memoserv.
10 HelpServ is a bot designed to help with queues of questions (or
11 support requests). It's designed to work well in multiple channels
14 There is a one-to-one mapping between help bots and channels they act
15 in; this is to allow privmsgs to work without having users specify a
16 channel (which is much easier to use). For example, HelpServ might be
17 in #support, and Interview could be in #counterstrike; both would be
18 bots of this kind, but they would have totally separate user lists and
21 Each channel/help bot has a set of "helper" users, defined by the
22 channel admin(s). In the rest of this document, I will use "helper"
23 to indicate someone on the helper list for the channel, and "user" to
24 indicate all other users. There are also "manager" users and one
27 There are two primary modes: "command mode" and "help mode." Helpers
28 default to command mode, and other users default to help mode.
29 Command mode uses a command parser similar to the standard services.
30 Help mode queues each user's messages into a virtual folder for later
31 perusal by a helper. A helper who is actively using "help mode" may
32 issue "command mode" lines by prefixing them with a "command word" for
38 When a normal user joins the channel, a customizable greeting is sent.
39 This usually tells the user to privmsg the bot for help (or to queue a
40 question). It is recommended that this include a URL to a FAQ. The
41 bot then shuts up until the user msgs them again.
43 When a user msgs the bot for the first time after they join, it opens
44 a virtual folder for them. The time of this request is filed, and
45 they are added to a queue. It also sends another customizable
46 message. The virtual folder is kept active until a helper closes it
47 or the user is "lost"; when the virtual folder is closed, it is
48 written out to a file (with statistics on when it was opened, closed,
49 if (and when) it was picked up by a helper, etc).
51 A user is "lost" when:
52 - For QUIT-based requests (or queues), the user disconnects from IRC.
53 - For PART-based requests, the user parts the channel.
54 - For handle-based requests, the handle is unregistered.
55 The "default" mode for queues is close-based -- which behaves as
56 handle-based if the user is authed and quit-based otherwise.
58 Helpers may also annotate an existing request, using the NOTE command.
63 The following commands are defined:
65 LIST - show the currently open requests (unassigned first, then
68 NEXT - acts as PICKUP for the next unassigned request
70 PICKUP <reqno> - assign request number to self
72 REASSIGN <reqno> <helpernick|*handle> - reassign request to another
75 CLOSE <reqno> <comment> - close request, with comment
76 CLOSELAST <comment> - close last PICKUP'ed or HANDOFF'ed request
78 NOTE [<reqno>] <comment> - add a note to a request (if not a number, use last assigned)
80 TOGMODE - switch between command mode and help mode
82 IGNORE <handle> - Ignore the specified handle (or hostmask)
83 IGNORE <nick!user@host> - in the future. Does not close current requests.
85 ADDMANAGER <nick|*handle> - add or remove a manager or helper
86 DELMANAGER <nick|*handle> (managers may add and remove users
87 ADDHELPER <nick|*handle> and see statistics for anyone)
88 DELHELPER <nick|*handle>
90 PAGE [<explanation>] - send a page, if enabled
92 SET [<option> <value>] - set an option:
93 - GREETING - message sent when user joins channel
94 - OPENREQ - message sent when user opens a request
95 - CLOSEREQ - message sent to requester when a request is closed
96 - CMDWORD - "command mode" escape word (for helpers in help mode)
97 - PAGEDEST - target for pages
98 - PAGEMSG - default page text (if no explanation when PAGE invoked)
99 - IDLETIME - how long (with users, not helpers in the channel) before
100 bot complains to PAGEDEST
101 - WHINETIME - how long before an unhandled request will make the bot
103 - WHINEINTERVAL - how frequently the bot will complain about unhandled
104 requests, or users in channel without heleprs there
105 - REASSIGN - privileges to use REASSIGN (helper, manager, owner)
107 STATS [<nick|*handle>] - show statistics for nick/handle (must be self,
108 or self must be a manager; defaults to self)
110 STATSREPORT - show overall statistics (such as?)
115 For any helper (includes managers), the following statistics are kept:
117 - Time in channel (total, this week, this month)
118 - Requests "picked up"
120 - Requests handed off