mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-23 22:55:00 +00:00
Merge commit '45e7cc9d284bfc5e65c03b82719aa847254ce513'
This commit is contained in:
@@ -229,3 +229,37 @@ func _internal_addChannelMembers(account: Account, peerId: PeerId, memberIds: [P
|
||||
return signal
|
||||
|> switchToLatest
|
||||
}
|
||||
|
||||
|
||||
public enum SendBotRequestedPeerError {
|
||||
case generic
|
||||
}
|
||||
|
||||
func _internal_sendBotRequestedPeer(account: Account, peerId: PeerId, messageId: MessageId, buttonId: Int32, requestedPeerId: PeerId) -> Signal<Void, SendBotRequestedPeerError> {
|
||||
let signal = account.postbox.transaction { transaction -> Signal<Void, SendBotRequestedPeerError> in
|
||||
|
||||
|
||||
if let peer = transaction.getPeer(peerId), let requestedPeer = transaction.getPeer(requestedPeerId) {
|
||||
|
||||
let inputPeer = apiInputPeer(peer)
|
||||
let inputRequestedPeer = apiInputPeer(requestedPeer)
|
||||
|
||||
if let inputPeer = inputPeer, let inputRequestedPeer = inputRequestedPeer {
|
||||
let signal = account.network.request(Api.functions.messages.sendBotRequestedPeer(peer: inputPeer, msgId: messageId.id, buttonId: buttonId, requestedPeer: inputRequestedPeer))
|
||||
|> mapError { error -> SendBotRequestedPeerError in
|
||||
return .generic
|
||||
}
|
||||
|> map { result in
|
||||
account.stateManager.addUpdates(result)
|
||||
}
|
||||
return signal
|
||||
}
|
||||
|
||||
}
|
||||
return .single(Void())
|
||||
}
|
||||
|> castError(SendBotRequestedPeerError.self)
|
||||
|
||||
return signal
|
||||
|> switchToLatest
|
||||
}
|
||||
|
||||
@@ -439,6 +439,10 @@ public extension TelegramEngine {
|
||||
public func addChannelMember(peerId: PeerId, memberId: PeerId) -> Signal<(ChannelParticipant?, RenderedChannelParticipant), AddChannelMemberError> {
|
||||
return _internal_addChannelMember(account: self.account, peerId: peerId, memberId: memberId)
|
||||
}
|
||||
|
||||
public func sendBotRequestedPeer(messageId: MessageId, buttonId: Int32, requestedPeerId: PeerId) -> Signal<Void, SendBotRequestedPeerError> {
|
||||
return _internal_sendBotRequestedPeer(account: self.account, peerId: messageId.peerId, messageId: messageId, buttonId: buttonId, requestedPeerId: requestedPeerId)
|
||||
}
|
||||
|
||||
public func addChannelMembers(peerId: PeerId, memberIds: [PeerId]) -> Signal<Void, AddChannelMemberError> {
|
||||
return _internal_addChannelMembers(account: self.account, peerId: peerId, memberIds: memberIds)
|
||||
|
||||
Reference in New Issue
Block a user