Example #1
0
        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;
        }
Example #2
0
        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);
            }
        }