A sexy, simple, yet powerful and extendable Slack bot
Project description
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.
Warning
As of v0.19 there are some breaking changes! If you’re using v0.18.2 or older, you might have to make some changes to your slack bot built with Slack Machine and/or Slack Machine plugins. The following changes are non-backwards compatible:
The catch_all method has been removed from the base plugin class. You can still respond to specific event types using the @process decorator
The *_webapi methods to send messages do not exist anymore, use the regular counterparts instead. All messages are now sent using the Slack WebAPI. The RTM API is still used for listening to messages and events.
self.users and self.channels now return different objects than before. See API documentation for more details. These properties should behave more consistently however, even in workspaces with many users.
Features
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
Respond with ephemeral messages
Send DMs to any user
Support for message attachments
Support for blocks
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
Installation
You can install Slack Machine using pip:
$ pip install slack-machine
It is strongly recommended that you install slack-machine inside a virtual environment!
Usage
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!
Documentation
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!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for slack_machine-0.21.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c2a221a87e56ed56ecd9e2df8053c5a9664ac0d230d17d40ef0a5e5160d0c321 |
|
MD5 | 70c643dc2f83b91631481fdcba7810da |
|
BLAKE2b-256 | 5c9d7974f77b411c15bdecc1fc8050c53f06bbbd93d9df04f9bc6333e26f07e4 |