Metadata-Version: 1.1
Name: listenclosely
Version: 0.1.2
Summary: Listenclosely is a django-app that works as a middle man to connect instant messaging 
    clients.
Home-page: https://github.com/jlmadurga/listenclosely
Author: Juan Madurga
Author-email: jlmadurga@gmail.com
License: BSD
Description: =============================
        listenclosely
        =============================
        
        CI:
        
        .. image:: https://img.shields.io/travis/jlmadurga/listenclosely.svg
                :target: https://travis-ci.org/jlmadurga/listenclosely
        
        .. image:: http://codecov.io/github/jlmadurga/listenclosely/coverage.svg?branch=master 
            :alt: Coverage
            :target: http://codecov.io/github/jlmadurga/listenclosely?branch=master
          
        .. image:: https://requires.io/github/jlmadurga/listenclosely/requirements.svg?branch=master
             :target: https://requires.io/github/jlmadurga/listenclosely/requirements/?branch=master
             :alt: Requirements Status
             
        PyPI:
        
        
        .. image:: https://img.shields.io/pypi/v/listenclosely.svg
                :target: https://pypi.python.org/pypi/listenclosely
        
        Docs:
        
        .. image:: https://readthedocs.org/projects/listenclosely/badge/?version=latest
                :target: https://readthedocs.org/projects/listenclosely/?badge=latest
                :alt: Documentation Status
        
        
        Listenclosely is a django-app that works as a middleman to connect instant messaging clients. Think on a Call Center/Customer Service using
        using instant messaging... exactly what it does. 
        
         * It is simple, connects *Askers* with online *Agents* until the *Chat* is considered as terminated and the *Agent* is released to attend other *Asker* chats. 
        
         * It is flexible, so you can define your own strategies to assign *Agents* to *Askers* and your own messaging backend services.
         
        
         
        Messaging Services integrated:
        
         * Whatsapp https://github.com/jlmadurga/listenclosely-whatsapp
         
         * Telegram https://github.com/jlmadurga/listenclosely-telegram
        
        Documentation
        -------------
        
        The full documentation is at https://listenclosely.readthedocs.org.
        
        .. image:: https://raw.github.com/jlmadurga/listenclosely/master/docs/imgs/diagram.png
                :target: https://listenclosely.readthedocs.org
                
        * Asker1 is chatting with the Busy Agent
        * Asker2 try to chat but no free Agent was free so is waiting with a Pending chat to be attended by an agent
        * Asker3 is opening a chat and Online Agent will be assigned to the chat
        
        	
        Quickstart
        ----------
        
        Install listenclosely::
        
            pip install listenclosely
        
        Then use it in a project::
        
            import listenclosely
            
        Add it to django apps and migrate::
        
        	INSTALLED_APPS = [
        		...
            	'listenclosely',
            	...
        	]
        	python manage.py migrate
        	
        Select, install and configure service backend ::
        
        	LISTENCLOSELY_MESSAGE_SERVICE_BACKEND = "listenclosely_telegram.service.TelegramMessageServiceBackend"
        	
        Define your agent strategy or define your own::
        
        	LISTENCLOSELY_AGENT_STRATEGY = 'listenclosely.strategies.first_free.FirstFreeAgentStrategy'
        
        Add step to your celery app::
        
        	from listenclosely.celery import ListenCloselyAppStep
        	app.steps['worker'].add(ListenCloselyAppStep)
        	
        Start your celery app usign gevent::
        
        	celery --app=demo_app.celery:app worker -P gevent 
        
        Call listen task or define a celery scheduler to execute::
        	
        	from listenclosely import tasks
        	tasks.listen.delay()
        
        
        Features
        --------
        
        * Connects *Askers* and *Agents*  in chats to establish a *Chat*
        * Strategies to find *Agent* to attend new *Asker* chat. Define your own strategies
        * Messaging Service Backend: Define your own messaging service backend implementations.
        * Cron tasks for attending pending chats and to terminate obsolete chats to release *Agents*
        
        Running Tests
        --------------
        
        Does the code actually work?
        
        ::
        
            source <YOURVIRTUALENV>/bin/activate
            (myenv) $ pip install -r requirements/test.txt
            (myenv) $ make test
        
        
        
        
        
        
        History
        -------
        
        0.1.0 (2016-01-14)
        ++++++++++++++++++
        
        * First release on PyPI.
        
Keywords: listenclosely
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Framework :: Django
Classifier: Framework :: Django :: 1.8
Classifier: Framework :: Django :: 1.9
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
