¿Alguna manera de enviar mensajes desde C# a WhatsApp?

(1/1)

Meta:
Buenas y felices fiestas 2023.

Siguiendo este vídeo, a mi no me funciona, ya que indica bajarse el WhatsApp desde Microsoft Store y no encuentro el ejecutable por algún lado.



El código es este:
Código
using System;
using System.Diagnostics;
using System.Threading;
using System.Windows.Forms;
 
namespace WhatsApp_01
{
   public partial class Form1 : Form
   {
       public Form1()
       {
           InitializeComponent();
       }
 
       private void button_Enviar_Click(object sender, EventArgs e)
       {
           string numero = textBox_Numero.Text;
           string mensaje = richTextBox_Mensaje.Text;
 
           // Abrir la aplicación de WhatsApp versión escritorio.
           Process proceso = new Process();
           proceso.StartInfo.FileName = @"C:\users\usuario\AppData\WhatsApp\WhatsApp.exe";
           proceso.Start();
 
           Thread.Sleep(5000);
           SendKeys.SendWait("^n");
 
           Thread.Sleep(2000);
           SendKeys.SendWait(numero);
           SendKeys.SendWait("{Enter}");
 
           Thread.Sleep(2000);
           SendKeys.SendWait(mensaje);
           SendKeys.SendWait("{Enter}");
       }
 
       private void textBox_Numero_KeyPress(object sender, KeyPressEventArgs e)
       {
           if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar))
           {
               e.Handled = true;
           }
       }
   }
}

En mi caso desde WhatsApp, también puede ser Telegram, enviar mensajes como comandos, lo lea el PC y activo Led porque tiene incorporado Arduino. Lo que si puedo hacer es enviar comandos desde gmail y hotmail en modo consola y Windows Form con C#.

Saludos.

**Aincrad**:
El codigo que muestras es bastante flojo. inicia la app de whatsapp, y se basa en tiempo de espera y envio de teclas, algo realmente malo... por no llamarlo basura . XD.

Escribe tu propia API para whatsapp , no es dificil.

En ultima instancias, seria mejor hacerlo usando la version web de whatsapp y javascript. con WebScraping, todo desde c# , podrias usar webview2 , pero en lo personal recomiendo EO.WebBrowser es realmente fácil de usar.

Justo hace unos dias pensé en hacerlo, una api completa para whatsapp, que solo requiera autenticacion del QR , pero tengo otros proyectos que llevo tiempo postergando por falta de tiempo. asi que se me quitaron las ganas . tal vez en un futuro lo intente.  ;D

Meta:
Gracias por la respuesta.

elektrostudios2:
Para WhatsApp, existen soluciones comerciales.

Si estás dispuesto a pagar una tarifa de uso entonces puedes usar esta API en C# basada en Whatsapp Business Cloud API de META:

 - https://github.com/gabrieldwight/Whatsapp-Business-Cloud-Api-Net?tab=readme-ov-file#capabilities

O también la API de ultramsg.com. Aquí tienes una demo oficial en C#:

 - https://github.com/ultramsg/csharp-whatsapp-chatbot

No he usado estas APIs (ni ninguna otra para WhatsApp), solo te ofrezco información basándome en las capacidades descritas en la documentación de dichas APIs.


Cita de: Meta en 31 Diciembre 2023, 04:31 am

también puede ser Telegram

Para automatizar el envío de mensajes desde el cliente Telegram, sin lugar a dudas te recomiendo la API (gratuita) de WTelegramClient:

 - https://github.com/wiz0u/WTelegramClient

Esta API si que la he utilizado bastante.

Pruébala, échale un vistazo a los ejemplos de uso oficiales:

 - send-a-message-to-someone-by-username
 - forward-or-copy-a-message-to-another-chat

Y si te surgen dudas específicas, no dudes en formularlas.

Aténtamente,
Elektro.

rigorvzla:
Hola amigo, casualmente yo tuve el mismo problema y me di a la tarea de crear una api sencilla de implementar, donde cree un video explicativo, si te interesa te anexo la informacion necesaria de la herramienta.



Saludos!! y Programa feliz feliz!!

Navegación

[0] Índice de Mensajes