// circular: night -> visions -> day -> night public async Task StartGame() { await ChargeCostOfEntry(); RemoveMonitors(); await Task.WhenAll(ActiveGame.Players.Select(p => { return(p.User.SendMessageAsync(GameElement.InitialRoleReveal(p.Role))); })); await DayChannel.SendMessageAsync(GameElement.PhasePhrase(PhaseType.Night)); await NightChannel.SendMessageAsync(GameElement.PhaseInstruction(PhaseType.Night)); await UnlockChannelForUsers(NightChannel, ActiveGame.Informed.Select(p => p.User)); await LockChannelForUsers(DayChannel, ActiveGame.Players.Select(p => p.User)); }