FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour enviar mensajes a whatsapp, ¿posible solucion?
Posts: 851
Joined: Sun Nov 09, 2014 05:01 PM
Re: enviar mensajes a whatsapp, ¿posible solucion?
Posted: Sat Oct 14, 2023 10:55 PM
Antonio Linares wrote:A ver si esto funciona:
whatsapp://send?phone=+15555555555&text=Here is a file for you.&document=/path/to/file.txt
No he logrado que me funcione por esta vía, Master.
"Los errores en programación, siempre están entre la silla y el teclado..."



Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin



Carora, Estado Lara, Venezuela.
Posts: 1344
Joined: Wed Nov 16, 2005 09:14 PM
Re: enviar mensajes a whatsapp, ¿posible solucion?
Posted: Tue Oct 17, 2023 11:39 AM
Jose:
Esta es una manera de enviar mensajes con documentos adjuntos.
Lo que debes hacer es emular el uso de teclado en la aplicación de Whatsapp
Code (fw): Select all Collapse
#include "FiveWin.ch"
function Main()
local oShell                                                        
   ShellExecute( 0, "open", "whatsapp://send?phone=111111111111&text=Estimado Sr. Antonio Linares.%0A"+;
    "Gusto en Saludarle, "+ Time() ) 
   oShell := CreateObject( "WScript.Shell" )
   syswait(.2)
   oShell:SendKeys( "~" ) //Doy enter para que envie el mensaje
   syswait(2)
   oShell:SendKeys("+{TAB}") //Presiono Shift Tab para que vaya a adjuntar 
   syswait(.2)
   oShell:SendKeys("~") //Doy enter
   syswait(.2)
   oShell:SendKeys("{DOWN}") // Presiono flecha abajo
   syswait(.2)
   oShell:SendKeys("~")  // Doy enter
   syswait(2)
   oShell:SendKeys("c:\fwh21\samples\prueba.pdf") // Escribo el nombre del documento adjunto
   syswait(.2)
   oShell:SendKeys("~") // Doy enter
   syswait(4)
   oShell:SendKeys("~") // Doy enter
   syswait(.2)
   oShell:SendKeys("{TAB}") // Presiono TAB para que vuelva a la casilla de escritura de mensajes
return nil
Si falla, puedes cambiar los tiempos de espera entre cada acción, solo es cuestion de ir probando.
Espero que te sirva
Posts: 851
Joined: Sun Nov 09, 2014 05:01 PM
Re: enviar mensajes a whatsapp, ¿posible solucion?
Posted: Tue Oct 17, 2023 01:43 PM

Saludos César.

Espero estes muy bien.

Ok, voy a probar y te comento.

"Los errores en programación, siempre están entre la silla y el teclado..."



Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin



Carora, Estado Lara, Venezuela.
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: enviar mensajes a whatsapp, ¿posible solucion?
Posted: Tue Oct 17, 2023 01:52 PM
cmsoft wrote:Jose:
Esta es una manera de enviar mensajes con documentos adjuntos.
Lo que debes hacer es emular el uso de teclado en la aplicación de Whatsapp
Code (fw): Select all Collapse
#include "FiveWin.ch"
function Main()
local oShell                                                        
   ShellExecute( 0, "open", "whatsapp://send?phone=111111111111&text=Estimado Sr. Antonio Linares.%0A"+;
    "Gusto en Saludarle, "+ Time() ) 
   oShell := CreateObject( "WScript.Shell" )
   syswait(.2)
   oShell:SendKeys( "~" ) //Doy enter para que envie el mensaje
   syswait(2)
   oShell:SendKeys("+{TAB}") //Presiono Shift Tab para que vaya a adjuntar 
   syswait(.2)
   oShell:SendKeys("~") //Doy enter
   syswait(.2)
   oShell:SendKeys("{DOWN}") // Presiono flecha abajo
   syswait(.2)
   oShell:SendKeys("~")  // Doy enter
   syswait(2)
   oShell:SendKeys("c:\fwh21\samples\prueba.pdf") // Escribo el nombre del documento adjunto
   syswait(.2)
   oShell:SendKeys("~") // Doy enter
   syswait(4)
   oShell:SendKeys("~") // Doy enter
   syswait(.2)
   oShell:SendKeys("{TAB}") // Presiono TAB para que vuelva a la casilla de escritura de mensajes
return nil
Si falla, puedes cambiar los tiempos de espera entre cada acción, solo es cuestion de ir probando.
Espero que te sirva
Estimado César,

brillante!!! :-)

A ver si conseguimos capturar la respuesta de Windows Copilot, no consigo hacerlo funcionar. La técnica usada es la misma, ir enviando las pulsaciones adecuadas usando SendKeys()
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 1344
Joined: Wed Nov 16, 2005 09:14 PM
Re: enviar mensajes a whatsapp, ¿posible solucion?
Posted: Tue Oct 17, 2023 04:15 PM
Este código (aunque hay que seguir puliendo) está un poco mejorado, y permite enviar una imagen además de un adjunto diferente por cada mensaje, en un ciclo que puede mejorarse para obtener los datos de una consulta.
Code (fw): Select all Collapse
#include "FiveWin.ch"
STATIC oImg
FUNCTION Main()
LOCAL oDlg1, oBrw, oBot1,;
      aCols := {;
{'5499999999997','Carne 120 grs. Cheddar, Lechuga, Tomate y Mayonesa, Mostaza y Kétchup.'+chr(13)+' Incluye Papas Fritas.',"c:\fwh21\samples\prueba.xls"},;
{'5499999999998','Carne 120 grs. Cheddar, Lechuga, Tomate y Mayonesa, Mostaza y Kétchup.'+chr(13)+' Incluye Papas Fritas.',"c:\fwh21\samples\prueba.bmp"},;
{'5499999999999','Carne 120 grs. Cheddar, Huevo Bacon y BBQ.'+chr(13)+' Incluye Papas Fritas.',"c:\fwh21\samples\prueba.pdf"}}
DEFINE DIALOG oDlg1 TITLE "Envio de whatsapp" SIZE 700,600 PIXEL TRUEPIXEL RESIZABLE
   @ 60, 20 XBROWSE oBrw SIZE 400,600 pixel OF oDlg1 ARRAY aCols  ;
      HEADERS "Telefono", "Texto","Adjunto";
      COLUMNS 1,2,3;
      SIZES nil, 100,nil;
      CELL LINES NOBORDER
   WITH OBJECT oBrw
      :nRowHeight    := 150
      :CreateFromCode()
   END
@ 05,05 BUTTON oBot1 PROMPT "&Enviar" OF oDlg1 SIZE 100,40 ACTION Enviar(aCols,oBrw) PIXEL   
@ 05,450 IMAGE oImg FILE "c:\fwh21\bitmaps\sea.bmp" OF oDlg1 SIZE 200,200 PIXEL ADJUST  
ACTIVATE DIALOG oDlg1 CENTERED 
RETURN nil


*--------------------------------------------------------------------------------
STATIC Function Enviar(aData, oBrw)
Local oShell, cTexto, i
oImg:CopyToClipboard()
oBrw:GoTop()
FOR i := 1 TO LEN(aData)  
   cTexto := aData[i,2]
   cTexto := STRTRAN(cTexto," ","%20")
   cTexto := STRTRAN(cTexto,"&","%26")
   cTexto := STRTRAN(cTexto,chr(13),"%0D%0A")
   ShellExecute( 0, "open", "whatsapp://send?phone="+alltrim(aData[i,1])+"&text="+cTexto) 
   oShell := CreateObject( "WScript.Shell" )
   syswait(.2)   
   oShell:SendKeys( "~" )
   syswait(3)      
   oShell:SendKeys( "^v" )
   syswait(4)
   oShell:SendKeys("~")
   syswait(4)
   oShell:SendKeys("+{TAB}")
   syswait(.2)
   oShell:SendKeys("~")
   syswait(.2)
   oShell:SendKeys("{DOWN}")
   syswait(.2)
   oShell:SendKeys("~")  
   syswait(2)
   oShell:SendKeys(aData[i,3])
   syswait(.2)
   oShell:SendKeys("~")
   syswait(4)
   oShell:SendKeys("~")
   syswait(.2)
   oShell:SendKeys("{TAB}")
   oBrw:Skip()
NEXT i   
Return nil
Reemplazar el telefono por uno válido para probar
Posts: 1344
Joined: Wed Nov 16, 2005 09:14 PM
Re: enviar mensajes a whatsapp, ¿posible solucion?
Posted: Tue Oct 17, 2023 04:18 PM
Aprobecho para consultarle a Mr. Rao:
Si tengo las imagenes en el XBrowse y quiero copiarlas al portapapeles para luego despues pegarlas en Whatsapp, como podría hacer?
Ejemplo, si tengo este arreglo:
Code (fw): Select all Collapse
      aCols := {;
{'5499999999999','Carne 120 grs. Cheddar, Lechuga, Tomate y Mayonesa, Mostaza y Kétchup.'+chr(13)+' Incluye Papas Fritas.','https://bcnresto.com/img/000010/00010110.jpg',"c:\fwh21\samples\whatsapp.prg"},;
{'5499999999999','Carne 120 grs. Cheddar, Lechuga, Tomate y Mayonesa, Mostaza y Kétchup.'+chr(13)+' Incluye Papas Fritas.','https://bcnresto.com/img/000010/00010114.jpg',"c:\fwh21\samples\whatsapp1.prg"},;
{'5499999999999','Carne 120 grs. Cheddar, Huevo Bacon y BBQ.'+chr(13)+' Incluye Papas Fritas.','https://bcnresto.com/img/000010/00000020.jpg',"c:\fwh21\samples\whatsapp2.prg"}}
DEFINE DIALOG oDlg1 TITLE "Envio de whatsapp" SIZE 700,600 PIXEL TRUEPIXEL RESIZABLE
   @ 60, 20 XBROWSE oBrw SIZE -20,-20 pixel OF oDlg1 ARRAY aCols  ;
      HEADERS "Telefono", "Texto","Foto","Adjunto";
      COLUMNS 1,2,3,4;
      SIZES nil, 150,100,nil;
      CELL LINES NOBORDER
   WITH OBJECT oBrw
      :nRowHeight    := 150
      :aCols[3]:cDataType := "P"      
      :CreateFromCode()
   END
Posts: 1144
Joined: Mon Feb 05, 2007 07:15 PM
Re: enviar mensajes a whatsapp, ¿posible solucion?
Posted: Tue Oct 17, 2023 07:36 PM
Excelente idea de como tener un apartado para envio de mensajes por whatsapp


:D
Cesar Cortes Cruz

SysCtrl Software

Mexico



' Sin +- FWH es mejor "
Posts: 1344
Joined: Wed Nov 16, 2005 09:14 PM
Re: enviar mensajes a whatsapp, ¿posible solucion?
Posted: Tue Oct 17, 2023 08:11 PM
Si pones una imagen válida en la linea
Code (fw): Select all Collapse
@ 05,450 IMAGE oImg FILE "c:\fwh21\bitmaps\sea.bmp" OF oDlg1 SIZE 200,200 PIXEL ADJUST
También te adjuntará una imagen pegada
Posts: 1144
Joined: Mon Feb 05, 2007 07:15 PM
Re: enviar mensajes a whatsapp, ¿posible solucion?
Posted: Tue Oct 17, 2023 10:25 PM
Buenísimo :D
Cesar Cortes Cruz

SysCtrl Software

Mexico



' Sin +- FWH es mejor "
Posts: 428
Joined: Thu Oct 19, 2006 12:28 PM
Re: enviar mensajes a whatsapp, ¿posible solucion?
Posted: Wed Oct 18, 2023 10:52 AM

Buenas

Una Pregunta:

Si como Variable de texto utilizo un Get memo, como lo hago para que me ponga las lineas según las voy escribiendo en dicho get?; ya que escribo en éste campo las lineas separadas, pero al enviar, me lo hace con todas las líneas seguidas.

Gracias

--------------------------

Saludos



Jose Luis
Posts: 1344
Joined: Wed Nov 16, 2005 09:14 PM
Re: enviar mensajes a whatsapp, ¿posible solucion?
Posted: Wed Oct 18, 2023 12:15 PM
Prueba con agregar en la funcion Enviar lo siguiente
Code (fw): Select all Collapse
cTexto := STRTRAN(cTexto,chr(13),"%0D%0A")
cTexto := STRTRAN(cTexto,chr(10),"%0D%0A") //Esta linea
Posts: 428
Joined: Thu Oct 19, 2006 12:28 PM
Re: enviar mensajes a whatsapp, ¿posible solucion?
Posted: Wed Oct 18, 2023 08:58 PM

Funciona perfectamente

Muchas gracias César.

--------------------------

Saludos



Jose Luis
Posts: 851
Joined: Sun Nov 09, 2014 05:01 PM
Re: enviar mensajes a whatsapp, ¿posible solucion?
Posted: Fri Oct 20, 2023 02:27 PM

Hola Amigos de FW.

Estimados amigos César y Master Linares, muchísimas gracias por la solución a mi inquietud de enviar mensajes vía Whatsapp desde las aplicaciones FW.

Creo que varios colegas la estaban esperando.

César, tu código lo adapté y funcionó perfectamente.

Ahora bien, observé un detalle que es el siguiente:

Si se va a enviar mensajes en lotes mediante un bucle, NO se puede trabajar en el equipo mientras el mismo este en ejecución, ya que por lo menos a mi, me sucede que si dejo el sistema enviando los mensajes y abro por ejemplo EXCEL, cada ENTER que se ejecuta en la función de envió, también se ejecuta en el excel (o cualquier otra app que abra).

Por lo demás, todo excelente.

Un abrazo.

"Los errores en programación, siempre están entre la silla y el teclado..."



Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin



Carora, Estado Lara, Venezuela.
Posts: 1344
Joined: Wed Nov 16, 2005 09:14 PM
Re: enviar mensajes a whatsapp, ¿posible solucion?
Posted: Fri Oct 20, 2023 04:31 PM

Hola Jose, si es asi, porque en realidad emula la pulsación de teclas, y si vos te posicionas en otro lugar, la pulsacion la hace donde tiene el foco.

Posts: 1144
Joined: Mon Feb 05, 2007 07:15 PM
Re: enviar mensajes a whatsapp, ¿posible solucion?
Posted: Fri Oct 20, 2023 07:13 PM
Solamente con algún API de paga? :?
lo ideal sería que se puedan enviar adjuntos
sin utilizar pulsaciones
saludos
Cesar Cortes Cruz

SysCtrl Software

Mexico



' Sin +- FWH es mejor "