From 9eec8738f99005f6884886397870cfed57e4ca06 Mon Sep 17 00:00:00 2001 From: Aine Date: Tue, 23 Aug 2022 19:25:45 +0300 Subject: [PATCH] move syncRooms --- bot/data.go | 25 +++++++++++++++++++++++++ bot/mailbox.go | 26 -------------------------- 2 files changed, 25 insertions(+), 26 deletions(-) diff --git a/bot/data.go b/bot/data.go index dca98d8..47c4177 100644 --- a/bot/data.go +++ b/bot/data.go @@ -61,6 +61,31 @@ func (b *Bot) migrate() error { return nil } +func (b *Bot) syncRooms(ctx context.Context) error { + b.roomsmu.Lock() + defer b.roomsmu.Unlock() + span := sentry.StartSpan(ctx, "http.server", sentry.TransactionName("syncRooms")) + defer span.Finish() + + resp, err := b.lp.GetClient().JoinedRooms() + if err != nil { + return err + } + b.rooms = make(map[string]id.RoomID, len(resp.JoinedRooms)) + for _, roomID := range resp.JoinedRooms { + cfg, serr := b.getSettings(span.Context(), roomID) + if serr != nil { + b.log.Warn("cannot get %s settings: %v", roomID, err) + continue + } + if cfg.Mailbox != "" { + b.rooms[cfg.Mailbox] = roomID + } + } + + return nil +} + func (b *Bot) getSettings(ctx context.Context, roomID id.RoomID) (settings, error) { span := sentry.StartSpan(ctx, "http.server", sentry.TransactionName("getSettings")) defer span.Finish() diff --git a/bot/mailbox.go b/bot/mailbox.go index d74a71e..0e08ebb 100644 --- a/bot/mailbox.go +++ b/bot/mailbox.go @@ -7,34 +7,8 @@ import ( "gitlab.com/etke.cc/postmoogle/utils" "maunium.net/go/mautrix/event" "maunium.net/go/mautrix/format" - "maunium.net/go/mautrix/id" ) -func (b *Bot) syncRooms(ctx context.Context) error { - b.roomsmu.Lock() - defer b.roomsmu.Unlock() - span := sentry.StartSpan(ctx, "http.server", sentry.TransactionName("syncRooms")) - defer span.Finish() - - resp, err := b.lp.GetClient().JoinedRooms() - if err != nil { - return err - } - b.rooms = make(map[string]id.RoomID, len(resp.JoinedRooms)) - for _, roomID := range resp.JoinedRooms { - cfg, serr := b.getSettings(span.Context(), roomID) - if serr != nil { - b.log.Warn("cannot get %s settings: %v", roomID, err) - continue - } - if cfg.Mailbox != "" { - b.rooms[cfg.Mailbox] = roomID - } - } - - return nil -} - func (b *Bot) handleMailbox(ctx context.Context, evt *event.Event, command []string) { if len(command) == 1 { b.getMailbox(ctx, evt)