Files
Discord.Net/src/Discord.Net.Rest/API/Common/MediaGalleryComponent.cs
Mihail Gribkov ba78e0c1f0 [Feature] Components V2 (#3065)
* oh well. at least it runs

* well that's some breakings

* all the models (i think)

* barebones builder impl

* commit

* initial take on `WithX` component builder design

* actually usable stuff now

* few more changes

* fixes, changes, syntax sugar

* rework message flags + auto add `ComponentsV2`

* apparently it's also nullable

* fix build

* webhook component supports + builder validations + some xmldoc

* `ResolvedUnfurledMediaItem` + fix missing accessory on sections

* missing xmldoc

* fix modal + whatever change

* yeet unused dep
2025-04-26 23:40:03 +03:00

34 lines
844 B
C#

using Discord.Rest;
using Newtonsoft.Json;
using System.Linq;
namespace Discord.API;
internal class MediaGalleryComponent : IMessageComponent
{
[JsonProperty("type")]
public ComponentType Type { get; set; }
[JsonProperty("id")]
public Optional<int> Id { get; set; }
[JsonProperty("items")]
public MediaGalleryItem[] Items { get; set; }
public MediaGalleryComponent() { }
public MediaGalleryComponent(Discord.MediaGalleryComponent component)
{
Type = component.Type;
Id = component.Id ?? Optional<int>.Unspecified;
Items = component.Items.Select(x => new MediaGalleryItem
{
Description = x.Description,
IsSpoiler = x.IsSpoiler,
Media = x.Media.ToModel()
}).ToArray();
}
int? IMessageComponent.Id => Id.ToNullable();
}