Detailed Description

Holds all information about a user This class stores all information about a user connected to the irc server. Everything about a connection is stored here primarily, from the user's socket ID (file descriptor) through to the user's nickname and hostname.

Execute a function once for each local neighbor of this user. By default, the neighbors of a user are the users who have at least one common channel with the user. Modules are allowed to alter the set of neighbors freely. This function is used for example to send something conditionally to neighbors, or to send different messages to different users depending on their oper status.

Returns the full real host of the user This member function returns the hostname of the user as seen by other users on the server, in [email protected] form. If any form of hostname cloaking is in operation, e.g. through a module, then this method will ignore it and return the true hostname.

Returns true or false if a user can set a privileged user or channel mode. This is done by looking up their oper type from User::oper, then referencing this to their oper classes, and checking the modes they can set.

Returns true or false for if a user can execute a privilaged oper command. This is done by looking up their oper type from User::oper, then referencing this to their oper classes and checking the commands they can execute.

Returns true if a user has a given permission. This is used to check whether or not users may perform certain actions which admins may not wish to give to all operators, yet are not commands. An example might be oper override, mass messaging (/notice $*), etc.

Parameters

privstr

The priv to chec, e.g. "users/override/topic". These are loaded free-form from the config file.

noisy

If set to true, the user is notified that they do not have the specified permission where applicable. If false, no notification is sent.

If this is set to true, then all socket operations for the user are dropped into the bit-bucket. This value is set by QuitUser, and is not needed seperately from that call. Please note that setting this value alone will NOT cause the user to quit.