When adding a new unknown hostmask to the message history accounts, we now
take significant advantage of the aliases table to find an existing account
id for the hostmask before assigning it a new account id.
Likewise, we now take significant advantage of the aliases table when looking
for a nick-change match.
Fix misc channel case-sensitivity issues, add missing last-seen hostmask
updates, reduce message account linking log verbosity level.
Factoids can now have an effective-level metadata field. When set, certain
functionality requiring an effective-level will be enabled.
For now, that is currently only the /kick command, which has an effective-level
of 10.
Factoids with an effective-level set will also have the locked metadata
attribute set as well to prevent people from changing the factoid. The
locked and/or effective-level attributes will be removable only by admins
whose level is equal to or greater than the effective-level.
Previously, the bot wouldn't address people by nick if the provided nick
argument doesn't exist in the channel.
Now, the bot's nick list is searched for a nick with a certain similarity
percentage in the order of most recently spoken nicks first. This allows
the bot to address nicks when somebody may have forgotten to add a trailing
underscore/punctuation or may have typoed the nick.
The similarity percentage can be set via the interpreter->nick_similiarty
registry key. A value of 0 should disable the behavior.
When joining a channel, check the WHO list for that channel in order
to obtain all hostmask, nickserv and gecos information and check for
potential ban evasions.