merged from gramsrv upstream
This commit is contained in:
parent
79c64ee916
commit
21a0856587
651 changed files with 54774 additions and 4590 deletions
|
|
@ -6,6 +6,7 @@ import (
|
|||
|
||||
"github.com/iamxvbaba/td/proto"
|
||||
"github.com/iamxvbaba/td/tg"
|
||||
"github.com/iamxvbaba/td/tlprofile"
|
||||
"go.uber.org/zap"
|
||||
|
||||
"telesrv/internal/store"
|
||||
|
|
@ -61,11 +62,12 @@ func (r *Router) deliverEphemeralPushLocal(ctx context.Context, event store.Ephe
|
|||
if online, ok := r.deps.Sessions.(OnlineUserProvider); ok && !online.IsUserOnline(event.TargetUserID) {
|
||||
return
|
||||
}
|
||||
binder, ok := r.deps.Sessions.(ExactLayerTransientSessionBinder)
|
||||
binder, ok := r.deps.Sessions.(SemanticTransientSessionBinder)
|
||||
if !ok {
|
||||
return
|
||||
}
|
||||
var updates tg.UpdatesClass
|
||||
var semantic tlprofile.SemanticID
|
||||
switch event.Kind {
|
||||
case store.EphemeralPushNew, store.EphemeralPushEdit:
|
||||
if event.TargetUserID != event.Message.ReceiverUserID || event.Message.Deleted {
|
||||
|
|
@ -76,11 +78,16 @@ func (r *Router) deliverEphemeralPushLocal(ctx context.Context, event store.Ephe
|
|||
return
|
||||
}
|
||||
updates = built
|
||||
semantic = tlprofile.SemanticTypeUpdateNewEphemeralMessage
|
||||
if event.Kind == store.EphemeralPushEdit {
|
||||
semantic = tlprofile.SemanticTypeUpdateEditEphemeralMessage
|
||||
}
|
||||
case store.EphemeralPushDelete:
|
||||
if !event.Message.Deleted || (event.TargetUserID != event.Message.SenderUserID && event.TargetUserID != event.Message.ReceiverUserID) {
|
||||
return
|
||||
}
|
||||
updates = ephemeralDeleteUpdates(event.Message, event.Date)
|
||||
semantic = tlprofile.SemanticTypeUpdateDeleteEphemeralMessages
|
||||
case store.EphemeralPushCallback:
|
||||
callback := event.Callback
|
||||
if callback == nil || callback.BotUserID != event.TargetUserID || callback.MessageID != event.Message.ID || callback.Peer != event.Message.Peer {
|
||||
|
|
@ -92,16 +99,13 @@ func (r *Router) deliverEphemeralPushLocal(ctx context.Context, event store.Ephe
|
|||
}
|
||||
update.SetData(callback.Data)
|
||||
updates = &tg.Updates{Updates: []tg.UpdateClass{update}, Date: event.Date}
|
||||
semantic = tlprofile.SemanticTypeUpdateBotCallbackQuery
|
||||
default:
|
||||
return
|
||||
}
|
||||
minLayer := 228
|
||||
if event.Kind == store.EphemeralPushCallback {
|
||||
minLayer = 225
|
||||
}
|
||||
if event.TargetBusinessAuthKey != ([8]byte{}) {
|
||||
_, _ = binder.PushToUserAuthKeyTransientAtLeastLayer(ctx, event.TargetUserID, event.TargetBusinessAuthKey, minLayer, proto.MessageFromServer, updates, r.cfg.OutboundPushTimeout)
|
||||
_, _ = binder.PushToUserAuthKeyTransientCompatible(ctx, event.TargetUserID, event.TargetBusinessAuthKey, semantic, proto.MessageFromServer, updates, r.cfg.OutboundPushTimeout)
|
||||
return
|
||||
}
|
||||
_, _ = binder.PushToUserTransientAtLeastLayer(ctx, event.TargetUserID, minLayer, proto.MessageFromServer, updates, r.cfg.OutboundPushTimeout)
|
||||
_, _ = binder.PushToUserTransientCompatible(ctx, event.TargetUserID, semantic, proto.MessageFromServer, updates, r.cfg.OutboundPushTimeout)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue