| whatsapp_read_chat |
function |
py |
browser |
1.0.0 |
impure |
def whatsapp_read_chat(name: str, *, n: int = 15, port: int = 9222, target_url_substr: str = 'whatsapp', open_first: bool = True) -> dict |
Lee los ultimos N mensajes de un chat de WhatsApp Web en una pestana ya logueada del navegador via CDP, sin abrir ventana nueva ni darle foco. Opcionalmente abre el chat primero con whatsapp_open_chat, luego extrae los ultimos n [role=row] del panel #main, normaliza su texto y detecta si cada mensaje es saliente por la presencia de .message-out. Compone whatsapp_open_chat + cdp_eval. |
| whatsapp |
| cdp |
| browser |
| automation |
| python |
| navegator |
|
| whatsapp_open_chat_py_browser |
| cdp_eval_py_browser |
|
|
|
false |
error_go_core |
|
| params |
output |
| name |
desc |
| name |
Nombre EXACTO del chat o grupo tal y como aparece en la lista lateral. Se pasa a whatsapp_open_chat cuando open_first=True. |
|
| name |
desc |
| n |
Numero maximo de mensajes recientes a leer (los ultimos del viewport renderizado). Default 15. |
|
| name |
desc |
| port |
Puerto de remote debugging de Chrome. Default 9222. |
|
| name |
desc |
| target_url_substr |
Substring que debe contener la URL del target (pestana). Default 'whatsapp'. |
|
| name |
desc |
| open_first |
Si True, abre el chat con whatsapp_open_chat antes de leer. Si el chat ya esta abierto, puede pasarse False para saltar la apertura. Default True. |
|
|
dict {ok: bool, name: str, messages: list[{text: str, outgoing: bool}], count: int (si ok), reason: str (si no ok)}. messages son los ultimos n mensajes renderizados, mas reciente al final. outgoing=True si el mensaje es saliente (.message-out). Nunca lanza: los fallos de apertura se reportan en 'ok'=False + 'reason'. |
|
true |
| test_golden_lee_mensajes_y_detecta_outgoing |
| test_edge_open_first_falla_no_lee_y_devuelve_reason |
| test_open_first_false_no_llama_open_chat |
|
python/functions/browser/whatsapp_read_chat_test.py |
python/functions/browser/whatsapp_read_chat.py |