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) } } }