Book Image

Building Slack Bots

Book Image

Building Slack Bots

Overview of this book

Slack promises that its users will "be less busy." Slack bots interact with users in Slack chatrooms, providing useful immediate information, and automating work. This book gives you everything you need to build powerful and useful Slack bots. You’ll see how to hook into the Slack API to create software that can read and post to chatrooms, respond to commands and hints given in natural conversational language, and build fun and useful bots for your own place of work, both as a front end to your own service and to distribute and share as apps. You can even sell your bots and build a business as a Slack bot developer. Throughout the book, you’ll build useful and fun example applications that you can modify for your own situations. These range from simple, fun applications to liven up discussions to useful, data-driven apps to help you make decisions quickly and manage work.
Table of Contents (14 chapters)

Slash commands


Commands that begin with a slash (/) are commands that can be used from anywhere within the Slack client. You are probably already familiar with the more common ones implemented by Slack themselves. For instance, use the topic command:

/topic Sloths are great

This will set the channel's topic to "Sloths are great." Like with incoming and outgoing webhooks, Slack allows teams to configure their own custom slash commands. To demonstrate their use, we'll build a bot that uses the popular computational knowledge engine Wolfram Alpha (http://www.wolframalpha.com/). The end goal is a bot that returns the results from the query submitted via the slash command.

Unlike webhooks, slash commands can only send data included with the command, so you are guaranteed to only receive data that was intentionally sent. Because of this nuance, we get an additional benefit to using slash commands. They are available to be used from any channel, DM, or private group.

First, let's set up the slash command...