Staff:HelpServ Guide
HelpServ Guide |
Adapated from services-darenet/docs/helpserv.txt
In This Guide: |
How HelpServ works
HelpServ is a bot designed to help with queues of questions (or support requests). It is designed to work well in multiple channels at once.
There is one-to-one mapping between help bots and channels they act in; this is to allow private messages to work without having users specify a channel (which is much easier to use). For example, HelpServ might be in #support, and Interview could be in #counterstrike; both would be bots of this kind, but would have totally separate user lists and data sets.
Each channel/help bot has a set of "helper" users, defined by the channel admin(s). In the rest of this document, we will use "helper" to indicate someone on the helper list for the channel, and "user" to indicate all other users. There are also "manager" users and one "owner" for the bot.
There are two primary mode: "command mode" and "help mode." Helpers default to command mode, and other users default to help mode. Command mode uses a command parser similar to the standard services (e.g., NickServ, ChanServ, etc.). Help mode queues each user's messages into a virtual folder for later perusal by a helper. A helper who is actively using "help mode" may issue "command mode" lines by prefixing them with a "command word" for the channel.
In help mode
When a normal user joins the channel, a customizable greeting is sent. This usually tells the user to private message the bot for help (or to queue a question). It is recommended that this include a URL to a FAQ. The bot then shuts up until the user messages them again.
When a user messages the bot for the first time after they join, it opens a virtual folder for them. The time of this request is filed, and they are added to a queue. It also sends another customizable message. The virtual folder is kept active until a helper closes it or the user is "lost"; when the virtual folder is closed, it is written out to a file (with statistics on when it was opened, closed, if (and when) it was picked up by a helper, etc).
A user is "lost" when:
- For QUIT-based requests (or queues), the user disconnects from IRC>
- For PART-based requests, the user parts the channel.
- For account-based requests, the account is unregistered.
The default mode for queues is close-based, which behaves as account-based if the user is authed and quit-based otherwise.
Helpers may also annotate an existing request, using the ADDNOTE command.
In command mode
The following commands are defined:
LIST - shows currently open requests (unassigned first, then assigned).
NEXT - acts as PICKUP for the next unassigned request.
PICKUP <reqid|nick|*account> - Assigns the specified request to yourself.
REASSIGN <reqid|nick|*account> <helpernick|*account> - Reassigns the request to another (online) helper.
CLOSE <reqid|nick|*account> [reason] - Closes the request, with comment (stored in request log).
ADDNOTE <reqid|nick|*account> <message> - Adds a note to a request.
Statistics
For any helper (including managers), the following statistics are kept:
- Time in channel (total, this week, this month)
- Number of requests "picked up"
- Number of requests closed
- Number of requests handed off (i.e., reassigned)
- Number of requests received