All Projects → DandyDev → Slack Machine

DandyDev / Slack Machine

Licence: mit
A sexy, simple, yet powerful and extendable Slack bot

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Slack Machine

Slacker
Slack Bot Framework
Stars: ✭ 495 (+443.96%)
Mutual labels:  bot, bot-framework, slack-bot, slackbot, slack-api, slack
Jbot
Make Slack and Facebook Bots in Java.
Stars: ✭ 1,148 (+1161.54%)
Mutual labels:  bot, bot-framework, slack-bot, slackbot, slack
Intelligo
🤖 Chatbot Framework for Node.js.
Stars: ✭ 347 (+281.32%)
Mutual labels:  bot, ai, bot-framework, slack-bot, slack
Slack Block Builder
Lightweight, no-dependency JavaScript library for creating Slack Block Kit UIs, with a builder syntax, inspired by SwiftUI.
Stars: ✭ 129 (+41.76%)
Mutual labels:  bot-framework, slack-bot, slackbot, slack-api, slack
Botonomous
A PHP Framework For Creating Autonomous Slack Bots
Stars: ✭ 109 (+19.78%)
Mutual labels:  bot, ai, slack-bot, slackbot, slack
Go Sarah
Simple yet customizable bot framework written in Go.
Stars: ✭ 188 (+106.59%)
Mutual labels:  bot, bot-framework, slack-bot, slackbot, slack
dienstplan
Slack bot app for duty rotations
Stars: ✭ 14 (-84.62%)
Mutual labels:  slack, slackbot, slack-bot, slack-api
Awesome Bots
The most awesome list about bots ⭐️🤖
Stars: ✭ 2,864 (+3047.25%)
Mutual labels:  bot-framework, slack-bot, slackbot, slack
Slack Ruby Client
A Ruby and command-line client for the Slack Web, Real Time Messaging and Event APIs.
Stars: ✭ 957 (+951.65%)
Mutual labels:  slack-bot, slackbot, slack-api, slack
Slick
Slick, a Slack bot in Go
Stars: ✭ 150 (+64.84%)
Mutual labels:  bot, bot-framework, slack-bot, slack
Slack Poster
Simple gem to post messages on Slack using web hooks.
Stars: ✭ 49 (-46.15%)
Mutual labels:  bot, slackbot, slack-api, slack
Sactive Bot
😈 An extensible chat bot framework. sactive-bot is an evolution of the open source hubot project. - https://www.shipengqi.top/sactive-bot .
Stars: ✭ 212 (+132.97%)
Mutual labels:  bot, slack-bot, slackbot, slack
Obed Bot
🍴 Obed Slack Bot, na požiadanie kontroluje aktuálnu ponuku denného menu reštaurácii. [only for slovak|czech users]
Stars: ✭ 32 (-64.84%)
Mutual labels:  bot, slack-bot, slackbot, slack
iou-slack-bot
💸 IOU Slack Bot - Keep track of your debts with your peers.
Stars: ✭ 13 (-85.71%)
Mutual labels:  slack, slackbot, slack-bot
SlackWebhooksGithubCrawler
Search for Slack Webhooks token publicly exposed on Github
Stars: ✭ 21 (-76.92%)
Mutual labels:  slack, slackbot, slack-bot
slackblocks
🎲 Python API for Building Messages Using the Slack Block Kit API
Stars: ✭ 32 (-64.84%)
Mutual labels:  slack, slack-bot, slack-api
Hubcommander
A Slack bot for GitHub organization management -- and other things too
Stars: ✭ 1,149 (+1162.64%)
Mutual labels:  bot, slack-bot, slack
Whatis
Whatis bot server for Slack!
Stars: ✭ 22 (-75.82%)
Mutual labels:  bot, slack-api, slack
slack widgets
An abstraction of the JSON structure needed to create widgets in Slack message attachments
Stars: ✭ 14 (-84.62%)
Mutual labels:  slack, slackbot, slack-bot
Java Slack Sdk
Slack Developer Kit (including Bolt for Java) for any JVM language
Stars: ✭ 393 (+331.87%)
Mutual labels:  slack-bot, slack-api, slack

Slack Machine

.. image:: https://img.shields.io/pypi/v/slack-machine.svg :target: https://pypi.python.org/pypi/slack-machine

.. image:: https://img.shields.io/pypi/l/slack-machine.svg :target: https://pypi.python.org/pypi/slack-machine

.. image:: https://img.shields.io/pypi/pyversions/slack-machine.svg :target: https://pypi.python.org/pypi/slack-machine

.. image:: https://travis-ci.org/DandyDev/slack-machine.svg?branch=master :target: https://travis-ci.org/DandyDev/slack-machine

.. image:: https://codecov.io/gh/DandyDev/slack-machine/branch/master/graph/badge.svg :target: https://codecov.io/gh/DandyDev/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.

.. image:: extra/logo.png

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

.. _Slack RTM API: https://api.slack.com/rtm .. _Slack Web API: https://api.slack.com/web .. _message attachments: https://api.slack.com/docs/message-attachments .. _blocks: https://api.slack.com/reference/block-kit/blocks .. _Slack event: https://api.slack.com/events

Coming Soon """""""""""

  • Support for Interactive Buttons
  • ... and much more

Installation

You can install Slack Machine using pip:

.. code-block:: bash

$ pip install slack-machine

It is strongly recommended that you install slack-machine inside a virtual environment_!

.. _virtual environment: http://docs.python-guide.org/en/latest/dev/virtualenvs/

Usage

  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:

.. code-block:: python

SLACK_API_TOKEN = 'xox-my-slack-token'
  1. Start the bot with slack-machine
  2. ...
  3. 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!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].