general.debugcontext: filter out cmdlist and arglist
Core/Applets: log applet start/stop and duration
Core/ProcessManager: fix potential race-condition with $context object
Core/Interpreter:
* expand pronouns before command-substitution
* attempt to find current channel's factoid instance for metadata
* remove duplication of command history in command-substition
* terminate pipe/substitution processing when protecting self
Core/Factoids: limit -url contents to 250kb
Same-player ships will no longer be aligned end-to-end in the same orientation
to appear like one long ship.
There will no longer always be an even amount of horizontal and vertical ships
for each player.
This was way overdue. User passwords are no longer stored as cleartext.
When PBot is restarted after applying this commit, all stored passwords will
be converted to salted hash digests.
The `useradd`, `userset` and `my` commands will now hash passwords.
Why did it take me so long to finally get around to hashing passwords
properly, you might ask. The reason why this wasn't done sooner is because
all of my users used hostmask-based `autologin`. The passwords that PBot
randomly generated were ignored and never used.
I do regret that it took me so long to get around to this, for those of you
who might be using custom passwords instead of hostmask-based `autologin`.
- refactor `wordlists` into structure with more details
- added `name` field for language names
- added `prompt` field for localized "Guess the word!" prompt
- added `supp` field for supplemental wordlists
(used to add words to list for guessing, e.g. urban with insane supplement
allows initial word selection from urban list and then adds words from
insane list for more options for guessing)
- moved accents into added `accents` field
- added `min_length` and `max_length` fields for lists that are different
from default lengths
- misc minor adjustments