handletelegram: resync channel on update event

This commit is contained in:
Tulir Asokan
2025-12-05 23:29:12 +02:00
parent c04866c854
commit 9b2b691afd
+20 -1
View File
@@ -100,7 +100,26 @@ func (t *TelegramClient) onUpdateChannel(ctx context.Context, e tg.Entities, upd
log.Error().Msg("Update was for a left channel. Leaving the channel.")
return t.selfLeaveChat(portalKey)
} else {
// TODO update the channel info
res := t.main.Bridge.QueueRemoteEvent(t.userLogin, &simplevent.ChatResync{
EventMeta: simplevent.EventMeta{
PortalKey: portalKey,
CreatePortal: true,
},
GetChatInfoFunc: func(ctx context.Context, portal *bridgev2.Portal) (*bridgev2.ChatInfo, error) {
chatInfo, mfm, err := t.wrapChatInfo(channel)
if err != nil {
return nil, err
}
if portal.MXID == "" {
err = t.fillChannelMembers(ctx, mfm, chatInfo.Members)
if err != nil {
return nil, err
}
}
return chatInfo, nil
},
})
return resultToError(res)
}
return nil
}