private async void DeleteGame(Message message, TelegramBotClient Bot, LocalUser user, GameRoomJson game) { bool done = service.Games.DeleteGameAsync(game.Id).Result; UserDatabase.Broadcast(u => game.Players.Select(s => s.UserId == u.User.Id).Any(), u => $"Администратор *{game.Name}* завершил игру", Bot, CommandsCenter.GetMenu("StartMenu").Keyboard); foreach (var u in game.Players) { UserDatabase.GetUser(u.UserId).SetRoom(null); } if (done) { await CommandsCenter.GetMenu("StartMenu") .ShowAsync(message.Chat.Id, Bot, $"Игра *{game.Name}* успешно удалена!"); } else { await Bot.SendTextMessageAsync(message.Chat.Id, $"Ошибка при удалении игры :c\nПовторите попытку позже", ParseMode.Markdown); } return; }
private async void DeleteUser(Message message, TelegramBotClient Bot, LocalUser user, GameRoomJson game) { try { await service.Games.DeletePlayerFromGame(game.Id, user.User.Id); await CommandsCenter.GetMenu("StartMenu").ShowAsync(message.Chat.Id, Bot, $"Вы успешно покинули игру."); UserDatabase.Broadcast(u => game.Players.Select(s => s.UserId == u.User.Id).Any(), u => $"Игрок {message.From.Username} покинул игру", Bot); user.SetRoom(null); } catch (HttpRequestException ex) { await Bot.SendTextMessageAsync(message.Chat.Id, $"Не удалось выйти из игры {game.Name}: {ex.Message}", ParseMode.Markdown); } }