dbot/modules/quotes
reality 8e8953999d Various database branch fixes [#331]:
* Admin module doesn't try to use reload string when it's not there.
* Fix dent event hookin
* Fix quote retrieval (two ~q definitions and no false check before interpolate)
* Change databankerised modules to use redis for testing
2013-04-22 14:22:35 +00:00
..
commands.js Various database branch fixes [#331]: 2013-04-22 14:22:35 +00:00
config.json rewrote all of quotes commands because array shims just werent good enough [#331] 2013-04-12 00:38:51 +00:00
pages.js transform quotes [#131] 2013-01-15 14:47:46 +00:00
quotes.js Various database branch fixes [#331]: 2013-04-22 14:22:35 +00:00
README.md add readme for users 2013-01-15 21:43:09 +00:00
strings.json dat merge 2013-04-20 10:51:39 +00:00
usage.json loaded strings and usage from the modules themselves in reloadModules. some other smaller changes. fixed the syntax of the usage json. careful though this dbot init may delete your database. 2012-12-11 20:06:29 +00:00

Quotes

Stores and displays quotes.

Description

This is the original reason that DBot was created, stores and displays quotes.

Configuration

rmLimit: 10

Amount of quotes which can be removed before admin approval is required.

Commands

~q [category]

Display a random quote from a given category.

~qadd [category] = [quote]

Add a new quote to the database.

~qstats

Show a list of the biggest quote categories.

~qsearch [category] = [needle]

Search a category for quotes including the given text.

~rmlast [category]

Remove the last quote added to a given category.

~rmstatus

Show how many quotes are currently in the removal cache, and whether they will be randomly removed.

~rm [category] = [quote]

Remove a given quote from the given category.

~qcount [category]

Show the number of quotes stored in the given category, or if called without a category it will show the total number of quotes in the database.

~rq

Show a random quote from the database.

Show a link to the page on the web interface which shows this categorys quotes.

Admin-only Commands

~rmconfirm

Confirm that the quotes currently in the removal cache are okay to be removed, and permanently delete them.

~rmdeny

Re-instate the quotes that are currently in the removal cache back into the main quote database.

API

getQuote(event, category)

Returns a random quote from the given category.

Removal Spam Protection

When quotes are removed using either the ~rm or ~rmlast commands, the quotes are removed from the main database, but are stored in a removal cache which is cleared out ten minutes from the last time a quote was removed from the database. If the number of quotes removed from the database reaches a certain limit (as per rmLimit in config, default 10) then the counter is removed and the cache will not be deleted automatically. In such a case, a DBot admin needs to either run the ~rmconfim command to have the removal cache cleared, or ~rmdeny to re-instate all of the quotes in the removal cache back into the main quote database. This is to stop mass removal from the database without limiting the user interface.