Slack Machine is a sexy, simple, yet powerful and extendable Slack bot. More than just a bot, Slack Machine is a framework that helps you develop your Slack team into a ChatOps powerhouse.
- Get started with mininal configuration
- Built on top of the Slack RTM API for smooth, real-time interactions
- Support for rich interactions using the Slack Web API
- High-level API for maximum convenience when building plugins
- Low-level API for maximum flexibility
- Plugin API features:
- Listen and respond to any regular expression
- Capture parts of messages to use as variables in your functions
- Respond to messages in channels, groups and direct message conversations
- Respond with Emoji
- Respond in threads
- Send DMs to any user
- Support for message attachments
- Listen and respond to any Slack event supported by the RTM API
- Store and retrieve any kind of data in persistent storage (currently Redis and in-memory storage are supported)
- Schedule actions and messages
- Emit and listen for events
- Help texts for Plugins
- Built in web server for webhooks
- Support for Interactive Buttons
- ... and much more
You can install Slack Machine using pip:
$ pip install slack-machine
It is strongly recommended that you install slack-machine
inside a virtual environment!
- Create a directory for your Slack Machine bot:
mkdir my-slack-bot && cd my-slack-bot
- Add a
local_settings.py
file to your bot directory:touch local_settings.py
- Create a Bot User for your Slack team: https://my.slack.com/services/new/bot (take note of your API token)
- Add the Slack API token to your
local_settings.py
like this:
SLACK_API_TOKEN = 'xox-my-slack-token'
- Start the bot with
slack-machine
- ...
- Profit!
You can find the documentation for Slack Machine here: http://slack-machine.readthedocs.io/en/latest/
Go read it to learn how to properly configure Slack Machine, write plugins, and more!