fix NRE introduced in 3.17.3 (#3101)

This commit is contained in:
Mihail Gribkov
2025-04-27 00:14:36 +03:00
committed by GitHub
parent d27bb49b2d
commit ec0621a264
6 changed files with 61 additions and 21 deletions

View File

@@ -20,9 +20,13 @@ namespace Discord
{ {
get => _name; get => _name;
set set
{
if (value is not null)
{ {
Preconditions.AtLeast(value.Length, 1, nameof(Name)); Preconditions.AtLeast(value.Length, 1, nameof(Name));
Preconditions.AtMost(value.Length, 100, nameof(Name)); Preconditions.AtMost(value.Length, 100, nameof(Name));
}
_name = value; _name = value;
} }
} }
@@ -38,7 +42,7 @@ namespace Discord
get => _value; get => _value;
set set
{ {
if (value != null && value is not string && !value.IsNumericType()) if (value is not null && value is not string && !value.IsNumericType())
throw new ArgumentException($"The value of a choice must be a string or a numeric type! Value: \"{value}\""); throw new ArgumentException($"The value of a choice must be a string or a numeric type! Value: \"{value}\"");
_value = value; _value = value;
} }

View File

@@ -23,9 +23,13 @@ public class ButtonBuilder
{ {
get => _label; get => _label;
set set
{
if (value is not null)
{ {
Preconditions.AtLeast(value.Length, 1, nameof(Label)); Preconditions.AtLeast(value.Length, 1, nameof(Label));
Preconditions.AtMost(value.Length, MaxButtonLabelLength, nameof(Label)); Preconditions.AtMost(value.Length, MaxButtonLabelLength, nameof(Label));
}
_label = value; _label = value;
} }
} }
@@ -39,9 +43,13 @@ public class ButtonBuilder
{ {
get => _customId; get => _customId;
set set
{
if (value is not null)
{ {
Preconditions.AtLeast(value.Length, 1, nameof(CustomId)); Preconditions.AtLeast(value.Length, 1, nameof(CustomId));
Preconditions.AtMost(value.Length, ComponentBuilder.MaxCustomIdLength, nameof(CustomId)); Preconditions.AtMost(value.Length, ComponentBuilder.MaxCustomIdLength, nameof(CustomId));
}
_customId = value; _customId = value;
} }
} }

View File

@@ -34,9 +34,13 @@ public class SelectMenuBuilder
{ {
get => _customId; get => _customId;
set set
{
if (value is not null)
{ {
Preconditions.AtLeast(value.Length, 1, nameof(CustomId)); Preconditions.AtLeast(value.Length, 1, nameof(CustomId));
Preconditions.AtMost(value.Length, ComponentBuilder.MaxCustomIdLength, nameof(CustomId)); Preconditions.AtMost(value.Length, ComponentBuilder.MaxCustomIdLength, nameof(CustomId));
}
_customId = value; _customId = value;
} }
} }
@@ -62,9 +66,13 @@ public class SelectMenuBuilder
{ {
get => _placeholder; get => _placeholder;
set set
{
if (value is not null)
{ {
Preconditions.AtLeast(value.Length, 1, nameof(Placeholder)); Preconditions.AtLeast(value.Length, 1, nameof(Placeholder));
Preconditions.AtMost(value.Length, MaxPlaceholderLength, nameof(Placeholder)); Preconditions.AtMost(value.Length, MaxPlaceholderLength, nameof(Placeholder));
}
_placeholder = value; _placeholder = value;
} }
} }

View File

@@ -31,9 +31,13 @@ public class SelectMenuOptionBuilder
{ {
get => _label; get => _label;
set set
{
if (value is not null)
{ {
Preconditions.AtLeast(value.Length, 1, nameof(Label)); Preconditions.AtLeast(value.Length, 1, nameof(Label));
Preconditions.AtMost(value.Length, MaxSelectLabelLength, nameof(Label)); Preconditions.AtMost(value.Length, MaxSelectLabelLength, nameof(Label));
}
_label = value; _label = value;
} }
} }
@@ -47,9 +51,13 @@ public class SelectMenuOptionBuilder
{ {
get => _value; get => _value;
set set
{
if (value is not null)
{ {
Preconditions.AtLeast(value.Length, 1, nameof(Value)); Preconditions.AtLeast(value.Length, 1, nameof(Value));
Preconditions.AtMost(value.Length, MaxSelectValueLength, nameof(Value)); Preconditions.AtMost(value.Length, MaxSelectValueLength, nameof(Value));
}
_value = value; _value = value;
} }
} }
@@ -63,9 +71,13 @@ public class SelectMenuOptionBuilder
{ {
get => _description; get => _description;
set set
{
if (value is not null)
{ {
Preconditions.AtLeast(value.Length, 1, nameof(Description)); Preconditions.AtLeast(value.Length, 1, nameof(Description));
Preconditions.AtMost(value.Length, MaxDescriptionLength, nameof(Description)); Preconditions.AtMost(value.Length, MaxDescriptionLength, nameof(Description));
}
_description = value; _description = value;
} }
} }

View File

@@ -23,9 +23,13 @@ public class TextInputBuilder
{ {
get => _customId; get => _customId;
set set
{
if (value is not null)
{ {
Preconditions.AtLeast(value.Length, 1, nameof(CustomId)); Preconditions.AtLeast(value.Length, 1, nameof(CustomId));
Preconditions.AtMost(value.Length, ComponentBuilder.MaxCustomIdLength, nameof(CustomId)); Preconditions.AtMost(value.Length, ComponentBuilder.MaxCustomIdLength, nameof(CustomId));
}
_customId = value; _customId = value;
} }
} }

View File

@@ -39,9 +39,13 @@ namespace Discord
{ {
get => _customId; get => _customId;
set set
{
if (value is not null)
{ {
Preconditions.AtLeast(value.Length, 1, nameof(CustomId)); Preconditions.AtLeast(value.Length, 1, nameof(CustomId));
Preconditions.AtMost(value.Length, ComponentBuilder.MaxCustomIdLength, nameof(CustomId)); Preconditions.AtMost(value.Length, ComponentBuilder.MaxCustomIdLength, nameof(CustomId));
}
_customId = value; _customId = value;
} }
} }