public static Task Nav_Template_Layout_P4AU_Dual_Character_Navigator_Confirm(SocketReaction reaction, MenuIdStructure menuSession) { if (reaction.Emote.Name == "💠") { // Stop the timeout timer associated with the menu. menuSession.MenuTimer.Stop(); // Go to a new menu. _ = Template_Layout_P4AU_Menu.Template_Layout_P4AU_Main(menuSession.User, menuSession.MenuMessage); return(Task.CompletedTask); } else if (reaction.Emote.Name == "✅") { // Stop the timeout timer associated with the menu. menuSession.MenuTimer.Stop(); // Go to a new menu. _ = Template_Layout_P4AU_Menu.Template_Layout_P4AU_Navigator_Location(menuSession.User, menuSession.MenuMessage); return(Task.CompletedTask); } else if (reaction.Emote.Name == "❌") { // Stop the timeout timer associated with the menu. menuSession.MenuTimer.Stop(); // Attempt to delete the menu message from the channel if it hasn't been deleted by the user yet. If this fails, catch the exception. try { _ = menuSession.MenuMessage.DeleteAsync(); } catch (Exception ex) { Console.WriteLine(ex); } // If the menu session is not null, remove it from the global list. if (menuSession != null) { Global.MenuIdList.Remove(menuSession); } return(Task.CompletedTask); } return(Task.CompletedTask); }
public static Task Nav_Template_Layout_P4AU_Navigator_Location(SocketReaction reaction, MenuIdStructure menuSession) { // Search for an item list that corresponds to the user's ID. var itemSession = Global.ItemIdList.SingleOrDefault(x => x.User.Id == reaction.UserId); if (reaction.Emote.Name == "💠") { // Stop the timeout timer associated with the menu. menuSession.MenuTimer.Stop(); // Go to a new menu. _ = Template_Layout_P4AU_Menu.Template_Layout_P4AU_Main(menuSession.User, menuSession.MenuMessage); return(Task.CompletedTask); } // Perform various actions based on what type of reaction was given to the message. // Previous Page else if (reaction.Emote.Name == "◀️") { try { // Decrease the item index by the maximum number of items that should be displayed to the user at once. itemSession.ItemIndexBase -= itemSession.MaxItemsDisplayed; // Decrease the page counter by one. itemSession.CurrentPage--; // Stop the timeout timer associated with the menu. menuSession.MenuTimer.Stop(); // Go to a new menu. _ = Template_Layout_P4AU_Menu.Template_Layout_P4AU_Navigator_Location(menuSession.User, menuSession.MenuMessage); return(Task.CompletedTask); } catch (Exception ex) { Console.WriteLine(ex); } } // Next Page else if (reaction.Emote.Name == "▶️") { try { // Increase the item index by the maximum number of items that should be displayed to the user at once. itemSession.ItemIndexBase += itemSession.MaxItemsDisplayed; // Increase the page counter by one. itemSession.CurrentPage++; // Stop the timeout timer associated with the menu. menuSession.MenuTimer.Stop(); // Go to a new menu. _ = Template_Layout_P4AU_Menu.Template_Layout_P4AU_Navigator_Location(menuSession.User, menuSession.MenuMessage); return(Task.CompletedTask); } catch (Exception ex) { Console.WriteLine(ex); } } // Keycap One else if (reaction.Emote.Name == "\u0031\ufe0f\u20e3") { // Get the account information of the user. var account = UserInfoClasses.GetAccount(menuSession.User); // Assign the chosen setting to the user's account. account.P4AU_TS_Nav_BG = itemSession.ItemIndexBase + 1; //Update the user's account. UserInfoClasses.UpdateAccount(account); // Stop the timeout timer associated with the menu. menuSession.MenuTimer.Stop(); // Go to a new menu. _ = Template_Layout_P4AU_Menu.Template_Layout_P4AU_Navigator_Location_Confirm(menuSession.User, menuSession.MenuMessage); return(Task.CompletedTask); } // Keycap Two else if (reaction.Emote.Name == "\u0032\ufe0f\u20e3") { // Get the account information of the user. var account = UserInfoClasses.GetAccount(menuSession.User); // Assign the chosen setting to the user's account. account.P4AU_TS_Nav_BG = itemSession.ItemIndexBase + 2; //Update the user's account. UserInfoClasses.UpdateAccount(account); // Stop the timeout timer associated with the menu. menuSession.MenuTimer.Stop(); // Go to a new menu. _ = Template_Layout_P4AU_Menu.Template_Layout_P4AU_Navigator_Location_Confirm(menuSession.User, menuSession.MenuMessage); return(Task.CompletedTask); } // Keycap Three else if (reaction.Emote.Name == "\u0033\ufe0f\u20e3") { // Get the account information of the user. var account = UserInfoClasses.GetAccount(menuSession.User); // Assign the chosen setting to the user's account. account.P4AU_TS_Nav_BG = itemSession.ItemIndexBase + 3; //Update the user's account. UserInfoClasses.UpdateAccount(account); // Stop the timeout timer associated with the menu. menuSession.MenuTimer.Stop(); // Go to a new menu. _ = Template_Layout_P4AU_Menu.Template_Layout_P4AU_Navigator_Location_Confirm(menuSession.User, menuSession.MenuMessage); return(Task.CompletedTask); } // Keycap Four else if (reaction.Emote.Name == "\u0034\ufe0f\u20e3") { // Get the account information of the user. var account = UserInfoClasses.GetAccount(menuSession.User); // Assign the chosen setting to the user's account. account.P4AU_TS_Nav_BG = itemSession.ItemIndexBase + 4; //Update the user's account. UserInfoClasses.UpdateAccount(account); // Stop the timeout timer associated with the menu. menuSession.MenuTimer.Stop(); // Go to a new menu. _ = Template_Layout_P4AU_Menu.Template_Layout_P4AU_Navigator_Location_Confirm(menuSession.User, menuSession.MenuMessage); return(Task.CompletedTask); } // Keycap Five else if (reaction.Emote.Name == "\u0035\ufe0f\u20e3") { // Get the account information of the user. var account = UserInfoClasses.GetAccount(menuSession.User); // Assign the chosen setting to the user's account. account.P4AU_TS_Nav_BG = itemSession.ItemIndexBase + 5; //Update the user's account. UserInfoClasses.UpdateAccount(account); // Stop the timeout timer associated with the menu. menuSession.MenuTimer.Stop(); // Go to a new menu. _ = Template_Layout_P4AU_Menu.Template_Layout_P4AU_Navigator_Location_Confirm(menuSession.User, menuSession.MenuMessage); return(Task.CompletedTask); } // Keycap Six else if (reaction.Emote.Name == "\u0036\ufe0f\u20e3") { // Get the account information of the user. var account = UserInfoClasses.GetAccount(menuSession.User); // Assign the chosen setting to the user's account. account.P4AU_TS_Nav_BG = itemSession.ItemIndexBase + 6; //Update the user's account. UserInfoClasses.UpdateAccount(account); // Stop the timeout timer associated with the menu. menuSession.MenuTimer.Stop(); // Go to a new menu. _ = Template_Layout_P4AU_Menu.Template_Layout_P4AU_Navigator_Location_Confirm(menuSession.User, menuSession.MenuMessage); return(Task.CompletedTask); } return(Task.CompletedTask); }