From 01585ea59bc9420b171f3bf28291c9e0a4fe7706 Mon Sep 17 00:00:00 2001 From: maximo tejeda Date: Sun, 23 Feb 2025 09:56:34 -0400 Subject: [PATCH] EDIT singleflight to work with messages if AI is taking long --- internal/application/middlewares/middlewares.go | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/internal/application/middlewares/middlewares.go b/internal/application/middlewares/middlewares.go index e1192af..6411351 100644 --- a/internal/application/middlewares/middlewares.go +++ b/internal/application/middlewares/middlewares.go @@ -39,6 +39,17 @@ func SingleFlight(next bot.HandlerFunc) bot.HandlerFunc { } defer sf.Delete(key) next(ctx, b, update) + }else if update.Message != nil { + key := update.Message.From.ID + if _, loaded := sf.LoadOrStore(key, struct{}{}); loaded{ + log.Debug("key alredy loaded", "key", key) + b.SendMessage(ctx, &bot.SendMessageParams{ChatID: update.Message.From.ID, Text: "IA esta aun procesando su respuesta, por favor espere!!!"}) + return + }else{ + log.Debug("key not loaded", "key", key) + } + defer sf.Delete(key) + next(ctx, b, update) } } }