enviar mensajes a whatsapp, ¿posible solucion?

Re: enviar mensajes a whatsapp, ¿posible solucion?

Postby JoseAlvarez » 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.
User avatar
JoseAlvarez
 
Posts: 726
Joined: Sun Nov 09, 2014 5:01 pm

Re: enviar mensajes a whatsapp, ¿posible solucion?

Postby cmsoft » 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: Select all  Expand view

#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
User avatar
cmsoft
 
Posts: 1189
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: enviar mensajes a whatsapp, ¿posible solucion?

Postby JoseAlvarez » Tue Oct 17, 2023 1: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.
User avatar
JoseAlvarez
 
Posts: 726
Joined: Sun Nov 09, 2014 5:01 pm

Re: enviar mensajes a whatsapp, ¿posible solucion?

Postby Antonio Linares » Tue Oct 17, 2023 1: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: Select all  Expand view

#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
User avatar
Antonio Linares
Site Admin
 
Posts: 41314
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: enviar mensajes a whatsapp, ¿posible solucion?

Postby cmsoft » Tue Oct 17, 2023 4: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: Select all  Expand view

#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
User avatar
cmsoft
 
Posts: 1189
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: enviar mensajes a whatsapp, ¿posible solucion?

Postby cmsoft » Tue Oct 17, 2023 4: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: Select all  Expand view
     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
 
User avatar
cmsoft
 
Posts: 1189
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: enviar mensajes a whatsapp, ¿posible solucion?

Postby sysctrl2 » Tue Oct 17, 2023 7:36 pm

Excelente idea de como tener un apartado para envio de mensajes por whatsapp
Image

:D
Cesar Cortes Cruz
SysCtrl Software
Mexico

' Sin +- FWH es mejor "
User avatar
sysctrl2
 
Posts: 951
Joined: Mon Feb 05, 2007 7:15 pm

Re: enviar mensajes a whatsapp, ¿posible solucion?

Postby cmsoft » Tue Oct 17, 2023 8:11 pm

Si pones una imagen válida en la linea
Code: Select all  Expand view
@ 05,450 IMAGE oImg FILE "c:\fwh21\bitmaps\sea.bmp" OF oDlg1 SIZE 200,200 PIXEL ADJUST  

También te adjuntará una imagen pegada
User avatar
cmsoft
 
Posts: 1189
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: enviar mensajes a whatsapp, ¿posible solucion?

Postby sysctrl2 » Tue Oct 17, 2023 10:25 pm

Buenísimo :D
Cesar Cortes Cruz
SysCtrl Software
Mexico

' Sin +- FWH es mejor "
User avatar
sysctrl2
 
Posts: 951
Joined: Mon Feb 05, 2007 7:15 pm

Re: enviar mensajes a whatsapp, ¿posible solucion?

Postby JoseLuis » 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
JoseLuis
 
Posts: 426
Joined: Thu Oct 19, 2006 12:28 pm
Location: Toledo

Re: enviar mensajes a whatsapp, ¿posible solucion?

Postby cmsoft » Wed Oct 18, 2023 12:15 pm

Prueba con agregar en la funcion Enviar lo siguiente
Code: Select all  Expand view

cTexto := STRTRAN(cTexto,chr(13),"%0D%0A")
cTexto := STRTRAN(cTexto,chr(10),"%0D%0A") //Esta linea
 
User avatar
cmsoft
 
Posts: 1189
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: enviar mensajes a whatsapp, ¿posible solucion?

Postby JoseLuis » Wed Oct 18, 2023 8:58 pm

Funciona perfectamente

Muchas gracias César.
--------------------------
Saludos

Jose Luis
JoseLuis
 
Posts: 426
Joined: Thu Oct 19, 2006 12:28 pm
Location: Toledo

Re: enviar mensajes a whatsapp, ¿posible solucion?

Postby JoseAlvarez » Fri Oct 20, 2023 2: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.
User avatar
JoseAlvarez
 
Posts: 726
Joined: Sun Nov 09, 2014 5:01 pm

Re: enviar mensajes a whatsapp, ¿posible solucion?

Postby cmsoft » Fri Oct 20, 2023 4: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.
User avatar
cmsoft
 
Posts: 1189
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: enviar mensajes a whatsapp, ¿posible solucion?

Postby sysctrl2 » Fri Oct 20, 2023 7: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 "
User avatar
sysctrl2
 
Posts: 951
Joined: Mon Feb 05, 2007 7:15 pm

PreviousNext

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 78 guests