diff --git a/src/Discord.Net.Core/Entities/Guilds/MemberSearchPropertiesV2.cs b/src/Discord.Net.Core/Entities/Guilds/MemberSearchPropertiesV2.cs
index c42578e9..b903117c 100644
--- a/src/Discord.Net.Core/Entities/Guilds/MemberSearchPropertiesV2.cs
+++ b/src/Discord.Net.Core/Entities/Guilds/MemberSearchPropertiesV2.cs
@@ -13,12 +13,12 @@ public class MemberSearchPropertiesV2
///
/// Gets or sets the after property for the search.
///
- public MemberSearchPaginationFilter After { get; set; }
+ public MemberSearchPaginationFilter? After { get; set; }
///
/// Gets or sets the before property for the search.
///
- public MemberSearchPaginationFilter Before { get; set; }
+ public MemberSearchPaginationFilter? Before { get; set; }
///
/// Gets or sets the sort type for the search.
@@ -230,10 +230,10 @@ public struct MemberSearchIntQuery : IMemberSearchQuery
public IEnumerable OrQuery { get; set; }
///
- IEnumerable IMemberSearchQuery.AndQuery => AndQuery.Select(x => (object)x);
+ IEnumerable IMemberSearchQuery.AndQuery => AndQuery?.Select(x => (object)x);
///
- IEnumerable IMemberSearchQuery.OrQuery => OrQuery.Select(x => (object)x);
+ IEnumerable IMemberSearchQuery.OrQuery => OrQuery?.Select(x => (object)x);
}
@@ -249,8 +249,8 @@ public struct MemberSearchSnowflakeQuery : IMemberSearchQuery
public IEnumerable OrQuery { get; set; }
///
- IEnumerable IMemberSearchQuery.AndQuery => AndQuery.Select(x => (object)x);
+ IEnumerable IMemberSearchQuery.AndQuery => AndQuery?.Select(x => (object)x);
///
- IEnumerable IMemberSearchQuery.OrQuery => OrQuery.Select(x => (object)x);
+ IEnumerable IMemberSearchQuery.OrQuery => OrQuery?.Select(x => (object)x);
}
diff --git a/src/Discord.Net.Rest/Entities/Guilds/GuildHelper.cs b/src/Discord.Net.Rest/Entities/Guilds/GuildHelper.cs
index 23da3e51..cd760a6f 100644
--- a/src/Discord.Net.Rest/Entities/Guilds/GuildHelper.cs
+++ b/src/Discord.Net.Rest/Entities/Guilds/GuildHelper.cs
@@ -777,13 +777,8 @@ namespace Discord.Rest
var apiArgs = new SearchGuildMembersParamsV2
{
Limit = limit,
- After = args is null
- ? null
- : new API.Rest.MemberSearchPaginationFilter
- {
- UserId = args.After.UserId,
- GuildJoinedAt = args.After.GuildJoinedAt
- },
+ After = args?.After?.ToModel() ?? Optional.Unspecified,
+ Before = args?.Before?.ToModel() ?? Optional.Unspecified,
Sort = args?.Sort ?? Optional.Unspecified,
OrQuery = args?.OrQuery?.ToModel() ?? Optional.Unspecified,
AndQuery = args?.AndQuery?.ToModel() ?? Optional.Unspecified
diff --git a/src/Discord.Net.Rest/Extensions/MemberSearchExtensions.cs b/src/Discord.Net.Rest/Extensions/MemberSearchExtensions.cs
index e50eee99..a02cbd1c 100644
--- a/src/Discord.Net.Rest/Extensions/MemberSearchExtensions.cs
+++ b/src/Discord.Net.Rest/Extensions/MemberSearchExtensions.cs
@@ -7,13 +7,7 @@ internal static class MemberSearchExtensions
internal static API.Rest.SearchQueryProperties ToModel(this IMemberSearchQuery props)
=> new ()
{
- Range = props.Range.HasValue
- ? new API.Rest.SearchRangeProperties
- {
- GreaterThanOrEqual = props.Range.Value.GreaterThanOrEqual.HasValue ? props.Range.Value.GreaterThanOrEqual.Value : Optional.Unspecified,
- LessThanOrEqual = props.Range.Value.LessThanOrEqual.HasValue ? props.Range.Value.LessThanOrEqual.Value : Optional.Unspecified
- }
- : Optional.Unspecified,
+ Range = props.Range?.ToModel() ?? Optional.Unspecified,
AndQuery = props.AndQuery is not null ? new Optional>(props.AndQuery) : Optional>.Unspecified,
OrQuery = props.OrQuery is not null ? new Optional>(props.OrQuery) : Optional>.Unspecified
};
@@ -40,4 +34,18 @@ internal static class MemberSearchExtensions
UserId = props.UserId?.ToModel() ?? Optional.Unspecified,
Usernames = props.Usernames?.ToModel() ?? Optional.Unspecified
};
+
+ internal static API.Rest.SearchRangeProperties ToModel(this MemberSearchV2Range props)
+ => new()
+ {
+ GreaterThanOrEqual = props.GreaterThanOrEqual ?? Optional.Unspecified,
+ LessThanOrEqual = props.LessThanOrEqual ?? Optional.Unspecified
+ };
+
+ internal static API.Rest.MemberSearchPaginationFilter ToModel(this MemberSearchPaginationFilter props)
+ => new()
+ {
+ UserId = props.UserId,
+ GuildJoinedAt = props.GuildJoinedAt,
+ };
}