Registered users
Registration of users in KVIrc
Introduction
The registered user database is basically a set of users with associated irc-masks and properties.
It is used to recognize users on IRC and associate properties to them.
This works more or less like the IRC ban list, K-Line list, or invite list.
User entry
A registered user database entry is identified by a unique name.
It may be the nickname of the user that you want to match, or the real name (if you know it) or any other string (even with spaces). The name is an internal identifier for the user entry: each name maps to a single entry and each entry has a single name.
Each entry has a set of registration irc-masks: these masks are used to recognize the user on IRC.
Registration masks
The masks have the common IRC mask format: <nick>!<user>@<host>
The masks may contain * and ? wildcards that match any portion of text.
*!*@*
Pragma!*@*
*!~daemon@*
Pragma!*daemon@*.it
Pragma!?daemon@some*.it
Pragma!~daemon@some.host.it
Are examples of valid registration masks.

The masks with wildcards can actually match more than a single user.
For example the mask *!root@*.host.com will match all the users having root as username and coming from the host.com domain.
For this reason putting wildcards in nicknames could become a problem if not used carefully (but may also be used to achieve interesting tricks).
If you don't use wildcards in nicknames you are sure that in a single IRC connection, a mask will always refer to a single user.
You will commonly use the following format:
<nick>!*<username>@*.<host>.<top>
or
<nick>!*<username>@<number>.<number>.<number>.*
In this way you can be 95% sure that the mask will really match the correct user.
Example of registration and lookups
Assume that you want to register a friend of yours: Derek Riggs.
Derek often uses Eddie as his nickname stranger as username and has a dial-up connection that makes his IP address appear as <variable-number>.somewhere.in.time.org.
You will add an entry with name Derek Riggs and a registration mask like the following:
Eddie!stranger@*.somewhere.in.time.org.
If the IRC servers keep adding strange characters (prefixes) at the beginning of his username you may use;
Eddie!*stranger@*.somewhere.in.time.org.
If Eddie also often connects from the wasted.years.org domain and gets eddie as username there, you might add a second registration mask as follows:
Eddie!*eddie@*.wasted.years.org.
An alternative could be use only one mask with *.org as domain and allow any username (Eddie!*@*.org) but this could become dangerous since it could match the users that you don't want to.
On the other hand, if you dislike the users with the nickname Eddie that come from .org and you're implementing an auto-kick system, the correct mask to register is Eddie!*@*.org.

KVIrc tries to be smart, and always find the most correct match for a user: If you have two masks registered: Pragma!*xor@*.myisp.it and *!*@*.myisp.it, KVIrc will match Pragma!~xor@233-dyn.myisp.it with the first one even if the second one also matches; the first one however, is a best match.
Properties
A registered user has an (eventually empty) set of properties defined by name/value pairs. (In versions prior to 3.0.0 flags were used instead, but revealed to be insufficient).
KVIrc recognizes some of these properties and associates semantic actions to it; other properties are left for scripting extension. Property names are case insensitive.
One of the recognized properties is the notify property.

When a user is found to have this property set to a special value KVIrc will attempt to track the user presence on IRC. Another one is the avatar property. Its value should be the name of the default avatar image file for the specified user.
The ignore property should be set to 1 (or true) for users that have to be ignored (:D).
The interface to the database
The reguser module is the interface to the registered users database.
It provides a set of commands for adding and removing masks and manipulating properties.

Index, Miscellaneous