mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-11-25 01:22:41 +00:00
add supergroup members
This commit is contained in:
parent
fc1361c2af
commit
acd3f44ebf
@ -87,3 +87,33 @@ public func addPeerMember(account: Account, peerId: PeerId, memberId: PeerId) ->
|
||||
}
|
||||
} |> mapError { _ -> AddPeerMemberError in return .generic } |> switchToLatest
|
||||
}
|
||||
|
||||
|
||||
public func addSupergroupMembers(account: Account, peerId: PeerId, memberIds: [PeerId]) -> Signal<Void, Void> {
|
||||
return account.postbox.modify { modifier -> Signal<Void, Void> in
|
||||
|
||||
var memberPeerIds:[PeerId:Peer] = [:]
|
||||
var inputUsers:[Api.InputUser] = []
|
||||
for memberId in memberIds {
|
||||
if let peer = modifier.getPeer(memberId) {
|
||||
memberPeerIds[peerId] = peer
|
||||
if let inputUser = apiInputUser(peer) {
|
||||
inputUsers.append(inputUser)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if let peer = modifier.getPeer(peerId), let channel = peer as? TelegramChannel, let inputChannel = apiInputChannel(channel) {
|
||||
return account.network.request(Api.functions.channels.inviteToChannel(channel: inputChannel, users: inputUsers))
|
||||
|> retryRequest
|
||||
|> mapToSignal { result -> Signal<Void, Void> in
|
||||
account.stateManager.addUpdates(result)
|
||||
return fetchAndUpdateCachedParticipants(peerId: peerId, network:account.network, postbox: account.postbox)
|
||||
}
|
||||
} else {
|
||||
return .fail()
|
||||
}
|
||||
|
||||
} |> switchToLatest
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user