02. WHATSAPP CHATGPT

Recibir WhatsApp y crear una respuesta con ChatGPT

Ya nos conectamos a ChatGPT y hemos obtenido respuestas a nuestras preguntas, ahora vamos a recibir WhatsApp y crear una respuesta con ChatGPT. Recordemos que WhatsApp fue comprado por Meta y debemos conectarnos a Meta para poder recibir mensajes desde WhatsApp.

Creamos una app en Facebook

Enviar mensajes con Api Oficial de WhatsApp en PHP
Vamos la url de Meta developers Meta for Developers (facebook.com) y creamos una cuenta de developer y accedemos a my apps

O podemos aceder a este link Todas las apps – Meta for Developers (facebook.com)

image 31
Damos click en Crear app

image 32
Seleccionamos cualquier opcion y damos click en siguiente

image 33
Colocamos un nombre a nuestra app, nuestro correo y click en Crear app

image 34
Bajamos hasta encontrar WhatsApp y damos click en configurar

image 35
damos click en continuar

Configuramos el Api de WhatsApp

image 36
Hacemos click en Primeros pasos o en Empezar a usar la API

image 37
Hacemos click en Seleccionar un numero de telfono destinatario, seleccionamos el pais y colocamos un numero que recibira las pruebas

image 38
Recibiremos un numero de 5 dígitos que ingresaremos aqui y damos click en siguiente

image 49
En Basica, colocamos la url de las políticas de privacidad de nuestra página web, bajamos y damos click en guardar y activamos el modo desarrollo

image 39
Si damos click en enviar mensaje nos llegara un Mensaje a nuestro numero de WhatsApp

image 40
Este es el mensaje que recibimos

Código de Recibir WhatsApp y crear una respuesta con ChatGPT

Librerías

pip install Flask
pip install jsonify
pip install requests

Código

#Código de Recibir WhatsApp y crear una respuesta con ChatGPT
from flask import Flask, jsonify, request
app = Flask(__name__)
#CUANDO RECIBAMOS LAS PETICIONES EN ESTA RUTA
@app.route("/webhook/", methods=["POST", "GET"])
def webhook_whatsapp():
    #SI HAY DATOS RECIBIDOS VIA GET
    if request.method == "GET":
        #SI EL TOKEN ES IGUAL AL QUE RECIBIMOS
        if request.args.get('hub.verify_token') == "HolaNovato":
            #ESCRIBIMOS EN EL NAVEGADOR EL VALOR DEL RETO RECIBIDO DESDE FACEBOOK
            return request.args.get('hub.challenge')
        else:
            #SI NO SON IGUALES RETORNAMOS UN MENSAJE DE ERROR
          return "Error de autentificacion."
    #RECIBIMOS TODOS LOS DATOS ENVIADO VIA JSON
    data=request.get_json()
    #EXTRAEMOS EL NUMERO DE TELEFONO Y EL MANSAJE
    telefonoCliente=data['entry'][0]['changes'][0]['value']['messages'][0]['from']
    #EXTRAEMOS EL TELEFONO DEL CLIENTE
    mensaje=data['entry'][0]['changes'][0]['value']['messages'][0]['text']['body']
    #EXTRAEMOS EL ID DE WHATSAPP DEL ARRAY
    idWA=data['entry'][0]['changes'][0]['value']['messages'][0]['id']
    #EXTRAEMOS EL TIEMPO DE WHATSAPP DEL ARRAY
    timestamp=data['entry'][0]['changes'][0]['value']['messages'][0]['timestamp']
    #ESCRIBIMOS EL NUMERO DE TELEFONO Y EL MENSAJE EN EL ARCHIVO TEXTO
    #SI HAY UN MENSAJE
    if mensaje is not None:
      
        import openai
        # Indica el API Key
        openai.api_key = "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"
        # Uso de ChapGPT en Python
        model_engine = "text-davinci-003"
        prompt = mensaje
        completion = openai.Completion.create(engine=model_engine,
                                            prompt=prompt,
                                            max_tokens=1024,
                                            n=1,
                                            stop=None,
                                            temperature=0.7)
        respuesta=""
        for choice in completion.choices:
            respuesta=respuesta+choice.text
            print(f"Response: %s" % choice.text)

        respuesta=respuesta.replace("\\n","\\\n")
        respuesta=respuesta.replace("\\","")
        f = open("texto.txt", "w")
        f.write(respuesta)
        f.close()
        #RETORNAMOS EL STATUS EN UN JSON
        return jsonify({"status": "success"}, 200)
#INICIAMSO FLASK
if __name__ == "__main__":
  app.run(debug=True)

Activamos un servidor ngrok

image 94
Nos registramos en ngrok.com

image 95
Descargamos ngrok.exe, le damos doble click y pegamos este comando “ngrok http 8080”

image 97
En fb vamos a Configuracion y pegamos la url de ngrok unido a la carpeta y token de nuestro codigo java y verificar

image 60
Vamos a la configuracion, damos click en editar y colocamos la url de nuestro servidor, el token y damos click en Verificar

Recibir mensajes con Api Oficial de WhatsApp en C#
Damos click en Administrar, suscribir en messages y click en listo

Enviamos un texto desde Whatsapp y lo podemos leer en el archivo texto que esta en la raiz del proyecto
Enviamos un texto desde Whatsapp y lo podemos leer en el archivo texto que esta en la raiz del proyecto

Recibir WhatsApp y crear una respuesta con ChatGPT

🔗 Codigo: Recibir WhatsApp y crear una respuesta con ChatGPT · programadornovato/ChatgptWhatsApp@78cd3d4 (github.com)

Los comentarios están cerrados.