enviar mensajes a whatsapp, ¿posible solucion?

User avatar
JoseAlvarez
Posts: 807
Joined: Sun Nov 09, 2014 5:01 pm

Re: enviar mensajes a whatsapp, ¿posible solucion?

Post by JoseAlvarez »

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

Re: enviar mensajes a whatsapp, ¿posible solucion?

Post by cmsoft »

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

#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
JoseAlvarez
Posts: 807
Joined: Sun Nov 09, 2014 5:01 pm

Re: enviar mensajes a whatsapp, ¿posible solucion?

Post by JoseAlvarez »

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

Re: enviar mensajes a whatsapp, ¿posible solucion?

Post by Antonio Linares »

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

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

Re: enviar mensajes a whatsapp, ¿posible solucion?

Post by cmsoft »

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

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

Re: enviar mensajes a whatsapp, ¿posible solucion?

Post by cmsoft »

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

      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
sysctrl2
Posts: 1035
Joined: Mon Feb 05, 2007 7:15 pm
Contact:

Re: enviar mensajes a whatsapp, ¿posible solucion?

Post by sysctrl2 »

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

Re: enviar mensajes a whatsapp, ¿posible solucion?

Post by cmsoft »

Si pones una imagen válida en la linea

Code: Select all | Expand

@ 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
sysctrl2
Posts: 1035
Joined: Mon Feb 05, 2007 7:15 pm
Contact:

Re: enviar mensajes a whatsapp, ¿posible solucion?

Post by sysctrl2 »

Buenísimo :D
Cesar Cortes Cruz
SysCtrl Software
Mexico

' Sin +- FWH es mejor "
JoseLuis
Posts: 428
Joined: Thu Oct 19, 2006 12:28 pm
Location: Toledo

Re: enviar mensajes a whatsapp, ¿posible solucion?

Post by JoseLuis »

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

Re: enviar mensajes a whatsapp, ¿posible solucion?

Post by cmsoft »

Prueba con agregar en la funcion Enviar lo siguiente

Code: Select all | Expand

cTexto := STRTRAN(cTexto,chr(13),"%0D%0A")
cTexto := STRTRAN(cTexto,chr(10),"%0D%0A") //Esta linea
 
JoseLuis
Posts: 428
Joined: Thu Oct 19, 2006 12:28 pm
Location: Toledo

Re: enviar mensajes a whatsapp, ¿posible solucion?

Post by JoseLuis »

Funciona perfectamente

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

Jose Luis
User avatar
JoseAlvarez
Posts: 807
Joined: Sun Nov 09, 2014 5:01 pm

Re: enviar mensajes a whatsapp, ¿posible solucion?

Post by JoseAlvarez »

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

Re: enviar mensajes a whatsapp, ¿posible solucion?

Post by cmsoft »

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
sysctrl2
Posts: 1035
Joined: Mon Feb 05, 2007 7:15 pm
Contact:

Re: enviar mensajes a whatsapp, ¿posible solucion?

Post by sysctrl2 »

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 "
Post Reply