From 06856adb8662a33a4be879958f39e3e02ac5a3c2 Mon Sep 17 00:00:00 2001 From: Slavi Pantaleev Date: Thu, 25 Aug 2022 21:38:42 +0300 Subject: [PATCH] Simplify code --- bot/bot.go | 18 +++++++++--------- bot/sync.go | 22 ++++------------------ 2 files changed, 13 insertions(+), 27 deletions(-) diff --git a/bot/bot.go b/bot/bot.go index c9b37f5..5085220 100644 --- a/bot/bot.go +++ b/bot/bot.go @@ -19,15 +19,15 @@ import ( // Bot represents matrix bot type Bot struct { - noowner bool - federation bool - prefix string - domain string - rooms map[string]id.RoomID - roomsmu *sync.Mutex - log *logger.Logger - lp *linkpearl.Linkpearl - handledEvents sync.Map + noowner bool + federation bool + prefix string + domain string + rooms map[string]id.RoomID + roomsmu *sync.Mutex + log *logger.Logger + lp *linkpearl.Linkpearl + handledJoinEvents sync.Map } // New creates a new matrix bot diff --git a/bot/sync.go b/bot/sync.go index 35efec0..16c1466 100644 --- a/bot/sync.go +++ b/bot/sync.go @@ -29,27 +29,13 @@ func (b *Bot) initSync() { func (b *Bot) onMembership(evt *event.Event) { hub := sentry.CurrentHub().Clone() - hub.ConfigureScope(func(scope *sentry.Scope) { - scope.SetUser(sentry.User{ID: evt.Sender.String()}) - scope.SetContext("event", map[string]string{ - "id": evt.ID.String(), - "room": evt.RoomID.String(), - "sender": evt.Sender.String(), - }) - }) - - if evt.Sender == b.lp.GetClient().UserID { - // Handle membership events related to our own (bot) user first - - switch evt.Content.AsMember().Membership { - case event.MembershipJoin: - b.onBotJoin(evt, hub) - } + if evt.Content.AsMember().Membership == event.MembershipJoin && evt.Sender == b.lp.GetClient().UserID { + b.onBotJoin(evt, hub) return } - // Handle membership events related to other users + // Potentially handle other membership events in the future } func (b *Bot) onMessage(evt *event.Event) { @@ -106,7 +92,7 @@ func (b *Bot) onEncryptedMessage(evt *event.Event) { func (b *Bot) onBotJoin(evt *event.Event, hub *sentry.Hub) { // Workaround for membership=join events which are delivered to us twice, // as described in this bug report: https://github.com/matrix-org/synapse/issues/9768 - _, exists := b.handledEvents.LoadOrStore(evt.ID, true) + _, exists := b.handledJoinEvents.LoadOrStore(evt.ID, true) if exists { b.log.Info("Suppressing already handled event %s", evt.ID) return