using Discord; using Discord.WebSocket; using System; using System.ComponentModel.DataAnnotations; using SharedClasses.SharedModels; namespace DiscordBot.Messages { public class SignUpMessage { public static MessageComponent buildMessage(List roles, int raidId, string buttonType, bool allRoles) { var signUpSelect = new SelectMenuBuilder() .WithPlaceholder("Select an option") .WithCustomId($"{Constants.ComponentIds.SIGN_UP_DROP_DOWN}-{raidId}-{buttonType}") .WithMinValues(1) .WithMaxValues(1); foreach(ApiRole role in roles) { if(allRoles || role.IsSignUpAllowed) signUpSelect.AddOption(role.Name, role.roleId.ToString(), role.Description); } var builder = new ComponentBuilder() .WithSelectMenu(signUpSelect, 0); return builder.Build(); } } }