From 57cdec70bf71121641bd470193c9c137b93ea4ff Mon Sep 17 00:00:00 2001 From: Mihail Gribkov <61027276+Misha-133@users.noreply.github.com> Date: Fri, 9 May 2025 19:19:21 +0300 Subject: [PATCH] Fix `Id`s in `ActionRowComponent` and `SelectmenuComponent` (#3122) --- .../Interactions/MessageComponents/ActionRowComponent.cs | 3 ++- .../MessageComponents/Builders/ActionRowBuilder.cs | 2 +- src/Discord.Net.Rest/API/Common/SelectMenuComponent.cs | 1 + 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/Discord.Net.Core/Entities/Interactions/MessageComponents/ActionRowComponent.cs b/src/Discord.Net.Core/Entities/Interactions/MessageComponents/ActionRowComponent.cs index d04d897e..6cdb1ffd 100644 --- a/src/Discord.Net.Core/Entities/Interactions/MessageComponents/ActionRowComponent.cs +++ b/src/Discord.Net.Core/Entities/Interactions/MessageComponents/ActionRowComponent.cs @@ -26,9 +26,10 @@ public class ActionRowComponent : IMessageComponent internal ActionRowComponent() { } - internal ActionRowComponent(IReadOnlyCollection components) + internal ActionRowComponent(IReadOnlyCollection components, int? id) { Components = components; + Id = id; } /// diff --git a/src/Discord.Net.Core/Entities/Interactions/MessageComponents/Builders/ActionRowBuilder.cs b/src/Discord.Net.Core/Entities/Interactions/MessageComponents/Builders/ActionRowBuilder.cs index b1e630f7..ba5bc646 100644 --- a/src/Discord.Net.Core/Entities/Interactions/MessageComponents/Builders/ActionRowBuilder.cs +++ b/src/Discord.Net.Core/Entities/Interactions/MessageComponents/Builders/ActionRowBuilder.cs @@ -200,7 +200,7 @@ public class ActionRowBuilder : IMessageComponentBuilder, IInteractableComponent Preconditions.AtLeast(Components.Count, 1, nameof(Components), "There must be at least 1 component in a row."); Preconditions.AtMost(Components.Count, MaxChildCount, nameof(Components), $"Action row can only contain {MaxChildCount} child components!"); - return new ActionRowComponent(_components.Select(x => x.Build()).ToList()); + return new ActionRowComponent(_components.Select(x => x.Build()).ToList(), Id); } IMessageComponent IMessageComponentBuilder.Build() => Build(); diff --git a/src/Discord.Net.Rest/API/Common/SelectMenuComponent.cs b/src/Discord.Net.Rest/API/Common/SelectMenuComponent.cs index 65ae4b33..bfd6fb67 100644 --- a/src/Discord.Net.Rest/API/Common/SelectMenuComponent.cs +++ b/src/Discord.Net.Rest/API/Common/SelectMenuComponent.cs @@ -54,6 +54,7 @@ namespace Discord.API Disabled = component.IsDisabled; ChannelTypes = component.ChannelTypes.ToArray(); DefaultValues = component.DefaultValues.Select(x => new SelectMenuDefaultValue {Id = x.Id, Type = x.Type}).ToArray(); + Id = component.Id ?? Optional.Unspecified; } [JsonIgnore]