Metadata-Version: 1.1
Name: cleverbot.py
Version: 1.2.0
Summary: A Cleverbot API wrapper for Python with asynchronous functionality.
Home-page: https://github.com/orlnub123/cleverbot.py
Author: orlnub123
Author-email: UNKNOWN
License: MIT
Description: cleverbot.py
        ============
        
        cleverbot.py is a Cleverbot API wrapper for Python made to be both
        fully-featured and easy to use.
        
        Example
        -------
        
        .. code:: py
        
            import cleverbot
        
        
            cb = cleverbot.Cleverbot('YOUR_API_KEY', timeout=60)
        
            text = input("Say to Cleverbot: ")
            try:
                reply = cb.say(text)
            except cleverbot.CleverbotError as error:
                print(error)
            else:
                print(reply)
        
        Installing
        ----------
        
        Install it from PyPI with pip:
        
        ::
        
            pip install cleverbot.py
        
        Or install it from GitHub using git:
        
        ::
        
            git clone https://github.com/orlnub123/cleverbot.py
            cd cleverbot.py
            python setup.py install
        
        If you don't have pip or git you can also download the source and run ``python
        setup.py install`` on it.
        
        To install Cleverbot with asynchronous support you'll have to use pip and be on
        Python 3.4.2+.
        
        ::
        
            pip install cleverbot.py[async]
        
        This is not required if you already have aiohttp.
        
        **Requirements:**
        
        - Python 3.2+ or 2.6+
        - `A Cleverbot API key <http://www.cleverbot.com/api/>`_
        
        **Dependencies:**
        
        - Requests 1.0.0+
        - aiohttp 1.0.0+ (Optional, for asynchronous support.)
        
        Usage
        -----
        
        First import the module.
        
        .. code:: py
        
            import cleverbot
        
        --------------
        
        Then initialize Cleverbot with your API key and optionally a cleverbot
        state and or timeout.
        
        .. code:: py
        
            cb = cleverbot.Cleverbot('YOUR_API_KEY', cs='76nxdxIJ02AAA', timeout=60)
        
        The cleverbot state is the encoded state of the conversation so far and
        includes the whole conversation history up to that point.
        
        --------------
        
        You can now start talking to Cleverbot.
        
        Get the reply from the input:
        
        .. code:: py
        
            reply = cb.say("Hello")
        
        Or alternatively get it later:
        
        .. code:: py
        
            cb.say("Hello")
            reply = cb.output
        
        If you want to talk to Cleverbot asynchronously use ``asay`` instead. This only
        works if you're on Python 3.4.2+ and have aiohttp installed. Experience with
        asyncio is recommended as you'll have to run it in your own event loop.
        
        .. code:: py
        
            await cb.asay("Hello")
        
        If you're on Python 3.4 you'll have to use ``yield from`` instead of ``await``.
        
        --------------
        
        If something goes wrong with the request, such as an invalid API key an
        ``APIError`` will be raised containing the error message and HTTP status
        code or, if you've defined a timeout and you don't get a reply within the
        defined amount of seconds you'll get a ``Timeout``.
        
        As an example:
        
        ``cleverbot.errors.APIError: Missing or invalid API key or POST request, please
        visit www.cleverbot.com/api Status: 401``
        
        You can get the error message and status like so:
        
        .. code:: py
        
            except cleverbot.APIError as error:
                print(error.error, error.status)
        
        This is also applicable to ``Timeout`` where you can get the defined timeout
        value by calling ``error.timeout``.
        
        Also, all Cleverbot errors subclass ``CleverbotError`` so you can use it
        to catch everything Cleverbot related.
        
        --------------
        
        Print out all of the attributes Cleverbot gained from the previous
        conversation.
        
        .. code:: py
        
            print(cb._attr_list)
        
        Make sure to never modify the ``_attr_list`` as it's how Cleverbot knows what
        to reset when resetting.
        
        Take note of the ``cs`` attribute as we'll use it to save the conversation in
        the next section.
        
        To get a list of all of the attributes' descriptions either take a look at the
        ``_query`` function's docstring in cleverbot.py or go to the JSON Reply section
        at `the official Cleverbot API docs <https://www.cleverbot.com/api/howto/>`_.
        
        --------------
        
        Save the conversation in preparation for a reset.
        
        .. code:: py
        
            cs = cb.cs
        
        Reset Cleverbot, deleting all of the attributes it's gained from the previous
        conversations.
        
        .. code:: py
        
            cb.reset()
        
        Note that if you try to get the cleverbot state now you'll get an error:
        
        ``AttributeError: 'Cleverbot' object has no attribute 'cs'``
        
        Now start right where you left off by setting the cleverbot state you saved
        earlier.
        
        .. code:: py
        
            cb.cs = cs
        
        Or by setting it when creating a new Cleverbot instance.
        
        .. code:: py
        
            cb = cleverbot.Cleverbot('YOUR_API_KEY', cs=cs)
        
        --------------
        
        If you wish to use ``cleverbot`` as a variable name you can do one of the
        following:
        
        .. code:: py
        
            import cleverbot as some_other_name
        
        .. code:: py
        
            from cleverbot import *
        
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.2
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Topic :: Internet
Classifier: Topic :: Games/Entertainment
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Utilities
