Gchat SDK for managing and closing conversations
Project description
GCHAT Close Conversations
This project automates sending alerts and closing inactive conversations on the GCHAT platform, using API integration.
Repository
https://github.com/Gnew-Solucoes-IP-Ltda/gchat-sdk
Features
- Automatically sends alert messages to inactive contacts.
- Automatically closes conversations based on configurable criteria.
- Flexible configuration via environment variables.
Project Structure
.
├── gchat_sdk/
│ ├── controllers/
│ ├── entities/
│ ├── factories/
│ ├── providers/
│ ├── tests/
│ ├── main.py
│ ├── settings.py
│ └── utils.py
├── examples/
│ └── finish_chats.py
├── .env
├── requirements.txt
└── LICENSE
Installation
-
Create and activate a virtual environment:
python3 -m venv venv source venv/bin/activate
-
Install dependencies:
pip install gchat-sdk
-
Configure environment variables in the
.envfile:URL_API=https://api.gchat.app.br TOKEN_API=your_token END_CHATS_WITH_ATTENDANTS_LAST_MESSAGE=True END_CHATS_WITH_CONTACTS_LAST_MESSAGE=True TIMEOUT=1 ALERT_TIME=0.1
Usage
Run the example to send alerts and close inactive conversations:
import os
from dotenv import load_dotenv
from gchat_sdk.controllers.chat_controller import ChatController
from gchat_sdk.providers.chatbot_provider import ChatBotProvider
load_dotenv()
URL_API = os.environ.get('URL_API')
TOKEN_API = os.environ.get('TOKEN_API')
END_CHATS_WITH_ATTENDANTS_LAST_MESSAGE = True
END_CHATS_WITH_CONTACTS_LAST_MESSAGE = True
TIMEOUT = 2
ALERT_TIME = 0.1
ALERT_MESSAGE_TEXT = '''
🔔 Olá! Percebemos que você está inativo há algum tempo.
Para otimizar nosso atendimento, esta conversa será encerrada.
Caso precise de algo, é só nos chamar novamente.
👋 Agradecemos o contato e estamos à disposição!
'''
provider = ChatBotProvider(
base_url=URL_API,
access_token=TOKEN_API
)
controller = ChatController(provider, ALERT_MESSAGE_TEXT)
data = controller.alert_chats(alert_time_in_hour=ALERT_TIME)
print('send message alert', data)
data = controller.finish_chats(
END_CHATS_WITH_ATTENDANTS_LAST_MESSAGE,
END_CHATS_WITH_CONTACTS_LAST_MESSAGE,
TIMEOUT
)
print('closed chats', data)
Testing
Unit tests are located in gchat_sdk/tests/. To run the tests using unittest:
python -m unittest discover gchat_sdk/tests/
License
This project is licensed under the MIT License. See the LICENSE file for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gchat_sdk-0.0.12-py3-none-any.whl.
File metadata
- Download URL: gchat_sdk-0.0.12-py3-none-any.whl
- Upload date:
- Size: 15.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
72a748461f60a7a39e28b786d7eec1b7e11a8ebec21b2f576d3d0fd731c85497
|
|
| MD5 |
247672a5fe0fb04abd7238217ab877c0
|
|
| BLAKE2b-256 |
95981320c9a7d61718a3dddbbf5dfc0c0c9f7a2a6cda4ea07071e1ba3f646207
|