Metadata-Version: 1.1
Name: shellbot
Version: 17.8.6
Summary: A bot that is also a responsive shell
Home-page: https://github.com/bernard357/shellbot
Author: Bernard Paques
Author-email: bernard.paques@gmail.com
License: Apache License (2.0)
Description: ===================================
        Shellbot: Python Chat Bot Framework
        ===================================
        
        .. image:: https://readthedocs.org/projects/shellbot-for-cisco-spark/badge/?version=latest
           :target: http://shellbot-for-cisco-spark.readthedocs.io/en/latest/?badge=latest
        
        .. image:: https://img.shields.io/pypi/v/shellbot.svg
           :target: https://pypi.python.org/pypi/shellbot
        
        .. image:: https://img.shields.io/travis/bernard357/shellbot.svg
           :target: https://travis-ci.org/bernard357/shellbot
        
        .. image:: https://img.shields.io/badge/coverage-93%25-green.svg
           :target: https://img.shields.io/badge/coverage-93%25-green.svg
        
        .. image:: https://img.shields.io/pypi/pyversions/shellbot.svg?maxAge=2592000
           :target: https://www.python.org/
        
        .. image:: https://img.shields.io/badge/License-Apache%202.0-blue.svg
           :target: http://www.apache.org/licenses/LICENSE-2.0
        
        
        Fast, simple and lightweight micro bot framework for Python. It is distributed
        as a single package and has very few dependencies other than the
        `Python Standard Library <http://docs.python.org/library/>`_. Shellbot supports
        Python 3 and Python 2.7. Test coverage exceeds 90%.
        
        * **Channels:** a single bot can access jointly group and direct channels
        * **Commands:** routing from chat box to function calls made easy, including support of file uploads
        * **State machines:** powerful and pythonic way to bring intelligence to your bot
        * **Stores:** each bot has a dedicated data store
        * **Utilities:** convenient configuration-driven approach, chat audit, and more
        * **Platforms:** Cisco Spark, local disconnected mode for tests -- looking for more
        
        The Batman example
        ------------------
        
        .. code-block:: python
        
              import os
              import time
        
              from shellbot import Engine, Context, Command
              Context.set_logger()
        
        
              class Batman(Command):  # a command that displays static text
                  keyword = 'whoareyou'
                  information_message = u"I'm Batman!"
        
        
              class Batcave(Command):  # a command that reflects input from the end user
                  keyword = 'cave'
                  information_message = u"The Batcave is silent..."
        
                  def execute(self, bot, arguments=None, **kwargs):
                      if arguments:
                          bot.say(u"The Batcave echoes, '{0}'".format(arguments))
                      else:
                          bot.say(self.information_message)
        
        
              class Batsignal(Command):  # a command that uploads a file/link
                  keyword = 'signal'
                  information_message = u"NANA NANA NANA NANA"
                  information_file = "https://upload.wikimedia.org/wikipedia/en/c/c6/Bat-signal_1989_film.jpg"
        
                  def execute(self, bot, arguments=None, **kwargs):
                      bot.say(self.information_message,
                              file=self.information_file)
        
        
              class Batsuicide(Command):  # a command only for group channels
                  keyword = 'suicide'
                  information_message = u"Go back to Hell"
                  in_direct = False
        
                  def execute(self, bot, arguments=None, **kwargs):
                      bot.say(self.information_message)
                      bot.dispose()
        
        
              engine = Engine(  # use Cisco Spark and load shell commands
                  type='spark',
                  commands=[Batman(), Batcave(), Batsignal(), Batsuicide()])
        
              os.environ['BOT_ON_ENTER'] = 'You can now chat with Batman'
              os.environ['BOT_ON_EXIT'] = 'Batman is now quitting the room, bye'
              os.environ['CHAT_ROOM_TITLE'] = 'Chat with Batman'
              engine.configure()  # ensure that all components are ready
        
              engine.bond(reset=True)  # create a group channel for this example
              engine.run()  # until Ctl-C
              engine.dispose()  # delete the initial group channel
        
        Quick installation
        ------------------
        
        To install the shellbot package, type::
        
            $ pip install shellbot
        
        Or, if you prefer to download the full project including examples and documentation,
        and install it, do the following::
        
            $ git clone https://github.com/bernard357/shellbot.git
            $ cd shellbot
            $ pip install -e .
        
        
        Where do you want to start?
        ---------------------------
        
        * Documentation: `Shellbot at ReadTheDocs`_
        * Python package: `Shellbot at PyPi`_
        * Source code: `Shellbot at GitHub`_
        * Free software: `Apache License (2.0)`_
        
        
        Credits
        -------
        
        * securitybot_ from the Dropbox team
        * Bottle_
        * ciscosparkapi_
        * PyYAML_
        * Cookiecutter_
        * `cookiecutter-pypackage`_
        
        .. _`Shellbot at ReadTheDocs`: http://shellbot-for-cisco-spark.readthedocs.io/en/latest/
        .. _`Shellbot at PyPi`: https://pypi.python.org/pypi/shellbot
        .. _`Shellbot at GitHub`: https://github.com/bernard357/shellbot
        .. _`Apache License (2.0)`: http://www.apache.org/licenses/LICENSE-2.0
        
        .. _securitybot: https://github.com/dropbox/securitybot
        .. _Bottle: https://pypi.python.org/pypi/bottle
        .. _ciscosparkapi: https://pypi.python.org/pypi/ciscosparkapi
        .. _PyYAML: https://pypi.python.org/pypi/PyYAML
        .. _Cookiecutter: https://github.com/audreyr/cookiecutter
        .. _`cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage
        
Keywords: bot,shell
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Environment :: No Input/Output (Daemon)
Classifier: Framework :: Bottle
Classifier: Framework :: Paste
Classifier: Framework :: Sphinx
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Communications
Classifier: Topic :: Communications :: Chat
Classifier: Topic :: Communications :: Conferencing
Classifier: Topic :: Communications :: Internet Phone
Classifier: Topic :: Communications :: Telephony
Classifier: Topic :: Internet :: WWW/HTTP :: WSGI
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: System :: Shells
