86 lines
2.0 KiB
C#
86 lines
2.0 KiB
C#
|
using System.Collections.Generic;
|
|||
|
|
|||
|
using Myriad.Types;
|
|||
|
|
|||
|
namespace Myriad.Builders
|
|||
|
{
|
|||
|
public class EmbedBuilder
|
|||
|
{
|
|||
|
private Embed _embed = new();
|
|||
|
private readonly List<Embed.Field> _fields = new();
|
|||
|
|
|||
|
public EmbedBuilder Title(string? title)
|
|||
|
{
|
|||
|
_embed = _embed with {Title = title};
|
|||
|
return this;
|
|||
|
}
|
|||
|
|
|||
|
public EmbedBuilder Description(string? description)
|
|||
|
{
|
|||
|
_embed = _embed with { Description = description};
|
|||
|
return this;
|
|||
|
}
|
|||
|
|
|||
|
public EmbedBuilder Url(string? url)
|
|||
|
{
|
|||
|
_embed = _embed with {Url = url};
|
|||
|
return this;
|
|||
|
}
|
|||
|
|
|||
|
public EmbedBuilder Color(uint? color)
|
|||
|
{
|
|||
|
_embed = _embed with {Color = color};
|
|||
|
return this;
|
|||
|
}
|
|||
|
|
|||
|
public EmbedBuilder Footer(Embed.EmbedFooter? footer)
|
|||
|
{
|
|||
|
_embed = _embed with {
|
|||
|
Footer = footer
|
|||
|
};
|
|||
|
return this;
|
|||
|
}
|
|||
|
|
|||
|
public EmbedBuilder Image(Embed.EmbedImage? image)
|
|||
|
{
|
|||
|
_embed = _embed with {
|
|||
|
Image = image
|
|||
|
};
|
|||
|
return this;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
public EmbedBuilder Thumbnail(Embed.EmbedThumbnail? thumbnail)
|
|||
|
{
|
|||
|
_embed = _embed with {
|
|||
|
Thumbnail = thumbnail
|
|||
|
};
|
|||
|
return this;
|
|||
|
}
|
|||
|
|
|||
|
public EmbedBuilder Author(Embed.EmbedAuthor? author)
|
|||
|
{
|
|||
|
_embed = _embed with {
|
|||
|
Author = author
|
|||
|
};
|
|||
|
return this;
|
|||
|
}
|
|||
|
|
|||
|
public EmbedBuilder Timestamp(string? timestamp)
|
|||
|
{
|
|||
|
_embed = _embed with {
|
|||
|
Timestamp = timestamp
|
|||
|
};
|
|||
|
return this;
|
|||
|
}
|
|||
|
|
|||
|
public EmbedBuilder Field(Embed.Field field)
|
|||
|
{
|
|||
|
_fields.Add(field);
|
|||
|
return this;
|
|||
|
}
|
|||
|
|
|||
|
public Embed Build() =>
|
|||
|
_embed with { Fields = _fields.ToArray() };
|
|||
|
}
|
|||
|
}
|