Adds self-hosted, single-realm administrative functions to otouto.
Check out the README for a detailed description.
Also added msg.from.name, which is msg.from.first_name + msg.from.last_name (if it
exists), because I'm too lazy to build it each time.
Fixed a crash-causing bug (ironically) in the handle_exception() function.
When an exception is caught, info will be printed to the config.log_chat or the console.
/preview will give an "unlinked" preview for the link.
youtube.lua now uses config.google_api_key.
youtube.lua now uses unlinked previews.
lastfm.lua gives more informative error messages.
New utility: handle_exception().
Usernames seen by the bot are now cached in the $usernames table. To get the ID associated with a
username, use the resolve_username() function from utilities.lua.
The table_size() function in utilities.lua will tell you the number of items in a key/pair table.
about.lua no longer displays a link preview in the about message.
currency.lua now accepts decimal arguments for the amount.
luarun.lua now correctly displays "false" return values.
moderation.lua will no longer send "I do not administrate this group".
help.lua has been rewritten to support "/help command".
New variable "command" has been added to plugins for the syntax (w/out slash) to be displayed in main
help message. "doc" will be displayed upon "/help command".
Output of >12 plugins has been reformated to utilize markup.
There is a fairly standard style throughout plugins.
get_word() in utilities.lua now has defaults for nil arguments.
Redone README to match the website.
Bot now supports deep linking / start payloads.
lastfm.lua now notifies a user when his default username is saved.
antisquig is now part of moderation.lua.