Staff:HelpServ Guide

How HelpServ works
HelpServ is a service bot designed to help with queues of questions (e.g., support requests). It is designed to work seamlessly in multiple channels at one time.

There is one-to-one mapping between HelpServ bots and the channels they act in; this is to allow private messages to work without having users specify a channel, making it 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 completely separate user lists and data sets.

Each HelpServ bot has a set of "helpers", defined by the channel admins(s). For the remainder of this document, we will use "helper" to indicate someone on the help list for a channel, and "user" to indicate all other users. There are also "managers" and one "owner" for the bot.

There are two primary modes: "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 (i.e., 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 (normally, "@").

Help mode
When a user joins the channel, a customizable greeting is sent. This greeting usually informs the user to private message the bot for assistance 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 joining, it opens a virtual folder for them. The time of the request is filed, and they're added to a queue. 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 along with some statistics (e.g., when it was opened, closed, when/if it was picked up by a helper, etc.).

A user is "lost" when:


 * For QUIT-based queues, the user disconnects.
 * For PART-based queues, the user parts the channel.
 * For ACCOUNT-based queues, the account is unregistered.

The default mode for queues is CLOSE-based, which behaves as ACCOUNT-based if the user is authenticated and QUIT-based otherwise.

Command mode
The following commands are defined:

LIST
Usage:

Provides a list of currently open requests, listing unassigned requests first, then assigned.

NEXT
Usage:

Assigns the next unassigned request to yourself.

PICKUP
Usage:

Assigns the specified request to yourself.

REASSIGN
Usage:

Reassigns the specified request to another (online) helper.

CLOSE
Usage:

Closes the specified request, along with a reason if given (which is stored with the request log)

ADDNOTE
Usage:

Appends a note to the specified request, which may be seen by other helpers.

Statistics
The following statistics are currently kept for all helpers:


 * 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