Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

Listenclosely is a django-app that works as a middle man to connect instant messaging clients.

Project Description

CI:

PyPI:

Docs:

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:

Documentation

The full documentation is at 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.
Release History

Release History

This version
History Node

0.1.2

History Node

0.1.1

History Node

0.1.0

Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
listenclosely-0.1.2-py2.py3-none-any.whl (15.3 kB) Copy SHA256 Checksum SHA256 2.7 Wheel Mar 12, 2016
listenclosely-0.1.2.tar.gz (12.0 kB) Copy SHA256 Checksum SHA256 Source Mar 12, 2016

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting