Skip to main content
https://travis-ci.org/heavenshell/py-robo.png?branch=master

Dead simple bot framework which is inspired by Ruby’s ruboty.

Why reinvent the wheel

I Love Python and I’m not good at Node.js(hubot), Ruby(Ruboty).

Err is pluggable but it’s too complex for me.

brutal is also pluggable but I don’t wont to write config file.

So I reinvent the wheel.

Architecture

Message flow.

                            +--[handler a]--+
                            |               |
[chat service]-->[adapter]--+--[handler b]--+--[adapter]-->[chat service]
                            |               |
                            +--[handler c]--+

Adapter

Adapter is interface of chat services receive message and send message to chat service.

Robo includes two adapters.

Handler

Handler provides various behaviors to your robot.

from robo.decorators import cmd

class Ping(object):
    @cmd(regex=r'^ping', description='')
    def pong(self, message, **kwargs):
        return 'pong'

This handler matches message ping and return pong to chat service.

Bootstrap

example/main.py is a example of bootstraping robo.

def main(args=None):
    #: `name` is bot's name.
    #: This arg is trigger of handler.
    robot = Robot(name=args.name, logger=logger)
    #: `register_default_handlers()` register default handlers.
    #: Default handlers are `help`, `ping`, `echo`.
    robot.register_default_handlers()
    #: Load given adapter name.
    robot.load_adapter(args.adapter)
    #: Run robot
    robot.run(args.adapter)

Release files for robo 0.5.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for robo 0.5.6
File Size Uploaded
robo-0.5.6.tar.gz 10.6 kB Details

Release files / robo-0.5.6.tar.gz

Download URL robo-0.5.6.tar.gz
Size 10.6 kB
Tags Source
SHA-256 checksum
How to use checksums
21502ef55d3e03aecd04de27c1dd33f6fd7f7d3d886dd7ca49a1b919e59e6444
BLAKE2b-256 checksum
How to use checksums
0b1a37f6a0c6ed30b8af7f3e600dbc95540d03ceb962e4e00180e5f70535ecb8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.5.6 This release

1 release file

0.5.4

1 release file

0.5.3

1 release file

0.5.2

1 release file

0.5.1

1 release file

0.5.0

1 release file

0.4.6

1 release file

0.4.5

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page