Hola, ese problema se resuelve usando Redis. Eso se llama Encadenamiento de Mensajes Entrantes o Input Messages Chaining. Para resumirlo, usas una pila para los mensajes, mensaje que entra, mesansaje que metes en la pila... Ni se te ocurra hacerlo con Postgres, ya lo hice una ves y es super lento. Usa Redis. Logica: Mensaje 1: Hola Mensaje 2: Un amigo me va a regalar una botella whisky! Mensaje 3: me puedes indicar los mejores whiskys 8 años que tienes? Procedimiento: 1) lleva un mensaje... 2) Metes el mensaje en la pila, (la pila debe ser unica por session_id) 3) Esperas 10 segundos (Puedes poner mas o menos tiempo, pero usa el sentido comun, si la persona escribe rapido o lento, tampoco puedes ponerle mucho tiempo porque te van a decir que tu flujo no sirve) 4) Obtienes la pila con el session_id del chat... 5) Si el ultimo mensaje .latest() es igual al mensaje recibido... True: 5.1.1) concatenas todos los mensajes de la pila .join(' ') 5.1.2) Limpias la pila con el session_id 5.1.3) retornas en mensaje concatenado. False: 5.2.1) Termino la ejecucion en la espera de otro mensaje. Resultado: Mensaje: Hola Un amigo me va a regalar una botella whisky! me puedes indicar los mejores whiskys 8 años que tienes? Te envio el enlace de Paypal por DM 😁