Metadata-Version: 1.1
Name: robo
Version: 0.4.5
Summary: Dead simple bot framework.
Home-page: http://github.com/heavenshell/py-robo
Author: Shinya Ohyanagi
Author-email: sohyanagi@gmail.com
License: BSD
Description: robo
        ====
        .. image:: https://travis-ci.org/heavenshell/py-robo.png?branch=master
        
        
        Dead simple bot framework which is inspired by Ruby's `ruboty <https://github.com/r7kamura/ruboty>`_.
        
        
        Why reinvent the wheel
        ----------------------
        
        I Love Python and I'm not good at Node.js(hubot), Ruby(Ruboty).
        
        `Err <https://github.com/gbin/err>`_ is pluggable but it's too complex for me.
        
        `brutal <http://brutal.readthedocs.org/en/latest/index.html>`_ is also pluggable but I don't wont to write config file.
        
        So I reinvent the wheel.
        
        Architecture
        ------------
        
        Message flow.
        
        .. code:: text
        
        
                                      +--[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.
        
        - shell
        - Slack
        
        
        Handler
        -------
        Handler provides various behaviors to your robot.
        
        .. code:: python
        
          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.
        
Platform: any
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Topic :: Communications :: Chat
Classifier: Topic :: Communications :: Conferencing
