mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-23 14:45:21 +00:00
[WIP] Send message effects
This commit is contained in:
@@ -794,6 +794,7 @@ public final class PendingMessageManager {
|
||||
var scheduleTime: Int32?
|
||||
var sendAsPeerId: PeerId?
|
||||
var quickReply: OutgoingQuickReplyMessageAttribute?
|
||||
var messageEffect: EffectMessageAttribute?
|
||||
|
||||
var flags: Int32 = 0
|
||||
|
||||
@@ -824,6 +825,8 @@ public final class PendingMessageManager {
|
||||
sendAsPeerId = attribute.peerId
|
||||
} else if let attribute = attribute as? OutgoingQuickReplyMessageAttribute {
|
||||
quickReply = attribute
|
||||
} else if let attribute = attribute as? EffectMessageAttribute {
|
||||
messageEffect = attribute
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1016,7 +1019,13 @@ public final class PendingMessageManager {
|
||||
flags |= 1 << 17
|
||||
}
|
||||
|
||||
sendMessageRequest = network.request(Api.functions.messages.sendMultiMedia(flags: flags, peer: inputPeer, replyTo: replyTo, multiMedia: singleMedias, scheduleDate: scheduleTime, sendAs: sendAsInputPeer, quickReplyShortcut: quickReplyShortcut))
|
||||
var messageEffectId: Int64?
|
||||
if let messageEffect {
|
||||
flags |= 1 << 18
|
||||
messageEffectId = messageEffect.id
|
||||
}
|
||||
|
||||
sendMessageRequest = network.request(Api.functions.messages.sendMultiMedia(flags: flags, peer: inputPeer, replyTo: replyTo, multiMedia: singleMedias, scheduleDate: scheduleTime, sendAs: sendAsInputPeer, quickReplyShortcut: quickReplyShortcut, effect: messageEffectId))
|
||||
}
|
||||
|
||||
return sendMessageRequest
|
||||
@@ -1192,6 +1201,7 @@ public final class PendingMessageManager {
|
||||
var sendAsPeerId: PeerId?
|
||||
var bubbleUpEmojiOrStickersets = false
|
||||
var quickReply: OutgoingQuickReplyMessageAttribute?
|
||||
var messageEffect: EffectMessageAttribute?
|
||||
|
||||
var flags: Int32 = 0
|
||||
|
||||
@@ -1228,6 +1238,8 @@ public final class PendingMessageManager {
|
||||
sendAsPeerId = attribute.peerId
|
||||
} else if let attribute = attribute as? OutgoingQuickReplyMessageAttribute {
|
||||
quickReply = attribute
|
||||
} else if let attribute = attribute as? EffectMessageAttribute {
|
||||
messageEffect = attribute
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1327,7 +1339,13 @@ public final class PendingMessageManager {
|
||||
flags |= 1 << 17
|
||||
}
|
||||
|
||||
sendMessageRequest = network.requestWithAdditionalInfo(Api.functions.messages.sendMessage(flags: flags, peer: inputPeer, replyTo: replyTo, message: message.text, randomId: uniqueId, replyMarkup: nil, entities: messageEntities, scheduleDate: scheduleTime, sendAs: sendAsInputPeer, quickReplyShortcut: quickReplyShortcut), info: .acknowledgement, tag: dependencyTag)
|
||||
var messageEffectId: Int64?
|
||||
if let messageEffect {
|
||||
flags |= 1 << 18
|
||||
messageEffectId = messageEffect.id
|
||||
}
|
||||
|
||||
sendMessageRequest = network.requestWithAdditionalInfo(Api.functions.messages.sendMessage(flags: flags, peer: inputPeer, replyTo: replyTo, message: message.text, randomId: uniqueId, replyMarkup: nil, entities: messageEntities, scheduleDate: scheduleTime, sendAs: sendAsInputPeer, quickReplyShortcut: quickReplyShortcut, effect: messageEffectId), info: .acknowledgement, tag: dependencyTag)
|
||||
case let .media(inputMedia, text):
|
||||
if bubbleUpEmojiOrStickersets {
|
||||
flags |= Int32(1 << 15)
|
||||
@@ -1401,8 +1419,14 @@ public final class PendingMessageManager {
|
||||
}
|
||||
flags |= 1 << 17
|
||||
}
|
||||
|
||||
var messageEffectId: Int64?
|
||||
if let messageEffect {
|
||||
flags |= 1 << 18
|
||||
messageEffectId = messageEffect.id
|
||||
}
|
||||
|
||||
sendMessageRequest = network.request(Api.functions.messages.sendMedia(flags: flags, peer: inputPeer, replyTo: replyTo, media: inputMedia, message: text, randomId: uniqueId, replyMarkup: nil, entities: messageEntities, scheduleDate: scheduleTime, sendAs: sendAsInputPeer, quickReplyShortcut: quickReplyShortcut), tag: dependencyTag)
|
||||
sendMessageRequest = network.request(Api.functions.messages.sendMedia(flags: flags, peer: inputPeer, replyTo: replyTo, media: inputMedia, message: text, randomId: uniqueId, replyMarkup: nil, entities: messageEntities, scheduleDate: scheduleTime, sendAs: sendAsInputPeer, quickReplyShortcut: quickReplyShortcut, effect: messageEffectId), tag: dependencyTag)
|
||||
|> map(NetworkRequestResult.result)
|
||||
case let .forward(sourceInfo):
|
||||
var topMsgId: Int32?
|
||||
|
||||
Reference in New Issue
Block a user