]> jfr.im git - irc/evilnet/x3.git/blob - docs/helpserv.txt
Added support for user modes +D, +R, +W, +H, +L and +q
[irc/evilnet/x3.git] / docs / helpserv.txt
1 Installing
2 ----------
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.
6
7 How HelpServ Works
8 ------------------
9
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
12 at once.
13
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
19 data sets.
20
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
25 "owner" for the bot.
26
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
33 the channel.
34
35 In Help Mode
36 ------------
37
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.
42
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).
50
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.
57
58 Helpers may also annotate an existing request, using the NOTE command.
59
60 In Command Mode
61 ---------------
62
63 The following commands are defined:
64
65 LIST - show the currently open requests (unassigned first, then
66 assigned)
67
68 NEXT - acts as PICKUP for the next unassigned request
69
70 PICKUP <reqno> - assign request number to self
71
72 REASSIGN <reqno> <helpernick|*handle> - reassign request to another
73 (online) helper
74
75 CLOSE <reqno> <comment> - close request, with comment
76 CLOSELAST <comment> - close last PICKUP'ed or HANDOFF'ed request
77
78 NOTE [<reqno>] <comment> - add a note to a request (if not a number, use last assigned)
79
80 TOGMODE - switch between command mode and help mode
81
82 IGNORE <handle> - Ignore the specified handle (or hostmask)
83 IGNORE <nick!user@host> - in the future. Does not close current requests.
84
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>
89
90 PAGE [<explanation>] - send a page, if enabled
91
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
102 complain to PAGEDEST
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)
106
107 STATS [<nick|*handle>] - show statistics for nick/handle (must be self,
108 or self must be a manager; defaults to self)
109
110 STATSREPORT - show overall statistics (such as?)
111
112 Statistics
113 ----------
114
115 For any helper (includes managers), the following statistics are kept:
116
117 - Time in channel (total, this week, this month)
118 - Requests "picked up"
119 - Requests closed
120 - Requests handed off
121 - Handoffs received