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)

Scopes


OAuth scopes allow you to specify exactly what access your app needs to perform its functions. In the previous example, we requested the bot scope, which gives our bots access to all the actions a bot user can perform. For example, the channels:history scope gives us access to the channel's chat history and users:read allows us to access the full list of users in the team. There is a long list of scopes available (which you can review at https://api.slack.com/docs/oauth-scopes), but we will focus on the three most likely to be used scopes in our apps:

  • bot: This provides a bot token, allowing us to connect to the team as a bot user

  • incoming-webhook: This provides an incoming webhook token

  • commands: This provides a Slack token, which we can use to ensure that the incoming slash command requests are valid

Note

Scopes of the bot variety automatically include a subset of other scopes needed for the bot to perform. For more information, visit https://api.slack.com/bot-users#bot-methods.

Multiple...