Hacker News new | ask | show | jobs
by chlestakoff 3845 days ago
Will somebody please explain the use cases for slack bots to me? If they are basically glorified command line scripts, the I get it. But are there genuine and important use cases that require/can benefit from a richer dialogue?
4 comments

There's a pretty good talk on "chatops" by the guys at GitHub[0]. Basically, it provides a dialog around a "shared command-line" where developers from learn from each other by simply watching chat. I think it's more beneficial to distributed companies.

However, my question for those using chatops is basically how do you keep the repository for the bot "tame"? It needs access to _everything_ if you want it to be useful, which means having lots of secrets exposed to the bot.

[0]: https://www.youtube.com/watch?v=NST3u-GjjFw

Give the bot runtime (not in the repository, environment variable or something) credentials for a secret storage tool of some kind, where it can then fetch credentials for whatever it's allowed to do.
Securing the bot itseld is definitely a larger challenge, but a heavily shielded box and tools like Vault can go a long way. It's actually not much different to securing other solutions to the problem like Capistrano or Chef, and definitely still better than giving root SSH access to your developers.
Some of it is contexual, at my last office, everyone was on slack even though we weren't a software company. The execs used a bot (Birdly maybe? I wasn't that involved) to track their expenses. Previously it was up to each exec to keep paper receipts, input them manually into a spreadsheet and submit it to our accounting department. Afterwards, they just shot a picture of each expense and let the slackbot manage it, submit for approvals for big expense and deliver it to accounting at the end of every month.

https://www.getbirdly.com/

The New York Times has a queryable Slack bot that can tell their editors what topics/stories are likely to be popular. The backend is a machine learning algorithm.

This is essentially a command line script, as you say. But having that functionality and being able to discuss the results amongst your fellow editors is very powerful.

http://www.niemanlab.org/2015/08/the-new-york-times-built-a-...

I use bots to make it easier for non technical personnel to perform complex operations, and also to provide some rooms with extra context. For example, if someone mentions "HS 201" in chat, our bot responds with a link and summary of HelpScoit conversation #201. If it's [A-Z]{3}-\d{1,4}, he replies with a link and summary info for a Jira issue.