@@ -7,6 +7,13 @@ import makeWASocket, {
77import pino from "pino" ;
88import fs from "fs" ;
99import path from "path" ;
10+ import { get_Receiver_and_Sender_and_Context_FromMessage } from "../lib/whatsapp-utils" ;
11+ import type {
12+ YoEscriboAContacto ,
13+ ContactoMeEscribe ,
14+ YoEscriboAGrupo ,
15+ GrupoMeEscribe ,
16+ } from "../lib/whatsapp-types" ;
1017
1118const SESSIONS_DIR = "whatsapp_sessions" ;
1219
@@ -43,6 +50,39 @@ async function main() {
4350
4451 sock . ev . on ( "creds.update" , saveCreds ) ;
4552
53+ // Listen for incoming messages and parse them with get_Receiver_and_Sender_and_Context_FromMessage
54+ sock . ev . on ( "messages.upsert" , async ( m ) => {
55+ for ( const msg of m . messages ) {
56+ // Skip broadcast messages
57+ if ( msg . broadcast ) continue ;
58+
59+ const result = get_Receiver_and_Sender_and_Context_FromMessage (
60+ msg as unknown as {
61+ key : YoEscriboAContacto | ContactoMeEscribe | YoEscriboAGrupo | GrupoMeEscribe ;
62+ pushName : string ;
63+ broadcast : boolean ;
64+ messageTimestamp : number ;
65+ }
66+ ) ;
67+
68+ if ( ! result ) {
69+ console . log ( "[SKIP] Could not parse message:" , msg . key ) ;
70+ continue ;
71+ }
72+
73+ const { messageId, messageTimestamp, receiver, sender, context } = result ;
74+
75+ console . log ( "\n========== NEW MESSAGE ==========" ) ;
76+ console . log ( "Message ID (for DB):" , messageId ) ;
77+ console . log ( "Timestamp:" , new Date ( messageTimestamp * 1000 ) . toISOString ( ) ) ;
78+ console . log ( "Context:" , JSON . stringify ( context , null , 2 ) ) ;
79+ console . log ( "Sender:" , JSON . stringify ( sender , null , 2 ) ) ;
80+ console . log ( "Receiver:" , JSON . stringify ( receiver , null , 2 ) ) ;
81+ console . log ( "Body:" , msg . message ?. conversation || msg . message ?. extendedTextMessage ?. text || "[media/other]" ) ;
82+ console . log ( "=================================\n" ) ;
83+ }
84+ } ) ;
85+
4686 sock . ev . on ( "connection.update" , async ( update ) => {
4787 const { connection, lastDisconnect } = update ;
4888
@@ -59,21 +99,34 @@ async function main() {
5999 console . log ( "\n--- Socket ready for sending messages ---" ) ;
60100 console . log ( "To send a message, modify testJid variable with a valid JID" ) ;
61101 console . log ( "Example: 5491112345678@s.whatsapp.net" ) ;
62- console . log ( "\nPress Ctrl+C to exit" ) ;
102+ console . log ( "\nListening for incoming messages..." ) ;
103+ console . log ( "Press Ctrl+C to exit\n" ) ;
63104 return ;
64105 }
65106
66107 try {
67108 console . log ( `\nSending message to ${ testJid } ...` ) ;
68- const result = await sock . sendMessage ( testJid , { text : testMessage } ) ;
69- console . log ( "Message sent successfully!" ) ;
70- console . log ( "Result:" , JSON . stringify ( result , null , 2 ) ) ;
109+ const sentResult = await sock . sendMessage ( testJid , { text : testMessage } ) ;
110+
111+ if ( sentResult ) {
112+ // Parse the sent message with our function
113+ const parsedSent = get_Receiver_and_Sender_and_Context_FromMessage ( {
114+ key : sentResult . key as YoEscriboAContacto | ContactoMeEscribe | YoEscriboAGrupo | GrupoMeEscribe ,
115+ pushName : sock . user ?. name || "" ,
116+ broadcast : false ,
117+ messageTimestamp : Math . floor ( Date . now ( ) / 1000 ) ,
118+ } ) ;
119+
120+ console . log ( "\n========== SENT MESSAGE ==========" ) ;
121+ console . log ( "Message ID (for DB):" , parsedSent ?. messageId ) ;
122+ console . log ( "Context:" , JSON . stringify ( parsedSent ?. context , null , 2 ) ) ;
123+ console . log ( "Sender:" , JSON . stringify ( parsedSent ?. sender , null , 2 ) ) ;
124+ console . log ( "Receiver:" , JSON . stringify ( parsedSent ?. receiver , null , 2 ) ) ;
125+ console . log ( "==================================\n" ) ;
126+ }
71127 } catch ( error ) {
72128 console . error ( "Error sending message:" , error ) ;
73129 }
74-
75- // Keep the connection open or close it
76- // sock.end(undefined);
77130 }
78131
79132 if ( connection === "close" ) {
0 commit comments