Acorn is a slackbot which links resources and support channels to relevant keywords
Using Acorn is easy! Simply send a message in any channel or private message with the bot, alerting the bot with it's name, and it will search the database for relevant information:
The component channels and playbooks should be populated and maintained by the product owner, but users can add tags by simply marking the appropriate channel with new tags:
The tag will immediately show up in future queries:
Of course, a help message is available just by typing "help" or "@Acorn help":
Behind the scenes
Acorn is written completely in Golang and runs on Pivotal Cloud Foundy. nlopes' slack is used to interface with the Slack API.
A Postgres database is used for backing storage, but all tags are loaded into an in-memory cache at application start to avoid database calls in general usage. This greatly improves performance.
Fuzzy logic for keyword matching, using the levenshtein distance, allows the bot to handle mispellings of keywords.
Feel free to fork and submit pull requests, or submit issues and feature requests.