From f85ec34bccc70d62769206facf2a90eb8a04f259 Mon Sep 17 00:00:00 2001 From: gohumble <55599638+gohumble@users.noreply.github.com> Date: Wed, 22 Dec 2021 17:48:30 +0100 Subject: [PATCH] fix lock intercept (#176) --- internal/telegram/handler.go | 62 ++++++++++++------------- internal/telegram/intercept/callback.go | 2 +- internal/telegram/intercept/message.go | 2 +- internal/telegram/intercept/query.go | 2 +- 4 files changed, 34 insertions(+), 34 deletions(-) diff --git a/internal/telegram/handler.go b/internal/telegram/handler.go index 9fdc7e5..dea88c9 100644 --- a/internal/telegram/handler.go +++ b/internal/telegram/handler.go @@ -109,10 +109,10 @@ func (bot TipBot) getHandler() []Handler { Interceptor: &Interceptor{ Type: MessageInterceptor, Before: []intercept.Func{ - bot.lockInterceptor, bot.localizerInterceptor, bot.logMessageInterceptor, bot.loadUserInterceptor, + bot.lockInterceptor, }, OnDefer: []intercept.Func{ bot.unlockInterceptor, @@ -125,11 +125,11 @@ func (bot TipBot) getHandler() []Handler { Interceptor: &Interceptor{ Type: MessageInterceptor, Before: []intercept.Func{ - bot.lockInterceptor, bot.localizerInterceptor, bot.logMessageInterceptor, bot.requireUserInterceptor, bot.loadReplyToInterceptor, + bot.lockInterceptor, }, OnDefer: []intercept.Func{ bot.unlockInterceptor, @@ -142,10 +142,10 @@ func (bot TipBot) getHandler() []Handler { Interceptor: &Interceptor{ Type: MessageInterceptor, Before: []intercept.Func{ - bot.lockInterceptor, bot.localizerInterceptor, bot.logMessageInterceptor, bot.requireUserInterceptor, + bot.lockInterceptor, }, OnDefer: []intercept.Func{ bot.unlockInterceptor, @@ -158,10 +158,10 @@ func (bot TipBot) getHandler() []Handler { Interceptor: &Interceptor{ Type: MessageInterceptor, Before: []intercept.Func{ - bot.lockInterceptor, bot.localizerInterceptor, bot.logMessageInterceptor, bot.requireUserInterceptor, + bot.lockInterceptor, }, OnDefer: []intercept.Func{ bot.unlockInterceptor, @@ -174,10 +174,10 @@ func (bot TipBot) getHandler() []Handler { Interceptor: &Interceptor{ Type: MessageInterceptor, Before: []intercept.Func{ - bot.lockInterceptor, bot.localizerInterceptor, bot.logMessageInterceptor, bot.requireUserInterceptor, + bot.lockInterceptor, }, OnDefer: []intercept.Func{ bot.unlockInterceptor, @@ -190,11 +190,11 @@ func (bot TipBot) getHandler() []Handler { Interceptor: &Interceptor{ Type: MessageInterceptor, Before: []intercept.Func{ - bot.lockInterceptor, bot.localizerInterceptor, bot.logMessageInterceptor, bot.requireUserInterceptor, bot.loadReplyToInterceptor, + bot.lockInterceptor, }, OnDefer: []intercept.Func{ bot.unlockInterceptor, @@ -207,10 +207,10 @@ func (bot TipBot) getHandler() []Handler { Interceptor: &Interceptor{ Type: MessageInterceptor, Before: []intercept.Func{ - bot.lockInterceptor, bot.localizerInterceptor, bot.logMessageInterceptor, bot.requireUserInterceptor, + bot.lockInterceptor, }, OnDefer: []intercept.Func{ bot.unlockInterceptor, @@ -223,10 +223,10 @@ func (bot TipBot) getHandler() []Handler { Interceptor: &Interceptor{ Type: MessageInterceptor, Before: []intercept.Func{ - bot.lockInterceptor, bot.localizerInterceptor, bot.logMessageInterceptor, bot.requireUserInterceptor, + bot.lockInterceptor, }, OnDefer: []intercept.Func{ bot.unlockInterceptor, @@ -239,10 +239,10 @@ func (bot TipBot) getHandler() []Handler { Interceptor: &Interceptor{ Type: MessageInterceptor, Before: []intercept.Func{ - bot.lockInterceptor, bot.localizerInterceptor, bot.logMessageInterceptor, bot.loadUserInterceptor, + bot.lockInterceptor, }, OnDefer: []intercept.Func{ bot.unlockInterceptor, @@ -255,10 +255,10 @@ func (bot TipBot) getHandler() []Handler { Interceptor: &Interceptor{ Type: MessageInterceptor, Before: []intercept.Func{ - bot.lockInterceptor, bot.localizerInterceptor, bot.logMessageInterceptor, bot.loadUserInterceptor, + bot.lockInterceptor, }, OnDefer: []intercept.Func{ bot.unlockInterceptor, @@ -271,10 +271,10 @@ func (bot TipBot) getHandler() []Handler { Interceptor: &Interceptor{ Type: MessageInterceptor, Before: []intercept.Func{ - bot.lockInterceptor, bot.localizerInterceptor, bot.logMessageInterceptor, bot.requireUserInterceptor, + bot.lockInterceptor, }, OnDefer: []intercept.Func{ bot.unlockInterceptor, @@ -287,10 +287,10 @@ func (bot TipBot) getHandler() []Handler { Interceptor: &Interceptor{ Type: MessageInterceptor, Before: []intercept.Func{ - bot.lockInterceptor, bot.localizerInterceptor, bot.logMessageInterceptor, bot.requireUserInterceptor, + bot.lockInterceptor, }, OnDefer: []intercept.Func{ bot.unlockInterceptor, @@ -303,10 +303,10 @@ func (bot TipBot) getHandler() []Handler { Interceptor: &Interceptor{ Type: MessageInterceptor, Before: []intercept.Func{ - bot.lockInterceptor, bot.localizerInterceptor, bot.logMessageInterceptor, bot.requireUserInterceptor, + bot.lockInterceptor, }, OnDefer: []intercept.Func{ bot.unlockInterceptor, @@ -319,10 +319,10 @@ func (bot TipBot) getHandler() []Handler { Interceptor: &Interceptor{ Type: MessageInterceptor, Before: []intercept.Func{ - bot.lockInterceptor, bot.localizerInterceptor, bot.logMessageInterceptor, bot.requireUserInterceptor, + bot.lockInterceptor, }, OnDefer: []intercept.Func{ bot.unlockInterceptor, @@ -336,10 +336,10 @@ func (bot TipBot) getHandler() []Handler { Type: MessageInterceptor, Before: []intercept.Func{ bot.requirePrivateChatInterceptor, - bot.lockInterceptor, bot.localizerInterceptor, bot.logMessageInterceptor, bot.requireUserInterceptor, + bot.lockInterceptor, }, OnDefer: []intercept.Func{ bot.unlockInterceptor, @@ -353,10 +353,10 @@ func (bot TipBot) getHandler() []Handler { Type: MessageInterceptor, Before: []intercept.Func{ bot.requirePrivateChatInterceptor, // Respond to any text only in private chat - bot.lockInterceptor, bot.localizerInterceptor, bot.logMessageInterceptor, bot.loadUserInterceptor, // need to use loadUserInterceptor instead of requireUserInterceptor, because user might not be registered yet + bot.lockInterceptor, }, OnDefer: []intercept.Func{ bot.unlockInterceptor, @@ -369,9 +369,9 @@ func (bot TipBot) getHandler() []Handler { Interceptor: &Interceptor{ Type: QueryInterceptor, Before: []intercept.Func{ - bot.lockInterceptor, bot.localizerInterceptor, bot.requireUserInterceptor, + bot.lockInterceptor, }, OnDefer: []intercept.Func{ bot.unlockInterceptor, @@ -388,9 +388,9 @@ func (bot TipBot) getHandler() []Handler { Interceptor: &Interceptor{ Type: CallbackInterceptor, Before: []intercept.Func{ - bot.lockInterceptor, bot.localizerInterceptor, bot.requireUserInterceptor, + bot.lockInterceptor, }, OnDefer: []intercept.Func{ bot.unlockInterceptor, @@ -403,9 +403,9 @@ func (bot TipBot) getHandler() []Handler { Interceptor: &Interceptor{ Type: CallbackInterceptor, Before: []intercept.Func{ - bot.lockInterceptor, bot.localizerInterceptor, bot.requireUserInterceptor, + bot.lockInterceptor, }, OnDefer: []intercept.Func{ bot.unlockInterceptor, @@ -418,9 +418,9 @@ func (bot TipBot) getHandler() []Handler { Interceptor: &Interceptor{ Type: CallbackInterceptor, Before: []intercept.Func{ - bot.lockInterceptor, bot.localizerInterceptor, bot.requireUserInterceptor, + bot.lockInterceptor, }, OnDefer: []intercept.Func{ bot.unlockInterceptor, @@ -433,9 +433,9 @@ func (bot TipBot) getHandler() []Handler { Interceptor: &Interceptor{ Type: CallbackInterceptor, Before: []intercept.Func{ - bot.lockInterceptor, bot.localizerInterceptor, bot.requireUserInterceptor, + bot.lockInterceptor, }, OnDefer: []intercept.Func{ bot.unlockInterceptor, @@ -448,9 +448,9 @@ func (bot TipBot) getHandler() []Handler { Interceptor: &Interceptor{ Type: CallbackInterceptor, Before: []intercept.Func{ - bot.lockInterceptor, bot.localizerInterceptor, bot.loadUserInterceptor, + bot.lockInterceptor, }, OnDefer: []intercept.Func{ bot.unlockInterceptor, @@ -463,9 +463,9 @@ func (bot TipBot) getHandler() []Handler { Interceptor: &Interceptor{ Type: CallbackInterceptor, Before: []intercept.Func{ - bot.lockInterceptor, bot.localizerInterceptor, bot.requireUserInterceptor, + bot.lockInterceptor, }, OnDefer: []intercept.Func{ bot.unlockInterceptor, @@ -478,9 +478,9 @@ func (bot TipBot) getHandler() []Handler { Interceptor: &Interceptor{ Type: CallbackInterceptor, Before: []intercept.Func{ - bot.lockInterceptor, bot.localizerInterceptor, bot.loadUserInterceptor, + bot.lockInterceptor, }, OnDefer: []intercept.Func{ bot.unlockInterceptor, @@ -493,9 +493,9 @@ func (bot TipBot) getHandler() []Handler { Interceptor: &Interceptor{ Type: CallbackInterceptor, Before: []intercept.Func{ - bot.lockInterceptor, bot.localizerInterceptor, bot.requireUserInterceptor, + bot.lockInterceptor, }, OnDefer: []intercept.Func{ bot.unlockInterceptor, @@ -508,9 +508,9 @@ func (bot TipBot) getHandler() []Handler { Interceptor: &Interceptor{ Type: CallbackInterceptor, Before: []intercept.Func{ - bot.lockInterceptor, bot.localizerInterceptor, bot.loadUserInterceptor, + bot.lockInterceptor, }, OnDefer: []intercept.Func{ bot.unlockInterceptor, @@ -523,9 +523,9 @@ func (bot TipBot) getHandler() []Handler { Interceptor: &Interceptor{ Type: CallbackInterceptor, Before: []intercept.Func{ - bot.lockInterceptor, bot.localizerInterceptor, bot.requireUserInterceptor, + bot.lockInterceptor, }, OnDefer: []intercept.Func{ bot.unlockInterceptor, @@ -538,9 +538,9 @@ func (bot TipBot) getHandler() []Handler { Interceptor: &Interceptor{ Type: CallbackInterceptor, Before: []intercept.Func{ - bot.lockInterceptor, bot.localizerInterceptor, bot.requireUserInterceptor, + bot.lockInterceptor, }, OnDefer: []intercept.Func{ bot.unlockInterceptor, @@ -553,9 +553,9 @@ func (bot TipBot) getHandler() []Handler { Interceptor: &Interceptor{ Type: CallbackInterceptor, Before: []intercept.Func{ - bot.lockInterceptor, bot.localizerInterceptor, bot.requireUserInterceptor, + bot.lockInterceptor, }, OnDefer: []intercept.Func{ bot.unlockInterceptor, @@ -568,9 +568,9 @@ func (bot TipBot) getHandler() []Handler { Interceptor: &Interceptor{ Type: CallbackInterceptor, Before: []intercept.Func{ - bot.lockInterceptor, bot.localizerInterceptor, bot.requireUserInterceptor, + bot.lockInterceptor, }, OnDefer: []intercept.Func{ bot.unlockInterceptor, @@ -583,9 +583,9 @@ func (bot TipBot) getHandler() []Handler { Interceptor: &Interceptor{ Type: CallbackInterceptor, Before: []intercept.Func{ - bot.lockInterceptor, bot.localizerInterceptor, bot.requireUserInterceptor, + bot.lockInterceptor, }, OnDefer: []intercept.Func{ bot.unlockInterceptor, diff --git a/internal/telegram/intercept/callback.go b/internal/telegram/intercept/callback.go index cd2a24b..d9698be 100644 --- a/internal/telegram/intercept/callback.go +++ b/internal/telegram/intercept/callback.go @@ -58,11 +58,11 @@ func HandlerWithCallback(handler CallbackFuncHandler, option ...CallbackIntercep return func(c *tb.Callback) { ctx := context.Background() ctx, err := interceptCallback(ctx, c, hm.before) - defer interceptCallback(ctx, c, hm.onDefer) if err != nil { log.Traceln(err) return } + defer interceptCallback(ctx, c, hm.onDefer) hm.handler(ctx, c) _, err = interceptCallback(ctx, c, hm.after) if err != nil { diff --git a/internal/telegram/intercept/message.go b/internal/telegram/intercept/message.go index fd1b5ae..293c09f 100644 --- a/internal/telegram/intercept/message.go +++ b/internal/telegram/intercept/message.go @@ -61,11 +61,11 @@ func HandlerWithMessage(handler MessageFuncHandler, option ...MessageInterceptOp return func(message *tb.Message) { ctx := context.Background() ctx, err := interceptMessage(ctx, message, hm.before) - defer interceptMessage(ctx, message, hm.onDefer) if err != nil { log.Traceln(err) return } + defer interceptMessage(ctx, message, hm.onDefer) hm.handler(ctx, message) _, err = interceptMessage(ctx, message, hm.after) if err != nil { diff --git a/internal/telegram/intercept/query.go b/internal/telegram/intercept/query.go index e67e905..4dfc426 100644 --- a/internal/telegram/intercept/query.go +++ b/internal/telegram/intercept/query.go @@ -58,11 +58,11 @@ func HandlerWithQuery(handler QueryFuncHandler, option ...QueryInterceptOption) return func(query *tb.Query) { ctx := context.Background() ctx, err := interceptQuery(context.Background(), query, hm.before) - defer interceptQuery(ctx, query, hm.onDefer) if err != nil { log.Traceln(err) return } + defer interceptQuery(ctx, query, hm.onDefer) hm.handler(ctx, query) _, err = interceptQuery(ctx, query, hm.after) if err != nil {