mirror of
https://github.com/EvolutionAPI/evolution-client-python.git
synced 2025-07-13 23:17:33 -06:00
Refactor get_messages method in ChatService to include optional filters for message ID, sender, type, and timestamps. Update .gitignore to exclude evolutionapi.egg-info directory. Remove old distribution files and add new ones for version 0.0.9.
This commit is contained in:
parent
50cd136fc1
commit
2e564f209b
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,3 +1,4 @@
|
|||||||
# Python-generated files
|
# Python-generated files
|
||||||
__pycache__/
|
__pycache__/
|
||||||
*.cpython*.pyc
|
*.cpython*.pyc
|
||||||
|
evolutionapi.egg-info/
|
@ -1,4 +1,4 @@
|
|||||||
from typing import Union, BinaryIO
|
from typing import Union, BinaryIO, Optional
|
||||||
from ..models.chat import *
|
from ..models.chat import *
|
||||||
|
|
||||||
class ChatService:
|
class ChatService:
|
||||||
@ -68,13 +68,53 @@ class ChatService:
|
|||||||
instance_token=instance_token
|
instance_token=instance_token
|
||||||
)
|
)
|
||||||
|
|
||||||
def get_messages(self, instance_id: str, remote_jid: str, instance_token: str, page: int = 1, offset: int = 50):
|
def get_messages(
|
||||||
'''Get messages from a chat'''
|
self,
|
||||||
|
instance_id: str,
|
||||||
|
remote_jid: str,
|
||||||
|
instance_token: str,
|
||||||
|
message_id: Optional[str] = None,
|
||||||
|
whatsapp_message_id: Optional[str] = None,
|
||||||
|
from_me: Optional[bool] = None,
|
||||||
|
message_type: Optional[str] = None,
|
||||||
|
source: Optional[str] = None,
|
||||||
|
timestamp_start: Optional[str] = None,
|
||||||
|
timestamp_end: Optional[str] = None,
|
||||||
|
page: int = 1,
|
||||||
|
offset: int = 50
|
||||||
|
):
|
||||||
|
'''
|
||||||
|
Obtém mensagens de um chat com filtros opcionais
|
||||||
|
|
||||||
|
Args:
|
||||||
|
timestamp_start: Data inicial no formato ISO (ex: "2025-01-16T00:00:00Z")
|
||||||
|
timestamp_end: Data final no formato ISO (ex: "2025-01-16T23:59:59Z")
|
||||||
|
'''
|
||||||
|
where = {"key": {"remoteJid": remote_jid}}
|
||||||
|
|
||||||
|
if message_id:
|
||||||
|
where["id"] = message_id
|
||||||
|
if whatsapp_message_id:
|
||||||
|
where["key"]["id"] = whatsapp_message_id
|
||||||
|
if from_me is not None:
|
||||||
|
where["key"]["fromMe"] = from_me
|
||||||
|
if message_type:
|
||||||
|
where["messageType"] = message_type
|
||||||
|
if source:
|
||||||
|
where["source"] = source
|
||||||
|
if timestamp_start or timestamp_end:
|
||||||
|
where["messageTimestamp"] = {}
|
||||||
|
if timestamp_start:
|
||||||
|
where["messageTimestamp"]["gte"] = timestamp_start
|
||||||
|
if timestamp_end:
|
||||||
|
where["messageTimestamp"]["lte"] = timestamp_end
|
||||||
|
|
||||||
payload = {
|
payload = {
|
||||||
"where": {"key": {"remoteJid": remote_jid}},
|
"where": where,
|
||||||
"page": page,
|
"page": page,
|
||||||
"offset": offset,
|
"offset": offset,
|
||||||
}
|
}
|
||||||
|
|
||||||
return self.client.post(
|
return self.client.post(
|
||||||
f'chat/findMessages/{instance_id}',
|
f'chat/findMessages/{instance_id}',
|
||||||
data=payload,
|
data=payload,
|
||||||
|
BIN
dist/evolutionapi-0.0.8.tar.gz
vendored
BIN
dist/evolutionapi-0.0.8.tar.gz
vendored
Binary file not shown.
Binary file not shown.
BIN
dist/evolutionapi-0.0.9.tar.gz
vendored
Normal file
BIN
dist/evolutionapi-0.0.9.tar.gz
vendored
Normal file
Binary file not shown.
@ -1,9 +0,0 @@
|
|||||||
Metadata-Version: 2.1
|
|
||||||
Name: evolutionapi
|
|
||||||
Version: 0.0.8
|
|
||||||
Summary: Client Python para a API Evolution
|
|
||||||
Author: Davidson Gomes
|
|
||||||
Author-email: contato@agenciadgcode.com
|
|
||||||
Requires-Python: >=3.6
|
|
||||||
Requires-Dist: requests>=2.25.1
|
|
||||||
Requires-Dist: requests_toolbelt>=1.0.0
|
|
@ -1,28 +0,0 @@
|
|||||||
README.md
|
|
||||||
setup.py
|
|
||||||
evolutionapi/__init__.py
|
|
||||||
evolutionapi/client.py
|
|
||||||
evolutionapi/exceptions.py
|
|
||||||
evolutionapi.egg-info/PKG-INFO
|
|
||||||
evolutionapi.egg-info/SOURCES.txt
|
|
||||||
evolutionapi.egg-info/dependency_links.txt
|
|
||||||
evolutionapi.egg-info/requires.txt
|
|
||||||
evolutionapi.egg-info/top_level.txt
|
|
||||||
evolutionapi/models/__init__.py
|
|
||||||
evolutionapi/models/call.py
|
|
||||||
evolutionapi/models/chat.py
|
|
||||||
evolutionapi/models/group.py
|
|
||||||
evolutionapi/models/instance.py
|
|
||||||
evolutionapi/models/label.py
|
|
||||||
evolutionapi/models/message.py
|
|
||||||
evolutionapi/models/presence.py
|
|
||||||
evolutionapi/models/profile.py
|
|
||||||
evolutionapi/services/__init__.py
|
|
||||||
evolutionapi/services/call.py
|
|
||||||
evolutionapi/services/chat.py
|
|
||||||
evolutionapi/services/group.py
|
|
||||||
evolutionapi/services/instance.py
|
|
||||||
evolutionapi/services/instance_operations.py
|
|
||||||
evolutionapi/services/label.py
|
|
||||||
evolutionapi/services/message.py
|
|
||||||
evolutionapi/services/profile.py
|
|
@ -1 +0,0 @@
|
|||||||
|
|
@ -1,2 +0,0 @@
|
|||||||
requests>=2.25.1
|
|
||||||
requests_toolbelt>=1.0.0
|
|
@ -1 +0,0 @@
|
|||||||
evolutionapi
|
|
Loading…
Reference in New Issue
Block a user