Fix music forwarding

This commit is contained in:
Peter 2018-11-23 04:21:03 +03:00
parent 1927b4bdcb
commit c08b04fa30

View File

@ -406,22 +406,33 @@ func enqueueMessages(transaction: Transaction, account: Account, peerId: PeerId,
forwardInfo = StoreMessageForwardInfo(authorId: sourceForwardInfo.author.id, sourceId: sourceForwardInfo.source?.id, sourceMessageId: sourceForwardInfo.sourceMessageId, date: sourceForwardInfo.date, authorSignature: sourceForwardInfo.authorSignature) forwardInfo = StoreMessageForwardInfo(authorId: sourceForwardInfo.author.id, sourceId: sourceForwardInfo.source?.id, sourceMessageId: sourceForwardInfo.sourceMessageId, date: sourceForwardInfo.date, authorSignature: sourceForwardInfo.authorSignature)
} else { } else {
if sourceMessage.id.peerId != account.peerId { if sourceMessage.id.peerId != account.peerId {
var sourceId: PeerId? = nil var hasHiddenForwardMedia = false
var sourceMessageId: MessageId? = nil for media in sourceMessage.media {
if let peer = messageMainPeer(sourceMessage) as? TelegramChannel, case .broadcast = peer.info { if let file = media as? TelegramMediaFile {
sourceId = peer.id if file.isMusic {
sourceMessageId = sourceMessage.id hasHiddenForwardMedia = true
} }
var authorSignature: String?
for attribute in sourceMessage.attributes {
if let attribute = attribute as? AuthorSignatureMessageAttribute {
authorSignature = attribute.signature
break
} }
} }
forwardInfo = StoreMessageForwardInfo(authorId: author.id, sourceId: sourceId, sourceMessageId: sourceMessageId, date: sourceMessage.timestamp, authorSignature: authorSignature) if !hasHiddenForwardMedia {
var sourceId: PeerId? = nil
var sourceMessageId: MessageId? = nil
if let peer = messageMainPeer(sourceMessage) as? TelegramChannel, case .broadcast = peer.info {
sourceId = peer.id
sourceMessageId = sourceMessage.id
}
var authorSignature: String?
for attribute in sourceMessage.attributes {
if let attribute = attribute as? AuthorSignatureMessageAttribute {
authorSignature = attribute.signature
break
}
}
forwardInfo = StoreMessageForwardInfo(authorId: author.id, sourceId: sourceId, sourceMessageId: sourceMessageId, date: sourceMessage.timestamp, authorSignature: authorSignature)
}
} else { } else {
forwardInfo = nil forwardInfo = nil
} }