chat metadata: bridge title/avatar edits TG -> Matrix

Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
This commit is contained in:
Sumner Evans
2024-08-06 12:35:38 -06:00
parent 7e53698696
commit ca4d566490
4 changed files with 49 additions and 16 deletions
+44 -11
View File
@@ -62,15 +62,48 @@ func (t *TelegramClient) onUpdateNewMessage(ctx context.Context, update IGetMess
ConvertMessageFunc: t.convertToMatrix,
})
case *tg.MessageService:
// fmt.Printf("message service\n")
// fmt.Printf("%v\n", msg)
// sender := t.getEventSender(msg)
// switch action := msg.Action.(type) {
// case *tg.MessageActionChatEditTitle:
sender := t.getEventSender(msg)
portalKey := ids.MakePortalKey(msg.PeerID)
switch action := msg.Action.(type) {
case *tg.MessageActionChatEditTitle:
t.main.Bridge.QueueRemoteEvent(t.userLogin, &simplevent.ChatInfoChange{
EventMeta: simplevent.EventMeta{
Type: bridgev2.RemoteEventChatInfoChange,
PortalKey: portalKey,
Sender: sender,
Timestamp: time.Unix(int64(msg.Date), 0),
},
ChatInfoChange: &bridgev2.ChatInfoChange{
ChatInfo: &bridgev2.ChatInfo{Name: &action.Title},
},
})
case *tg.MessageActionChatEditPhoto:
t.main.Bridge.QueueRemoteEvent(t.userLogin, &simplevent.ChatInfoChange{
EventMeta: simplevent.EventMeta{
Type: bridgev2.RemoteEventChatInfoChange,
PortalKey: portalKey,
Sender: sender,
Timestamp: time.Unix(int64(msg.Date), 0),
},
ChatInfoChange: &bridgev2.ChatInfoChange{
ChatInfo: &bridgev2.ChatInfo{
Avatar: t.avatarFromPhoto(action.Photo),
},
},
})
case *tg.MessageActionChatDeletePhoto:
t.main.Bridge.QueueRemoteEvent(t.userLogin, &simplevent.ChatInfoChange{
EventMeta: simplevent.EventMeta{
Type: bridgev2.RemoteEventChatInfoChange,
PortalKey: portalKey,
Sender: sender,
Timestamp: time.Unix(int64(msg.Date), 0),
},
ChatInfoChange: &bridgev2.ChatInfoChange{
ChatInfo: &bridgev2.ChatInfo{Avatar: &bridgev2.Avatar{Remove: true}},
},
})
// case *tg.MessageActionChatCreate:
// case *tg.MessageActionChatEditPhoto:
// case *tg.MessageActionChatDeletePhoto:
// case *tg.MessageActionChatAddUser:
// case *tg.MessageActionChatDeleteUser:
// case *tg.MessageActionChatJoinedByLink:
@@ -109,9 +142,9 @@ func (t *TelegramClient) onUpdateNewMessage(ctx context.Context, update IGetMess
// case *tg.MessageActionGiveawayResults:
// case *tg.MessageActionBoostApply:
// case *tg.MessageActionRequestedPeerSentMe:
// default:
// return fmt.Errorf("unknown action type %T", action)
// }
default:
return fmt.Errorf("unknown action type %T", action)
}
default:
return fmt.Errorf("unknown message type %T", msg)