npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

hubot-factoids

v1.2.0

Published

Factoids for Hubot

Downloads

20

Readme

Hubot Factoids

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

Build Status

Features

  • 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.

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: <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.

!<factoid>

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>