public async Task Process(ForceJoinChannel forceJoin) { if (!IsLoggedIn) { return; } if (!User.IsAdmin) { await Respond("No rights to execute forcejoin"); return; } ConnectedUser connectedUser; if (server.ConnectedUsers.TryGetValue(forceJoin.UserName, out connectedUser)) { Channel channel; server.Channels.TryGetValue(forceJoin.ChannelName, out channel); await connectedUser.Process(new JoinChannel() { ChannelName = forceJoin.ChannelName, Password = channel != null ? channel.Password : null }); } }
private async Task Process(ForceJoinChannel forceJoin) { if (!IsLoggedIn) { return; } if (!User.IsAdmin) { await Respond("No rights to execute forcejoin"); return; } Client client; if (state.Clients.TryGetValue(forceJoin.UserName, out client)) { Channel channel; state.Rooms.TryGetValue(forceJoin.ChannelName, out channel); await client.Process(new JoinChannel() { ChannelName = forceJoin.ChannelName, Password = channel != null ? channel.Password : null }); } }