WhatsApp Discord
Source Class WhatsApp para WebEngine - Web Sites Mu - Mu Server Files
 

Noticias:

SMF - Just Installed!

Menú principal

Source Class WhatsApp para WebEngine

Publicado por Dakosmu, Sep 25, 2025, 09:49 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Dakosmu

Source Class WhatsApp para WebEngine



Análisis detallado del código

---
1. Constructor __construct()

El constructor se ejecuta automáticamente cuando se crea un objeto de la clase WhatsApp.

  • **$this->common = new common();**: Inicializa un objeto de una clase llamada common. No está definida en el código, pero se asume que es una clase auxiliar.
  • **$wsConfigs = loadConfigurations('whatsapp');**: Carga la configuración necesaria para la conexión a la API (probablemente el token y la instancia). Si no se cargan, lanza una excepción (un error).
  • **$this->_config = $wsConfigs;**: Almacena la configuración en una propiedad interna de la clase (_config) para que otros métodos puedan usarla.

---
2. Método SendWSP($Nro, $Message)

Este método se encarga de enviar un mensaje a un número de teléfono individual.

  • Limpieza del número de teléfono: El código primero limpia el número de teléfono ($Nro) eliminando caracteres como +, -, (espacio), (, ), y .. Esto asegura que el número sea solo una cadena de dígitos.
  • Validación y formato:
    • Si el número no comienza con "549", verifica si comienza con "54" y le agrega el "9" (posiblemente para un formato de Argentina).
    • Si el número no comienza con "528", verifica si comienza con "52" y le agrega el "8" (posiblemente para un formato de México).
    • Si el número final no es numérico después de la limpieza, devuelve un error.
  • Preparación de la solicitud:
    • Crea un array $data con el número (phone) y el mensaje (message).
    • Convierte el array a formato JSON con json_encode($data).
  • Envío del mensaje a la API:
    • Construye la URL de la API usando la instancia y el token de la configuración (Regístrate para ver el enlace:...).
    • Usa stream_context_create y file_get_contents para hacer una solicitud POST a la URL. Esto envía los datos JSON al servicio externo.
  • Manejo de la respuesta:
    • Decodifica la respuesta JSON de la API.
    • Si el estado (status) de la respuesta es success, devuelve un array indicando que el envío fue exitoso.
    • Si no, devuelve un error con el mensaje proporcionado por la API.

---
Métodos para grupos

Los siguientes tres métodos tienen una estructura muy similar a SendWSP, pero están diseñados para interactuar con grupos de WhatsApp.

---
3. Método GroupWSP($chatname, $Message)

  • Envía un mensaje ($Message) a un grupo específico identificado por su nombre ($chatname).
  • La URL de la API utilizada es diferente (/group/sendmessage/).

---
4. Método addGroup($chatname, $phone)

  • Agrega un número de teléfono ($phone) a un grupo ($chatname).
  • La URL de la API es /group/add/.
  • Nota: En el código se devuelve una variable $Nro que no está definida en este método, lo cual es un error. Debería ser $phone.

---
5. Método removeGroup($chatname, $phone)

  • Este método debería eliminar un participante de un grupo. Sin embargo, el código tiene un error.
  • La URL de la API es la misma que la de addGroup (/group/add/), lo que significa que este método no está eliminando a los participantes; en su lugar, está intentando agregarlos nuevamente.
  • Nota: También devuelve la variable $Nro que no está definida, lo cual es otro error. Debería ser $phone.

---
Puntos a considerar

  • Dependencia de una API externa: La clase no se conecta directamente a WhatsApp, sino a una API llamada Regístrate para ver el enlace, que es el servicio real que hace la conexión.
  • Seguridad: El token y la instancia están expuestos en la URL, lo que podría ser un riesgo de seguridad si no se maneja correctamente.
  • Validación de errores: La clase maneja bien los errores de la API y los devuelve de forma estructurada. Sin embargo, hay errores de programación, como el uso de la variable $Nro en los métodos de grupo, que necesitarían ser corregidos.
  • Reusabilidad del código: Hay mucha repetición de código en los métodos para grupos. Se podría refactorizar (reestructurar) para evitar la duplicación.

---
Créditos
igznoth
Bon Dia

🡱 🡳
Real Time Web Analytics