Chatbots are the hot, new-old thing. They stepped out of the ancient Internet loam of IRC’s earliest days (and prior to that, ELIZA), and almost thirty years later they’ve evolved into cheeky automatons you order around on modern platforms like Slack and Facebook Messenger.
The best modern chatbots aren’t nearly as loved as, say, a popular mobile app. But if you spend your workday typing text messages into a box, a good bot can be pretty useful — and more entertaining than election-season Twitter.
Almost a year and a half ago, Postlight’s Director of Engineering Jeremy Mack committed the first bit of code that would become Postlight’s popular and useful chatbot, cleverly named “bot.” Bot doesn’t just perform parlor tricks; it’s become a key part of Postlight’s toolset and influences a good bit of our internal company chat culture.
Bot doesn’t get the credit it deserves, so let’s take a closer look. Here are a few things we use bot for in our daily work lives at Postlight.
(Bot knows all our secrets so it isn’t available to the public, but see the Tech Details section below on how to set up your own.)
People and Projects
Bot talks to Pingboard, the app we use to track people, projects, locations, and titles, via this script. That means we can ask bot things like “who’s out today?”
What’s a certain person working on at the moment?
Who’s working on a project?
Credits and Demerits with PlusPlus
Bot also helps us publicly recognize a coworker’s brilliance (or a coworker’s unfortunate choice of words). The Hubot PlusPlus script gives bot the ability to add, subtract, and tally a score for anything, awarded simply by typing a name and adding a ++ (to give a point) or — (to take one away).
Then, if you’re keeping score — and both no one and everyone is — you can ask bot what someone or something’s score is, and why they received points and got points taken away.
State of a Project
Bot also talks to GitHub, and can tell you what’s been going on there without leaving the chat interface. We use certain naming conventions in our commits, prefixing messages with fix for bugfixes, feat for enhancements, docs for documentation, and chore for admin tasks. That means bot can provide a handy summary of a code repository’s activity in a specified time period, broken down by feature or fix.
Fun & Information
Finally, bot can do many generally-useful things, like tell you the weather for a location, set and trigger reminder messages, show you youtube videos, a random gif or emoji based on a keyword, and tell you what time it is.
And sometimes you just need to see a pug, or whatever is on reddit.com/r/aww at the moment.
The Tech Details
Bot is based on GitHub’s Hubot framework, initially created using generator-hubot, and deployed on Heroku. Bot gets intermittent attention from various engineers across Postlight as needs change, and bot continues to wow new employees with its performances in our public channels.
We try not to anthropomorphize this particular pile of 1’s and 0’s too much, but once in awhile a “thanks” just slips out.
Story published on Sep 7, 2016.