listenclosely
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.
Metadata
Release files for listenclosely 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| listenclosely-0.1.2.tar.gz | 12.0 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| listenclosely-0.1.2-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details |
Total release size: 27.3 kB
Release files / listenclosely-0.1.2.tar.gz
| Download URL | listenclosely-0.1.2.tar.gz |
|---|---|
| Size | 12.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8e35fdd08f40e1e1ec708585887259e982a4afe219dbedc7035fdaffa9cfbb83
|
|
BLAKE2b-256 checksum How to use checksums |
1391e5d05f78a2493310462c33affab9e80d9beef84bf3d6ff0331d88e30c5ec
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Release files / listenclosely-0.1.2-py2.py3-none-any.whl
| Download URL | listenclosely-0.1.2-py2.py3-none-any.whl |
|---|---|
| Size | 15.3 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
ad8834ebaf32a2f7cf4424f173a49e1a6286c3a54a4ef930a70d802be1425841
|
|
BLAKE2b-256 checksum How to use checksums |
c6bb5c1e2584a483c5447c9612a20b9f112339718a40f349aa5afb859bb04f5d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Security for listenclosely 0.1.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.