A lightweight Python framework for building cli-inspired Slack bots.
Python Makefile
Latest commit bf0fb9e Oct 20, 2016 @amygdalama amygdalama committed on GitHub Merge pull request #9 from venmo/bump_version
version 0.4.2
Permalink
Failed to load latest commit information.
docs add mock to requirements Aug 12, 2016
slouch version 0.4.2 Oct 20, 2016
tests
.gitignore
.travis.yml enable travis Aug 10, 2016
LICENSE
Makefile push outstanding commits during release Aug 29, 2016
README.rst Add instructions for running tests to the README Oct 19, 2016
example.py link tests from example Aug 10, 2016
requirements.txt add tests/makefile Aug 10, 2016
setup.py add mock to requirements Aug 12, 2016

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.