database: migrate disappearing timer to standard location (#121)
This commit is contained in:
@@ -356,31 +356,16 @@ func (t *TelegramClient) onUpdateNewMessage(ctx context.Context, entities tg.Ent
|
||||
return err
|
||||
}
|
||||
case *tg.MessageActionSetMessagesTTL:
|
||||
res := t.main.Bridge.QueueRemoteEvent(t.userLogin, &simplevent.ChatResync{
|
||||
EventMeta: eventMeta.WithType(bridgev2.RemoteEventChatResync),
|
||||
ChatInfo: &bridgev2.ChatInfo{
|
||||
ExtraUpdates: func(ctx context.Context, p *bridgev2.Portal) bool {
|
||||
updated := p.Portal.Metadata.(*PortalMetadata).MessagesTTL != action.Period
|
||||
p.Portal.Metadata.(*PortalMetadata).MessagesTTL = action.Period
|
||||
return updated
|
||||
},
|
||||
},
|
||||
})
|
||||
if err := resultToError(res); err != nil {
|
||||
return err
|
||||
setting := database.DisappearingSetting{
|
||||
Type: event.DisappearingTypeAfterSend,
|
||||
Timer: time.Duration(action.Period) * time.Second,
|
||||
}
|
||||
|
||||
// Send a notice about the TTL change
|
||||
content := bridgev2.DisappearingMessageNotice(time.Duration(action.Period)*time.Second, false)
|
||||
res = t.main.Bridge.QueueRemoteEvent(t.userLogin, &simplevent.Message[any]{
|
||||
EventMeta: eventMeta.WithType(bridgev2.RemoteEventMessage),
|
||||
ID: ids.GetMessageIDFromMessage(msg),
|
||||
ConvertMessageFunc: func(ctx context.Context, portal *bridgev2.Portal, intent bridgev2.MatrixAPI, data any) (*bridgev2.ConvertedMessage, error) {
|
||||
return &bridgev2.ConvertedMessage{
|
||||
Parts: []*bridgev2.ConvertedMessagePart{
|
||||
{Type: event.EventMessage, Content: content},
|
||||
},
|
||||
}, nil
|
||||
res := t.main.Bridge.QueueRemoteEvent(t.userLogin, &simplevent.ChatInfoChange{
|
||||
EventMeta: eventMeta.WithType(bridgev2.RemoteEventChatInfoChange),
|
||||
ChatInfoChange: &bridgev2.ChatInfoChange{
|
||||
ChatInfo: &bridgev2.ChatInfo{
|
||||
Disappear: &setting,
|
||||
},
|
||||
},
|
||||
})
|
||||
if err := resultToError(res); err != nil {
|
||||
|
||||
Reference in New Issue
Block a user