No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Función main() del chatbot

21/24
Recursos

En la era digital en la que vivimos, la automatización de tareas y la interacción con usuarios a través de bots se ha convertido en una práctica cada vez más común. El desarrollo de estos asistentes virtuales requiere no solo de conocimientos en programación, sino también de una integración con tecnologías de inteligencia artificial. Hoy nos adentraremos en el fascinante mundo de la creación de PlatziBot, un bot capaz de conectarse con la plataforma de inteligencia artificial OpenAI. Este proyecto, desarrollado en Python, es un ejemplo claro de cómo podemos potenciar las interacciones en aplicaciones de mensajería como Telegram. Sin más preámbulos, exploremos este emocionante proceso paso a paso.

Creación del archivo principal en Visual Studio

Antes de sumergirnos en las complejidades del código, es esencial comprender la importancia de organizar nuestro entorno de desarrollo. Visual Studio Code se destaca como una herramienta poderosa para los desarrolladores. Por lo tanto, el primer paso para construir PlatziBot es crear un nuevo archivo principal de Python, que será el corazón de nuestra aplicación de bot.

¿Cómo definir la estructura del archivo principal?

Al crear nuestro archivo en Python, empezamos con una función básica conocida como main. Esta será nuestra función principal y no recibirá parámetros. Dentro de la función main, estableceremos la base para que nuestro bot comience a operar y esté listo para recibir mensajes.

  • Iniciamos estableciendo un mensaje de starting bot, que nos permite saber que el bot está listo.
  • Definimos la variable offset con un valor inicial de cero.

¿Qué papel juega el bucle principal?

El bucle principal de nuestro bot radial se crea con un while true. Esto significa que el bot estará en constante ejecución, a la espera de recibir nuevos mensajes.

  • Utilizamos la función getUpdates, previamente definida, para consultar la información que necesitamos del usuario y del mensaje.
  • A través de un bucle for, iteramos sobre las actualizaciones y ajustamos el offset para obtener el update_id.

Manejo de mensajes de chat

El procesamiento de los mensajes es crucial en la interacción del bot. Aquí definimos cómo PlatziBot capta y responde a los mensajes entrantes de los usuarios en Telegram.

¿Cómo capturar y responder mensajes?

Una vez que tenemos el ID de chat y el mensaje del usuario, procedemos a realizar las siguientes acciones:

  1. Extraemos el chat ID y el mensaje del usuario.
  2. Imprimimos un aviso indicando que hemos recibido un mensaje, mostrando el contenido.
  3. Preparamos el bot para interactuar con el modelo de OpenAI.

Interacción con GPT de OpenAI

Tras capturar el mensaje del usuario, la siguiente fase es la conexión con OpenAI.

  • Asignamos a la variable GPT la respuesta de la función getOpenAIResponse, pasándole como argumento el mensaje del usuario.
  • Posteriormente, llamamos a la función sendMessage para enviar al usuario la respuesta generada por GPT (el modelo de OpenAI).

Importancia de las librerías y llamadas a funciones

Para que nuestro bot funcione, es indispensable importar y utilizar librerías específicas.

  • Importamos la librería de OpenAI, requests y time. Estas librerías son fundamentales para la conexión con la API de OpenAI, realizar solicitudes HTTP y manejar el tiempo entre mensajes, respectivamente.
  • Finalizamos llamando a la función main para ejecutar todo el proceso descrito.

Crear un bot como PlatziBot puede parecer una tarea abrumadora al principio. Sin embargo, siguiendo los pasos mencionados y con el debido entendimiento de Python y las librerías implicadas, es posible desarrollar una herramienta interactuativa sumamente efectiva y personalizada. Continuemos aprendiendo juntos, y veamos cómo esta base puede evolucionar para ofrecer aún más funciones y una mejor experiencia de usuario. ¡Te espero en la siguiente clase para seguir dándole vida a nuestro PlatziBot!

Aportes 3

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Apuntes de clase


def main():
    print('Starting bot..')  # Imprime en la consola el mensaje "Starting bot..".
    offset = 0  # Inicializa una variable llamada offset con el valor 0.
    while True:  # Inicia un bucle infinito.
        # Llama a nuestra función actualizadora.
        updates = get_updates(offset)  # Llama a la función get_updates() para obtener actualizaciones de mensajes.
        if updates:  # Verifica si hay actualizaciones de mensajes disponibles.
            for update in updates:  # Itera sobre cada actualización de mensaje recibida.
                offset = update['update_id'] + 1  # Actualiza el valor de offset para evitar procesar la misma actualización nuevamente.
                chat_id = update["message"]["chat"]["id"]  # Obtiene el identificador de chat de la actualización de mensaje actual.
                user_message = update["message"]["text"]  # Obtiene el texto del mensaje enviado por el usuario.
                print(f"Received message: {user_message}")  # Imprime en la consola el mensaje recibido del usuario.
                GPT = get_openai_response(user_message)  # Llama a la función get_openai_response() para obtener una respuesta de OpenAI.
                send_message(chat_id, GPT)  # Llama a la función send_message() para enviar la respuesta al usuario.
            time.sleep(1)  # Pausa la ejecución del programa durante 1 segundo.

if __name__ == '__main__':
    main()  # Llama a la función main() para iniciar la ejecución del programa.

Para los que tienen problema de identación, es porque en la parte inferior de VSC tiene espacios: \[ numero de espacios], cambienle a 2 o 4, eso les ayuda. En este caso la Carli tienen Espacios:12 por eso le deja mucha identación
Se le puede enviar audio a Openai ?