"things occurred"
Added some utilities (id_from_username, id_from_message), removed some utilities (latcyr, others?).
Removed cycle-wasting "shortcuts" -- no more automatic id_str or name; text_lower remains.
Moved userdata (nicknames, lastfm, etc) to a different tree in the database (automatic migration will occur). /me now returns userdata.
Speaking of migration, database now stores the latest version run to make future automigration easy.
Database now saves hourly rather than minutely.
Changed readme and some plugins to reflect above changes.
Removed broken rockspec (Brayden, feel free to re-add once it's working).
Added option to automatically block people (via drua) when blacklisted.
Fixed about.lua trigger problems.
administration 1.11 - Removed /kickme and /broadcast. Users should leave manually, and announcements should be made via channel rather than spam. /setqotd now handles forwarded messages correctly. /kick, /ban, /hammer,
/mod, /admin now support multiple arguments. Added get_targets function. No migration is necessary.
Plugins can now silence error messages or set their own.
administration.lua now silences error messages.
administration kick notifications now include user IDs.
Relicense to AGPLv3, with consent of contributors.
bindings.lua completely rewritten. Shift to multipart-post.
Updated readme.
New plugins: bing.lua, channel.lua.
Removed plugins: floodcontrol.lua, librefm.lua.
luarun.lua: Will now serialize returned tables. Aliased "/return" to "/lua return".
bindings.lua: Added support for kickChatMember and unbanChatMember methods.
utilties.lua: enrich_message() will rename the new_chat_member and left_chat_member values to the names
expected by plugins: new_chat_participant and left_chat_participant.
bot.lua: Removed migration code. Rewrite soon.
eightball.lua: Bugfix.
me.lua: Fix for potential future bug.
README.md: Better links.
config.lua: Added comments, links, removed unnecessary things.
greetings.lua: Default configuration now built in so as to not
crowd the config file.
.gitignore: wew lad
administration.lua: everything's better; automatic migration.
database.usernames -> database.users. View with /me.
Nicks and lastfm usernames moved to database.users; auto migrate.
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".
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.
Everything reworked and rewritten.
Antisquig is now a plugin to work with moderation.lua.
The bot can now upload photos, stickers, and other files.
Return values in plugin functions to affect the bot's behavior.
All this and more!