Skip to main content

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.

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.

Release history Release notifications | RSS feed

This release

0.5.0 This release

1 file

0.4.2

1 file

0.4.1

1 file

0.4.0

1 file

0.3.0

1 file

0.2.0

1 file

0.1.0

1 file

0.0.1

1 file

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page