public static async Task BBTAG_Set_List(SocialLinkerCommand sl_command) { // Create two variables for the command user and the command channel, derived from the message object taken in. SocketUser user = sl_command.User; SocketTextChannel channel = (SocketTextChannel)sl_command.Channel; // Get the account information of the command's user. var account = UserInfoClasses.GetAccount(user); var embed = new EmbedBuilder(); var author = new EmbedAuthorBuilder { Name = "BlazBlue: Cross Tag Battle Sprite Sets", IconUrl = user.GetAvatarUrl() }; embed.WithAuthor(author); // Assign an embed color and thumbnail based on the user's episode header setting for the BBTAG template. embed.WithColor(EmbedSettings.Get_Game_Color("BBTAG", account)); embed.WithThumbnailUrl(EmbedSettings.Get_Game_Logo("BBTAG")); // Create a description with the list of sprite sets available for the title. embed.WithDescription($"{OfficialSetMethods.Generate_BBTAG_Set_List()}"); // Send the embeded message to the channel. await channel.SendMessageAsync("", false, embed.Build()); }
public static async Task P5S_Set_List(SocialLinkerCommand sl_command) { // Create two variables for the command user and the command channel, derived from the message object taken in. SocketUser user = sl_command.User; SocketTextChannel channel = (SocketTextChannel)sl_command.Channel; // Get the account information of the command's user. var account = UserInfoClasses.GetAccount(user); var embed = new EmbedBuilder(); var author = new EmbedAuthorBuilder { Name = "Persona 5 Strikers Conversation Portrait Sets", IconUrl = user.GetAvatarUrl() }; embed.WithAuthor(author); // Set the color and thumbnail for the embeded message. embed.WithColor(EmbedSettings.Get_Game_Color("P5S", null)); embed.WithThumbnailUrl(EmbedSettings.Get_Game_Logo("P5S")); // Create a description with the list of sprite sets available for the title. embed.WithDescription($"{OfficialSetMethods.Generate_Normal_Set_List("P5S")}"); // Send the embeded message to the channel. await channel.SendMessageAsync("", false, embed.Build()); }
public static EmbedBuilder P2IS_PS1_Loading_Message() { var embed = new EmbedBuilder(); var author = new EmbedAuthorBuilder { Name = $"Generating Scene...", IconUrl = EmbedSettings.Get_Game_Logo("P2IS-PS1") }; embed.WithAuthor(author); embed.WithColor(EmbedSettings.Get_Game_Color("P2IS-PS1", null)); embed.WithDescription("This may take a few seconds!"); return(embed); }
public static EmbedBuilder BBTAG_Loading_Message(string series) { var embed = new EmbedBuilder(); var author = new EmbedAuthorBuilder { Name = $"Generating Scene...", IconUrl = EmbedSettings.Get_Game_Logo("BBTAG") }; embed.WithAuthor(author); embed.WithColor(EmbedSettings.Get_BBTAG_Series_Color(series)); embed.WithThumbnailUrl(EmbedSettings.Get_Loading_Icon("BBTAG", null)); embed.WithDescription("This may take a few seconds!"); return(embed); }
public static async Task P3P_Set_List(SocialLinkerCommand sl_command) { // Create two variables for the command user and the command channel, derived from the message object taken in. SocketUser user = sl_command.User; SocketTextChannel channel = (SocketTextChannel)sl_command.Channel; // Get the account information of the command's user. var account = UserInfoClasses.GetAccount(user); var embed = new EmbedBuilder(); var author = new EmbedAuthorBuilder { Name = "Persona 3 Portable Conversation Portrait Sets", IconUrl = user.GetAvatarUrl() }; embed.WithAuthor(author); // Assign a color based on the user's color setting for the P3P template. embed.WithColor(EmbedSettings.Get_Game_Color("P3P", account)); embed.WithThumbnailUrl(EmbedSettings.Get_Game_Logo("P3P")); // Create a description with the list of sprite sets available for the title. embed.WithDescription($"{OfficialSetMethods.Generate_Normal_Set_List("P3P")}"); // Create a footer based on the game version the list is from. var footer = new EmbedFooterBuilder { Text = "Version: P3P" }; // Add the footer to the embed. embed.WithFooter(footer); // Send the embeded message to the channel. await channel.SendMessageAsync("", false, embed.Build()); }
public static async Task Template_Layout_P2EP_PSP_Inverted_Filter(SocketGuildUser user, RestUserMessage message) { // Get the account information of the command's user. var account = UserInfoClasses.GetAccount(user); // Find the menu session associated with the current user. var menuSession = Global.MenuIdList.SingleOrDefault(x => x.User.Id == user.Id); var embed = new EmbedBuilder(); var author = new EmbedAuthorBuilder { Name = "Inverted Filter", IconUrl = user.GetAvatarUrl() }; embed.WithAuthor(author); var footer = new EmbedFooterBuilder { Text = "↩️ Return to P2EP Template Settings" }; embed.WithFooter(footer); // Assign a color and thumbnail to the embeded message based on the title being edited. embed.WithColor(EmbedSettings.Get_Game_Color("P2EP-PSP", null)); embed.WithThumbnailUrl(EmbedSettings.Get_Game_Logo("P2EP-PSP")); embed.WithDescription("" + "**Toggle inverted colors for character sprites on and off.**\n" + "\n" + $"⚙️ **Current setting:** **`{account.P2EP_PSP_TS_Invert}`**\n" + "\n" + ":one: On\n" + ":two: Off\n"); // Attempt editing the message if it hasn't been deleted by the user yet. // If it has, catch the exception, remove the menu entry from the global list, and return. try { // Remove all reactions from the current message. await message.RemoveAllReactionsAsync(); // Edit the current active message by replacing it with the recently created embed. await message.ModifyAsync(x => { x.Embed = embed.Build(); }); } catch (Exception ex) { Console.WriteLine(ex); // Remove the menu entry from the global list. Global.MenuIdList.Remove(menuSession); return; } // Edit the menu session according to the current message. menuSession.CurrentMenu = "Template_Layout_P2EP_PSP_Inverted_Filter"; menuSession.MenuTimer = new Timer() { // Create a timer that expires as a "time out" duration for the user. Interval = MenuConfig.menu.timerDuration, AutoReset = false, Enabled = true }; // If the menu timer runs out, activate a function. menuSession.MenuTimer.Elapsed += (sender, e) => MenuTimer_Elapsed(sender, e, menuSession); // Create an empty list for reactions. List <IEmote> reaction_list = new List <IEmote> { }; // Add needed emote reactions for the menu. reaction_list.Add(new Emoji("↩️")); reaction_list.Add(new Emoji("\u0031\ufe0f\u20e3")); reaction_list.Add(new Emoji("\u0032\ufe0f\u20e3")); // Add the reactions to the message. _ = ReactionHandling.AddReactionsToMenu(message, reaction_list); }
public static async Task Template_Layout_P4_PS2_Date_Weather_Confirm(SocketGuildUser user, RestUserMessage message) { // Get the account information of the command's user. var account = UserInfoClasses.GetAccount(user); // Find the menu session associated with the current user. var menuSession = Global.MenuIdList.SingleOrDefault(x => x.User.Id == user.Id); var embed = new EmbedBuilder(); var author = new EmbedAuthorBuilder { Name = "Settings Saved", IconUrl = user.GetAvatarUrl() }; embed.WithAuthor(author); var footer = new EmbedFooterBuilder { Text = "💠 P4 Template Settings | ❌ Close Menu" }; embed.WithFooter(footer); // Assign a color and thumbnail to the embeded message based on the title being edited. embed.WithColor(EmbedSettings.Get_Game_Color("P4-PS2", null)); embed.WithThumbnailUrl(EmbedSettings.Get_Game_Logo("P4-PS2")); embed.WithDescription("" + $"The date & weather HUD has been set to **`{account.P4_PS2_TS_HUD}`**.\n"); // Attempt editing the message if it hasn't been deleted by the user yet. // If it has, catch the exception, remove the menu entry from the global list, and return. try { // Remove all reactions from the current message. await message.RemoveAllReactionsAsync(); // Edit the current active message by replacing it with the recently created embed. await message.ModifyAsync(x => { x.Embed = embed.Build(); }); } catch (Exception ex) { Console.WriteLine(ex); // Remove the menu entry from the global list. Global.MenuIdList.Remove(menuSession); return; } // Edit the menu session according to the current message. menuSession.CurrentMenu = "Template_Layout_P4_PS2_Date_Weather_Confirm"; menuSession.MenuTimer = new Timer() { // Create a timer that expires as a "time out" duration for the user. Interval = MenuConfig.menu.timerDuration, AutoReset = false, Enabled = true }; // If the menu timer runs out, activate a function. menuSession.MenuTimer.Elapsed += (sender, e) => MenuTimer_Elapsed(sender, e, menuSession); // Create an empty list for reactions. List <IEmote> reaction_list = new List <IEmote> { }; // Add needed emote reactions for the menu. reaction_list.Add(new Emoji("💠")); reaction_list.Add(new Emoji("❌")); // Add the reactions to the message. _ = ReactionHandling.AddReactionsToMenu(message, reaction_list); }
public static async Task Resolution_Scaling_P4D_Output_Resolution(SocketGuildUser user, RestUserMessage message) { // Get the account information of the command's user. var account = UserInfoClasses.GetAccount(user); // Find the menu session associated with the current user. var menuSession = Global.MenuIdList.SingleOrDefault(x => x.User.Id == user.Id); var embed = new EmbedBuilder(); var author = new EmbedAuthorBuilder { Name = "Output Resolution", IconUrl = user.GetAvatarUrl() }; embed.WithAuthor(author); var footer = new EmbedFooterBuilder { Text = "↩️ P4D Resolution & Scaling Menu" }; embed.WithFooter(footer); // Assign a color and thumbnail to the embeded message based on the title being edited. embed.WithColor(EmbedSettings.Get_Game_Color("P4D", null)); embed.WithThumbnailUrl(EmbedSettings.Get_Game_Logo("P4D")); embed.WithDescription("" + "**Choose a resolution to output your scenes in.**\n" + "\n" + $"⚙️ **Current setting:** **`{account.P4D_Resolution}`**\n" + "\n" + "** **"); embed.AddField(":one: 960 × 544", "" + "Original PlayStation® Vita output resolution."); embed.AddField(":two: 1920 × 1088", "" + "Scaled HD resolution."); // Attempt editing the message if it hasn't been deleted by the user yet. // If it has, catch the exception, remove the menu entry from the global list, and return. try { // Remove all reactions from the current message. await message.RemoveAllReactionsAsync(); // Edit the current active message by replacing it with the recently created embed. await message.ModifyAsync(x => { x.Embed = embed.Build(); }); } catch (Exception ex) { Console.WriteLine(ex); // Remove the menu entry from the global list. Global.MenuIdList.Remove(menuSession); return; } // Edit the menu session according to the current message. menuSession.CurrentMenu = "Resolution_Scaling_P4D_Output_Resolution"; menuSession.MenuTimer = new Timer() { // Create a timer that expires as a "time out" duration for the user. Interval = MenuConfig.menu.timerDuration, AutoReset = false, Enabled = true }; // If the menu timer runs out, activate a function. menuSession.MenuTimer.Elapsed += (sender, e) => MenuTimer_Elapsed(sender, e, menuSession); // Create an empty list for reactions. List <IEmote> reaction_list = new List <IEmote> { }; // Add needed emote reactions for the menu. reaction_list.Add(new Emoji("↩️")); reaction_list.Add(new Emoji("\u0031\ufe0f\u20e3")); reaction_list.Add(new Emoji("\u0032\ufe0f\u20e3")); // Add the reactions to the message. _ = ReactionHandling.AddReactionsToMenu(message, reaction_list); }
public static async Task Template_Layout_BBTAG_Header(SocketGuildUser user, RestUserMessage message) { // Get the account information of the command's user. var account = UserInfoClasses.GetAccount(user); // Find the menu session associated with the current user. var menuSession = Global.MenuIdList.SingleOrDefault(x => x.User.Id == user.Id); var embed = new EmbedBuilder(); var author = new EmbedAuthorBuilder { Name = "Episode Header", IconUrl = user.GetAvatarUrl() }; embed.WithAuthor(author); var footer = new EmbedFooterBuilder { Text = "↩️ Return to BBTAG Template Settings" }; embed.WithFooter(footer); // Assign a color and thumbnail to the embeded message based on the title being edited. embed.WithColor(EmbedSettings.Get_Game_Color("BBTAG", account)); embed.WithThumbnailUrl(EmbedSettings.Get_Game_Logo("BBTAG")); embed.WithDescription("" + "**Choose an episode header to display. The chapters will change throughout the week.**\n" + "\n" + $"⚙️ **Current setting:** **`{account.BBTAG_TS_Header}`**\n" + "\n" + ":one: Prologue\n" + ":two: Episode BlazBlue\n" + ":three: Episode P4A\n" + ":four: Episode Under Night In-Birth\n" + ":five: Episode RWBY\n" + ":six: Episode Extra\n"); // Attempt editing the message if it hasn't been deleted by the user yet. // If it has, catch the exception, remove the menu entry from the global list, and return. try { // Remove all reactions from the current message. await message.RemoveAllReactionsAsync(); // Edit the current active message by replacing it with the recently created embed. await message.ModifyAsync(x => { x.Embed = embed.Build(); }); } catch (Exception ex) { Console.WriteLine(ex); // Remove the menu entry from the global list. Global.MenuIdList.Remove(menuSession); return; } // Edit the menu session according to the current message. menuSession.CurrentMenu = "Template_Layout_BBTAG_Header"; menuSession.MenuTimer = new Timer() { // Create a timer that expires as a "time out" duration for the user. Interval = MenuConfig.menu.timerDuration, AutoReset = false, Enabled = true }; // If the menu timer runs out, activate a function. menuSession.MenuTimer.Elapsed += (sender, e) => MenuTimer_Elapsed(sender, e, menuSession); // Create an empty list for reactions. List <IEmote> reaction_list = new List <IEmote> { }; // Add needed emote reactions for the menu. reaction_list.Add(new Emoji("↩️")); reaction_list.Add(new Emoji("\u0031\ufe0f\u20e3")); reaction_list.Add(new Emoji("\u0032\ufe0f\u20e3")); reaction_list.Add(new Emoji("\u0033\ufe0f\u20e3")); reaction_list.Add(new Emoji("\u0034\ufe0f\u20e3")); reaction_list.Add(new Emoji("\u0035\ufe0f\u20e3")); reaction_list.Add(new Emoji("\u0036\ufe0f\u20e3")); // Add the reactions to the message. _ = ReactionHandling.AddReactionsToMenu(message, reaction_list); }
public static async Task Template_Layout_P2IS_PS1_Wallpaper(SocketGuildUser user, RestUserMessage message) { // Get the account information of the command's user. var account = UserInfoClasses.GetAccount(user); // Find the menu session associated with the current user. var menuSession = Global.MenuIdList.SingleOrDefault(x => x.User.Id == user.Id); var embed = new EmbedBuilder(); var author = new EmbedAuthorBuilder { Name = "Wallpaper", IconUrl = user.GetAvatarUrl() }; embed.WithAuthor(author); var footer = new EmbedFooterBuilder { Text = "↩️ Return to P2IS Template Settings" }; embed.WithFooter(footer); // Assign a color and thumbnail to the embeded message based on the title being edited. embed.WithColor(EmbedSettings.Get_Game_Color("P2IS-PS1", null)); embed.WithThumbnailUrl(EmbedSettings.Get_Game_Logo("P2IS-PS1")); embed.WithDescription("" + "**Change the background of the message window. Pick the one that suits you.**\n" + "\n" + $"⚙️ **Current setting:** **`{account.P2IS_PSX_TS_Wallpaper}`**\n" + "\n" + ":one: Blue Tone\n" + ":two: Sepia Tone\n" + ":three: Purple Tone\n" + ":four: Seventh\n" + ":five: Baofu\n" + ":six: NWO\n" + ":seven: Dragon\n" + ":eight: Jack Frost\n" + ":nine: Grid\n" + ":keycap_ten: Star\n"); // Attempt editing the message if it hasn't been deleted by the user yet. // If it has, catch the exception, remove the menu entry from the global list, and return. try { // Remove all reactions from the current message. await message.RemoveAllReactionsAsync(); // Edit the current active message by replacing it with the recently created embed. await message.ModifyAsync(x => { x.Embed = embed.Build(); }); } catch (Exception ex) { Console.WriteLine(ex); // Remove the menu entry from the global list. Global.MenuIdList.Remove(menuSession); return; } // Edit the menu session according to the current message. menuSession.CurrentMenu = "Template_Layout_P2IS_PS1_Wallpaper"; menuSession.MenuTimer = new Timer() { // Create a timer that expires as a "time out" duration for the user. Interval = MenuConfig.menu.timerDuration, AutoReset = false, Enabled = true }; // If the menu timer runs out, activate a function. menuSession.MenuTimer.Elapsed += (sender, e) => MenuTimer_Elapsed(sender, e, menuSession); // Create an empty list for reactions. List <IEmote> reaction_list = new List <IEmote> { }; // Add needed emote reactions for the menu. reaction_list.Add(new Emoji("↩️")); reaction_list.Add(new Emoji("\u0031\ufe0f\u20e3")); reaction_list.Add(new Emoji("\u0032\ufe0f\u20e3")); reaction_list.Add(new Emoji("\u0033\ufe0f\u20e3")); reaction_list.Add(new Emoji("\u0034\ufe0f\u20e3")); reaction_list.Add(new Emoji("\u0035\ufe0f\u20e3")); reaction_list.Add(new Emoji("\u0036\ufe0f\u20e3")); reaction_list.Add(new Emoji("\u0037\ufe0f\u20e3")); reaction_list.Add(new Emoji("\u0038\ufe0f\u20e3")); reaction_list.Add(new Emoji("\u0039\ufe0f\u20e3")); reaction_list.Add(new Emoji("🔟")); // Add the reactions to the message. _ = ReactionHandling.AddReactionsToMenu(message, reaction_list); }
public static async Task Resolution_Scaling_P3P_Main(SocketGuildUser user, RestUserMessage message) { // Get the account information of the command's user. var account = UserInfoClasses.GetAccount(user); // Find the menu session associated with the current user. var menuSession = Global.MenuIdList.SingleOrDefault(x => x.User.Id == user.Id); var embed = new EmbedBuilder(); var author = new EmbedAuthorBuilder { Name = "Resolution & Scaling - Persona 3 Portable", IconUrl = user.GetAvatarUrl() }; embed.WithAuthor(author); var footer = new EmbedFooterBuilder { Text = "↩️ Return to Version Select Menu" }; embed.WithFooter(footer); // Assign a color and thumbnail based on the user's color setting for the P3P template. embed.WithColor(EmbedSettings.Get_Game_Color("P3P", account)); embed.WithThumbnailUrl(EmbedSettings.Get_Game_Logo("P3P")); embed.WithDescription("" + "**Select a setting to edit.**\n" + "\n" + ":one: Output Resolution\n" + ":two: Scaling Method\n"); // Attempt editing the message if it hasn't been deleted by the user yet. // If it has, catch the exception, remove the menu entry from the global list, and return. try { // Remove all reactions from the current message. await message.RemoveAllReactionsAsync(); // Edit the current active message by replacing it with the recently created embed. await message.ModifyAsync(x => { x.Embed = embed.Build(); }); } catch (Exception ex) { Console.WriteLine(ex); // Remove the menu entry from the global list. Global.MenuIdList.Remove(menuSession); return; } // Edit the menu session according to the current message. menuSession.CurrentMenu = "Resolution_Scaling_P3P_Main"; menuSession.MenuTimer = new Timer() { // Create a timer that expires as a "time out" duration for the user. Interval = MenuConfig.menu.timerDuration, AutoReset = false, Enabled = true }; // If the menu timer runs out, activate a function. menuSession.MenuTimer.Elapsed += (sender, e) => MenuTimer_Elapsed(sender, e, menuSession); // Create an empty list for reactions. List <IEmote> reaction_list = new List <IEmote> { }; // Add needed emote reactions for the menu. reaction_list.Add(new Emoji("↩️")); reaction_list.Add(new Emoji("\u0031\ufe0f\u20e3")); reaction_list.Add(new Emoji("\u0032\ufe0f\u20e3")); // Add the reactions to the message. _ = ReactionHandling.AddReactionsToMenu(message, reaction_list); }
public static async Task SetFirstThemeConfirm(SocketGuildUser user, RestUserMessage message) { // Get the account information of the command's target var account = UserInfoClasses.GetAccount(user); // Find the menu session associated with the current user. var menuSession = Global.MenuIdList.SingleOrDefault(x => x.User.Id == user.Id); // Create a new embed that will be displayed in the message. var embed = new EmbedBuilder(); var author = new EmbedAuthorBuilder { Name = "Settings Saved", IconUrl = user.GetAvatarUrl() }; embed.WithAuthor(author); string game_title = ""; embed.WithColor(EmbedSettings.Get_Profile_Embed_Color(account)); // Determine the color and thumbnail for the embeded message. if (account.Profile_Theme == "P3") { game_title = "Persona 3"; embed.WithThumbnailUrl("https://i.imgur.com/trtPflx.png"); } else if (account.Profile_Theme == "P4") { game_title = "Persona 4"; embed.WithThumbnailUrl(EmbedSettings.Get_Game_Logo("P4-PS2")); } else if (account.Profile_Theme == "P5") { game_title = "Persona 5"; embed.WithThumbnailUrl(EmbedSettings.Get_Game_Logo("P5-PS4")); } embed.WithDescription($"" + $"Your profile theme has been set to `{game_title}`.\n\n" + $"You can change your profile theme at any time from the **`{BotConfig.bot.cmdPrefix}settings`** menu by choosing [Profile Theme Settings]."); var footer = new EmbedFooterBuilder { Text = "❌ Close Menu" }; // Add the footer to the embed. embed.WithFooter(footer); // Attempt editing the message if it hasn't been deleted by the user yet. If it has, catch the exception, send an error message, and return. try { // Remove all reactions from the current message. await message.RemoveAllReactionsAsync(); // Edit the current active message by replacing it with the recently created embed. await message.ModifyAsync(x => { x.Embed = embed.Build(); }); } catch (Exception ex) { await ErrorHandling.MissingMessageError((SocketTextChannel)message.Channel); Console.WriteLine(ex); return; } // Edit the menu session according to the current message. menuSession.CurrentMenu = "Set_First_Theme_Confirm"; menuSession.MenuTimer = new Timer() { // Create a timer that expires as a "time out" duration for the user. Interval = MenuConfig.menu.timerDuration, AutoReset = false, Enabled = true }; // If the menu timer runs out, activate a function. menuSession.MenuTimer.Elapsed += (sender, e) => MenuTimer_Elapsed(sender, e, menuSession); // Create an empty list for reactions. List <IEmote> reaction_list = new List <IEmote> { }; // Add needed emote reactions for the menu. reaction_list.Add(new Emoji("❌")); // Add the reactions to the message. _ = ReactionHandling.AddReactionsToMenu(message, reaction_list); }
public static async Task Content_Filter_VC_P5_Main(SocketGuildUser user, RestUserMessage message) { // Get the account information of the command's user. var account = UserInfoClasses.GetAccount(user); // Find the menu session associated with the current user. var menuSession = Global.MenuIdList.SingleOrDefault(x => x.User.Id == user.Id); var embed = new EmbedBuilder(); var author = new EmbedAuthorBuilder { Name = "Version Select", IconUrl = user.GetAvatarUrl() }; embed.WithAuthor(author); var footer = new EmbedFooterBuilder { Text = "↩️ Return to Previous Menu | ✅ Confirm" }; embed.WithFooter(footer); // Assign a color and thumbnail to the embeded message based on the title being edited. embed.WithColor(EmbedSettings.Get_Game_Color("P5-PS4", null)); embed.WithThumbnailUrl(EmbedSettings.Get_Game_Logo("P5-PS4")); embed.WithDescription("" + "**Which version of Persona 5 would you like to filter out? Select all that apply, then react with ✅ to continue.**\n" + "\n" + ":one: Persona 5 (PlayStation®️ 3)\n" + ":two: Persona 5 Royal"); // Attempt editing the message if it hasn't been deleted by the user yet. // If it has, catch the exception, remove the menu entry from the global list, and return. try { // Remove all reactions from the current message. await message.RemoveAllReactionsAsync(); // Edit the current active message by replacing it with the recently created embed. await message.ModifyAsync(x => { x.Embed = embed.Build(); }); } catch (Exception ex) { Console.WriteLine(ex); // Remove the menu entry from the global list. Global.MenuIdList.Remove(menuSession); return; } // Edit the menu session according to the current message. menuSession.CurrentMenu = "Content_Filter_VC_P5_Main"; menuSession.MenuTimer = new Timer() { // Create a timer that expires as a "time out" duration for the user. Interval = MenuConfig.menu.timerDuration, AutoReset = false, Enabled = true }; // If the menu timer runs out, activate a function. menuSession.MenuTimer.Elapsed += (sender, e) => MenuTimer_Elapsed(sender, e, menuSession); // Create an empty list for reactions. List <IEmote> reaction_list = new List <IEmote> { }; // Add needed emote reactions for the menu. reaction_list.Add(new Emoji("↩️")); reaction_list.Add(new Emoji("\u0031\ufe0f\u20e3")); reaction_list.Add(new Emoji("\u0032\ufe0f\u20e3")); reaction_list.Add(new Emoji("✅")); // Add the reactions to the message. _ = ReactionHandling.AddReactionsToMenu(message, reaction_list); }