Skip to main content

A lightweight framework for building cli-inspired Slack bots.

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

slouch-0.5.0.tar.gz (7.0 kB view details)

Uploaded Source

File details

Details for the file slouch-0.5.0.tar.gz.

File metadata

  • Download URL: slouch-0.5.0.tar.gz
  • Upload date:
  • Size: 7.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for slouch-0.5.0.tar.gz
Algorithm Hash digest
SHA256 53e43fb051a4f05987f661c3c101c5a4a11520ef54849a915246a66d2a1fbc05
MD5 9f08144d3326f76cf10d96643ff71e81
BLAKE2b-256 c79f5759c9bc47a8fe7e1abc37f937f0391d7778749779907d1e5971f8b80f63

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page