connector: set IsSuperGroup on dialog sync

Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
This commit is contained in:
Sumner Evans
2025-01-09 18:59:13 -07:00
parent 664d6050df
commit f4052dcfd3
3 changed files with 10 additions and 4 deletions
+1 -4
View File
@@ -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)
},
}
+6
View File
@@ -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"`
+3
View File
@@ -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