.. | ||
commands.js | ||
config.json | ||
pages.js | ||
quotes.js | ||
README.md | ||
strings.json | ||
usage.json |
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.
~link [category]
Show a link to the page on the web interface which shows this category’s 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.