Factoids for Hubot
Last updated 5 years ago by therealklanni .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install hubot-factoids 
SYNC missed versions from official npm registry.

Hubot Factoids

A factoids implementation for Hubot, inspired by oftn-bot.

Build Status


  • Supports hubot-auth.
  • @mention support: factoid value will be directed at mentioned user.
  • Customizable prefix
  • Aliases: point a factoid at the value of another factoid.
  • Substitutive editing using sed-like syntax.
  • Factoid history: any time a new value is set on a factoid, the name of the user, current date, previous value and new value are recorded
  • Factoid popularity: currently only visible in the raw data
  • HTTP route to view raw JSON factoid data.


npm install hubot-factoids


HUBOT_BASE_URL [required] - URL of Hubot (ex.

HUBOT_FACTOID_PREFIX [optional] - prefix character to use for retrieving a factoid (defaults to ! if unset)


Create/update a factoid

Creates a new factoid if it doesn't exist, or overwrites the factoid value with the new value. Factoids maintain a history (can be viewed via the factoid URL) of all past values along with who updated the value and when.

Note: <factoid> can be any string which does not contain = or =~ (these reserved characters delimit the factoid and its value), although special characters should be avoided.

hubot: learn <factoid> = <details>

Inline editing a factoid

If you prefer, you can edit a factoid value inline, using a sed-like substitution expression.

hubot: learn <factoid> =~ s/expression/replace/gi

hubot: learn <factoid> =~ s/expression/replace/i

hubot: learn <factoid> =~ s/expression/replace/g

hubot: learn <factoid> =~ s/expression/replace/

Set an alias

An alias will point to the specified pre-existing factoid and when invoked will return that factoid's value.

hubot: alias <factoid> = <factoid>

Forget a factoid

Disables responding to a factoid. The factoid is not deleted from memory, and can be re-enabled by setting a new value (its complete history is retained).

hubot: forget <factoid>

Get URL to factoid data

Serves a page with the raw JSON output of the factoid data

hubot: factoids

Recall a factoid value

Recall the value of the given factoid.

Note: Hubot should not be directly addressed.


Can be combined with a @mention to direct the message at another user:

!factoid @user

Hubot will respond accordingly:

Hubot> @user: factoid value

Search for a factoid

Find a factoid containing the given string. The string can be matched in either the factoid key or value.

hubot: search foobar

Drop a factoid

Permanently removes a factoid—this action cannot be undone. If hubot-auth script is loaded, "admin" or "factoids-admin" role is required to perform this action. It's recommended you use the forget command instead of drop.

hubot: drop <factoid>

Current Tags

  • 1.2.0                                ...           latest (3 years ago)

13 Versions

  • 1.2.0                                ...           3 years ago
  • 1.1.0                                ...           3 years ago
  • 1.0.1                                ...           4 years ago
  • 1.0.0                                ...           4 years ago
  • 0.2.7                                ...           5 years ago
  • 0.2.6                                ...           5 years ago
  • 0.2.5                                ...           5 years ago
  • 0.2.4                                ...           6 years ago
  • 0.2.3                                ...           6 years ago
  • 0.2.1                                ...           6 years ago
  • 0.2.0                                ...           6 years ago
  • 0.1.1                                ...           6 years ago
  • 0.1.0                                ...           6 years ago
Maintainers (1)
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 0
Dependencies (1)
Dev Dependencies (6)
Dependents (1)

Copyright 2014 - 2016 © |