Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/therealklanni/hubot-factoids
Factoids for Hubot
https://github.com/therealklanni/hubot-factoids
factoids hubot
Last synced: about 1 month ago
JSON representation
Factoids for Hubot
- Host: GitHub
- URL: https://github.com/therealklanni/hubot-factoids
- Owner: therealklanni
- License: mit
- Created: 2014-05-20T03:01:18.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2019-02-06T21:32:08.000Z (almost 6 years ago)
- Last Synced: 2024-11-11T21:56:32.549Z (about 1 month ago)
- Topics: factoids, hubot
- Language: CoffeeScript
- Homepage:
- Size: 32.2 KB
- Stars: 5
- Watchers: 2
- Forks: 20
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Hubot Factoids
A factoids implementation for Hubot, inspired by [oftn-bot](https://github.com/oftn/oftn-bot).
[![Build Status](https://travis-ci.org/hubot-scripts/hubot-factoids.svg)](https://travis-ci.org/hubot-scripts/hubot-factoids)
## Features
* Supports [hubot-auth](https://github.com/hubot-scripts/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.## Installation
`npm install hubot-factoids`
## Configuration
`HUBOT_BASE_URL` _[required]_ - URL of Hubot (ex. http://myhubothost.com:5555/)
`HUBOT_FACTOID_PREFIX` _[optional]_ - prefix character to use for retrieving a
factoid (defaults to `!` if unset)## Commands
### 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:** `` 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 = `
### Inline editing a factoid
If you prefer, you can edit a factoid value inline, using a sed-like substitution
expression.`hubot: learn =~ s/expression/replace/gi`
`hubot: learn =~ s/expression/replace/i`
`hubot: learn =~ s/expression/replace/g`
`hubot: learn =~ 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 = `
### 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 `
### 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](https://github.com/hubot-scripts/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 `