diff --git a/internal/bot/handlers.go b/internal/bot/handlers.go index d29c246..0f3538e 100644 --- a/internal/bot/handlers.go +++ b/internal/bot/handlers.go @@ -43,10 +43,12 @@ func (b *Bot) historyResetHandler(user *gpt.User, evt *event.Event) (ok bool) { } // historyExpireHandler checks if the history for a user has expired and resets if necessary. -func (b *Bot) historyExpireHandler(user *gpt.User) { +func (b *Bot) historyExpireHandler(user *gpt.User) (ok bool) { if user.LastMsg.Add(time.Duration(b.historyExpire) * time.Hour).Before(time.Now()) { user.History.ResetHistory() + return true } + return false } // msgEvtDispatcher dispatches incoming messages to their appropriate handlers. @@ -67,7 +69,7 @@ func (b *Bot) msgEvtDispatcher(source mautrix.EventSource, evt *event.Event) { return } - if b.historyResetHandler(user, evt) { + if b.historyResetHandler(user, evt) || b.historyExpireHandler(user) { l.Info().Msg("reset history") return } @@ -75,7 +77,8 @@ func (b *Bot) msgEvtDispatcher(source mautrix.EventSource, evt *event.Event) { err := b.sendAnswer(user, evt) if err != nil { l.Err(err).Msg("failed to send message") - } else { - l.Info().Msg("sending answer") + return } + + l.Info().Msg("sending answer") }