Drop all privileges from a user, in all channels.
Fetches a user from the cache, creating it first if it doesn't exist by assigning it to the passed user.
Reads, completes and saves the user classification JSON file, creating one if one doesn't exist. Removes any duplicate entries.
Reads, completes and saves the hostmasks JSON file, creating one if it doesn't exist.
Initialises the service's hostmasks and accounts resources.
Catch users in a reply for the request for a NAMES list of all the participants in a channel.
Reloads classifier definitions from disk.
Catch users in a reply for the request for a WHO list of all the participants in a channel.
Hijacks a reference to a IRCEvent after parsing and fleshes out the IRCEvent.sender and/or IRCEvent.target fields, so that things like account names that are only sent sometimes carry over.
Propagate a user's account to all channels and the nickname-account map.
Walks the channel-user cache and removes entries older than a certain age. Additionally removes channels with no users, and nicknames from the nickname account map that are not found in any channel.
Reloads the service, rehashing the user array and loading admin/staff/operator/elevated/whitelist/blacklist classifier definitions from disk.
Reloads admin/staff/operator/elevated/whitelist/blacklist classifier definitions from disk.
Reloads hostmasks definitions from disk.
Attempts to resolve the account of a user by looking it up in the various related caches.
Attempt to resolve a user class, in the context of some channel (or globally if passed an empty string).
Update a user in the cache, melding the new user into the existing one if it exists, or creating it if it doesn't.
Settings for the Persistence service.
The Persistence service keeps track of all encountered users, gathering as much information about them as possible, then injects them into IRCEvents when information about them is incomplete.
This means that even if a service only refers to a user by nickname, things like its ident and address will be available to plugins as well, assuming the Persistence service had seen that previously.
It has no commands.