A while back, I wrote the hubot-slack-github-issues plugin for Hubot to generate GitHub issues from Slack messages. The idea being, your team’s documentation sources are stored in GitHub, and whenever someone says something in a Slack chat that should be preserved for posterity (rather than lost to the sands of channel history), adding an emoji to it will automatically create a new documentation issue with a link to the message:
This interface (which wasn’t my idea; I only implemented it) is pretty great in general, but it’s particularly great for getting nontechnical people to participate in this form of knowledge cultivation. I’m always happy to help make the right thing the easy thing.
The plugin worked brilliantly; the only real wrinkle in the development process
was that while the Slack API had full support for reaction_added
messages, the hubot-slack
adapter didn’t. Since hubot-slack
was open source, however, I could fork and hack the code to do what I needed,
but the long-term plan was always to push this code back upstream.
Long story short, I finally got the green light to do so, and I added a new ReactionMessage type to hubot-slack v4.1.0. Then earlier this week, someone requested a “Hello, World!”-style example to demonstrate its usage.
Today I obliged by creating the mbland/hubot-slack-reaction-example sample bot. After just a couple hours to figure out how to create my own Slack domain and get my head back into the code, it came together pretty easily:
I figured I’d announce it here in case anyone else’s interested in implementing
anything based on this new ReactionMessage
interface. Hopefully this week
I’ll be able to carve out the time to update the original Hubot plugin and the
Unit testing in Node.js tutorial
tutorial based on it. And if I get on a roll, maybe I’ll make a proper Slack
app out of it, too.