From f4052dcfd38fd22ef0c408575a4134bebd49b970 Mon Sep 17 00:00:00 2001 From: Sumner Evans Date: Thu, 9 Jan 2025 18:59:13 -0700 Subject: [PATCH] connector: set IsSuperGroup on dialog sync Signed-off-by: Sumner Evans --- pkg/connector/chatinfo.go | 5 +---- pkg/connector/metadata.go | 6 ++++++ pkg/connector/sync.go | 3 +++ 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/pkg/connector/chatinfo.go b/pkg/connector/chatinfo.go index 215aac1b..8edb7f90 100644 --- a/pkg/connector/chatinfo.go +++ b/pkg/connector/chatinfo.go @@ -124,10 +124,7 @@ func (t *TelegramClient) getGroupChatInfo(fullChat *tg.MessagesChatFull, chatID }, CanBackfill: true, ExtraUpdates: func(ctx context.Context, p *bridgev2.Portal) bool { - meta := p.Metadata.(*PortalMetadata) - changed := meta.IsSuperGroup != isMegagroup - meta.IsSuperGroup = isMegagroup - return changed + return p.Metadata.(*PortalMetadata).SetIsSuperGroup(isMegagroup) }, } diff --git a/pkg/connector/metadata.go b/pkg/connector/metadata.go index eaf50aa2..08835031 100644 --- a/pkg/connector/metadata.go +++ b/pkg/connector/metadata.go @@ -34,6 +34,12 @@ type PortalMetadata struct { MessagesTTL int `json:"messages_ttl,omitempty"` } +func (pm *PortalMetadata) SetIsSuperGroup(isSupergroup bool) (changed bool) { + changed = pm.IsSuperGroup != isSupergroup + pm.IsSuperGroup = isSupergroup + return changed +} + type MessageMetadata struct { ContentHash []byte `json:"content_hash,omitempty"` ContentURI id.ContentURIString `json:"content_uri,omitempty"` diff --git a/pkg/connector/sync.go b/pkg/connector/sync.go index 0ba6ff8d..be04058e 100644 --- a/pkg/connector/sync.go +++ b/pkg/connector/sync.go @@ -172,6 +172,9 @@ func (t *TelegramClient) handleDialogs(ctx context.Context, dialogs tg.ModifiedM }, }, }, + ExtraUpdates: func(ctx context.Context, p *bridgev2.Portal) bool { + return p.Metadata.(*PortalMetadata).SetIsSuperGroup(channel.(*tg.Channel).GetMegagroup()) + }, } if !portal.Metadata.(*PortalMetadata).IsSuperGroup { // Add the channel user