A sexy, simple, yet powerful and extendable Slack bot
Switch branches/tags
master pyup-update-apscheduler-3.5.1-to-3.5.3 pyup-update-bottle-0.12.13-to-0.12.15 pyup-update-check-manifest-0.36-to-0.37 pyup-update-coverage-4.5.1-to-4.5.2 pyup-update-cython-0.28.5-to-0.29 pyup-update-cython-0.29-to-0.29.1 pyup-update-dill- pyup-update-flake8-3.5.0-to-3.6.0 pyup-update-pyroma-2.3-to-2.3.1 pyup-update-pyroma-2.3.1-to-2.4 pyup-update-pytest-3.4.1-to-3.4.2 pyup-update-pytest-3.4.2-to-3.5.0 pyup-update-pytest-3.5.0-to-3.5.1 pyup-update-pytest-3.5.1-to-3.6.0 pyup-update-pytest-3.6.0-to-3.6.2 pyup-update-pytest-3.6.2-to-3.6.3 pyup-update-pytest-3.6.3-to-3.7.4 pyup-update-pytest-3.7.4-to-3.8.0 pyup-update-pytest-3.8.0-to-3.8.1 pyup-update-pytest-3.8.1-to-3.8.2 pyup-update-pytest-3.8.2-to-4.0.1 pyup-update-pytest-cov-2.5.1-to-2.6.0 pyup-update-pytest-mock-1.7.0-to-1.7.1 pyup-update-pytest-mock-1.7.1-to-1.9.0 pyup-update-pytest-mock-1.9.0-to-1.10.0 pyup-update-redis-2.10.6-to-3.0.1 pyup-update-slackclient-1.1.2-to-1.1.3 pyup-update-slackclient-1.1.3-to-1.2.0 pyup-update-slackclient-1.2.0-to-1.2.1 pyup-update-slackclient-1.2.1-to-1.3.0 pyup-update-sphinx-1.7.1-to-1.7.2 pyup-update-sphinx-1.7.2-to-1.7.4 pyup-update-sphinx-1.7.4-to-1.7.5 pyup-update-sphinx-1.7.5-to-1.7.6 pyup-update-sphinx-1.7.6-to-1.7.8 pyup-update-sphinx-1.7.8-to-1.7.9 pyup-update-sphinx-1.7.9-to-1.8.0 pyup-update-sphinx-1.8.0-to-1.8.1 pyup-update-sphinx-1.8.1-to-1.8.2 pyup-update-tox-2.9.1-to-3.0.0 pyup-update-tox-2.9.1-to-3.2.1 pyup-update-tox-3.2.1-to-3.4.0 pyup-update-tox-3.4.0-to-3.5.2 pyup-update-tox-3.5.2-to-3.5.3 pyup-update-twine-1.9.1-to-1.10.0 pyup-update-twine-1.10.0-to-1.11.0 pyup-update-twine-1.11.0-to-1.12.1
Nothing to show
Clone or download
Latest commit fbcac0f Nov 10, 2018


Slack Machine


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

Coming Soon

  • 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!


  1. Create a directory for your Slack Machine bot: mkdir my-slack-bot && cd my-slack-bot
  2. Add a local_settings.py file to your bot directory: touch local_settings.py
  3. Create a Bot User for your Slack team: https://my.slack.com/services/new/bot (take note of your API token)
  4. Add the Slack API token to your local_settings.py like this:
SLACK_API_TOKEN = 'xox-my-slack-token'
  1. Start the bot with slack-machine
  2. ...
  3. 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!