31 lines
No EOL
992 B
C#
31 lines
No EOL
992 B
C#
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<ApiRole> 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();
|
|
}
|
|
}
|
|
} |