A lightweight Python framework for building cli-inspired Slack bots.
Python Makefile
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
docs
slouch
tests
.gitignore
.travis.yml
LICENSE
Makefile
README.rst
example.py
requirements.txt
setup.py

README.rst

slouch

Slouch is a lightweight Python framework for building cli-inspired Slack bots.

Here's an example bot built with Slouch:

from slouch import Bot, help

class PingBot(Bot):
    pass

@PingBot.command
def pingme(opts, bot, event):
    """Usage: pingme [--message=<message>]

    Respond with an at-mention to the sender.

    Pass _message_ to include a message in the response.
    """

    sender_slack_id = event['user']
    message = opts['<message>']
    response = ""

    if message is not None:
        response = message

    return "<@%s> %s" % (sender_slack_id, response)

And here's a test for that bot:

from slouch import testing

class TestPingBot(CommandTestCase):

    bot_class = PingBot

    def test_ping(self):
        response = self.send_message('pingme', user='123')
        self.assertEqual(response, '<@123> ')

Install with pip install slouch. Run tests with py.test tests.

For more details, check out the docs at https://slouch.readthedocs.io or see a full example bot.