NerdNu/nerdCH — pull request #24 by Mumberthrax (2014-10-30 02:45:44+00:00)
Title: Overhaul of /rulebook command via /book

#### Summary:
* Multiple books are now stored in persistence network database, rather than one book in a single text file. This allows them to be edited and saved from in-game.
* Several new commands for admins.
* /rulebook still behaves the same for players on the surface.
* New /book and /book-list commands for players to access additional books/guides created by staff.
* a little bit of housecleaning. moved /edit, /paste, and updated /rulebook to books.msa.
* firstjoin event now calls /rulebook as an alias, rather than dupliating function.
* cooldown on command use moved from rulebook.player() to cooldowns.book.player() in database, in case other commands are given cooldown periods.
* legacy /rulebook command still present in rulebook.msa, just commented out - in case it's needed.

New commands | Modified commands | Relocated Commands
------------ | ------------- | ------------
/book | /rulebook | /paste
/book-list | | /edit
/book-publish | | /rulebook
/book-delete ||
/book-download ||
/book-legacy ||

#### Commands:
##### /book
> Behaves like /rulebook did, but with access to a list of book names. Use without parameters for info on all commands.

##### /book-list
> Lists all books available to retrieve with /book

##### /book-publish
> Admin-only command. Adds a held book to the database with the given name. Visible in /book-list and retrievable with /book by all players.

##### /book-delete
> Admin-only command. Remove a book from /book-list

##### /book-download
> Admin-only command. Download properly formatted text from an internet address into a written book. Uses same formatting as /rulebook did.

##### /book-legacy
> Admin-only command. Behaves almost exactly as /rulebook used to, retrieves the same shared.firstjoin.book file and parses it into a book.

##### /rulebook
> Behaves the same as always for players on the surface. Actually calls /book rules. If no book with the label "rules" has been set in the database, it attempts to import the legacy file from shared.firstjoin.book into the database with the label 'rules'.

#### Known Quirks
Using /book-download on paste.thezomg.com (which /paste sends book content to) does not always import special unicode characters properly.

This is my first attempt at writing code for commandhelper. If I made some noob mistakes, I would appreciate any corrections or suggestions you may have to offer.