public static async Task TeamMenu(UserAccount user, IUserMessage message, IEmote emote, ContextIds idList) { Team team = user.GetTeam(); if (team != null) { switch (emote.Name.ToLower()) { case "back1": user.RemoveAllReactionMessages(7); user.RemoveAllReactionMessages(1); await message.RemoveAllReactionsAsync(); await message.ModifyAsync(m => { m.Embed = MonEmbedBuilder.MainMenu(user); m.Content = ""; }); await MessageHandler.MenuEmojis(message); user.ReactionMessages.Add(message.Id, 1); break; case "invite": if (team.CanInvite(user)) { await message.ModifyAsync(m => { m.Content = "**Please tag the player(s) you wish to invite.**"; }); user.ExpectedInput = 0; user.ExpectedInputLocation = message.Channel.Id; } break; case "kick_player": if (team.CanKick(user)) { await message.ModifyAsync(m => { m.Content = "**Please tag the player(s) you wish to kick.**"; }); user.ExpectedInput = 1; user.ExpectedInputLocation = message.Channel.Id; } break; case "exit": bool leader = false; if (team.Members.IndexOf(user) == 0) { leader = true; } team.KickMember(user); if (team.Members.Count > 0) { if (leader) { await MessageHandler.SendMessage(user.Char.CurrentGuildId, message.Channel.Id, $"{team.Members[0].Mention}, you are now the team leader."); } } else { TownHandler.GetTown(user.Char.CurrentGuildId).Teams.Remove(team); } user.RemoveAllReactionMessages(9); user.RemoveAllReactionMessages(7); await message.RemoveAllReactionsAsync(); await message.ModifyAsync(m => { m.Embed = MonEmbedBuilder.TeamMenu(user); m.Content = ""; }); await MessageHandler.TeamMenuEmojis(message, user); break; case "settings": if (team.CanAccessSettings(user)) { user.RemoveAllReactionMessages(7); user.RemoveAllReactionMessages(8); await message.RemoveAllReactionsAsync(); await message.ModifyAsync(m => { m.Embed = MonEmbedBuilder.TeamSettingsMenu(user); m.Content = ""; }); await MessageHandler.TeamSettingsEmojis(message, user); user.ReactionMessages.Add(message.Id, 8); } break; case "disband": if (team.CanDisband(user)) { TownHandler.GetTown(user.Char.CurrentGuildId).Teams.Remove(team); user.RemoveAllReactionMessages(9); user.RemoveAllReactionMessages(7); await message.RemoveAllReactionsAsync(); await message.ModifyAsync(m => { m.Embed = MonEmbedBuilder.TeamMenu(user); m.Content = ""; }); await MessageHandler.TeamMenuEmojis(message, user); } break; default: break; } } }