mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-11-25 17:43:18 +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
|
} |> 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