Log in | Back to darenet.org

Staff:HelpServ Guide

In This 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: /msg HelpServ LIST

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

NEXT

Usage: /msg HelpServ NEXT

Assigns the next unassigned request to yourself.

PICKUP

Usage: /msg HelpServ PICKUP <reqid|nickname|*account>

Assigns the specified request to yourself.

REASSIGN

Usage: /msg HelpServ REASSIGN <reqid|nickname|*account> <helpers_nickname|*helpers_account>

Reassigns the specified request to another (online) helper.

CLOSE

Usage: /msg HelpServ CLOSE <reqid|nickname|*account> [reason]

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

ADDNOTE

Usage: /msg HelpServ ADDNOTE <reqid|nickname|*account> <message>

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