From 54e0cc09489dfaa4dc4f5cb7329cd75cf2c51f78 Mon Sep 17 00:00:00 2001 From: RogueException Date: Wed, 13 Jul 2016 11:35:11 -0300 Subject: [PATCH] Fixed GetChannelMessagesAsync nullref error --- src/Discord.Net/API/DiscordAPIClient.cs | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/Discord.Net/API/DiscordAPIClient.cs b/src/Discord.Net/API/DiscordAPIClient.cs index 83ad8e244..df3e7403c 100644 --- a/src/Discord.Net/API/DiscordAPIClient.cs +++ b/src/Discord.Net/API/DiscordAPIClient.cs @@ -926,7 +926,8 @@ namespace Discord.API default: result[i] = models; relativeId = ulong.MaxValue; - for (int j = 0; j < models.Length; j++) + //Lowest id *should* be the last one + for (int j = models.Length - 1; j >= 0; j--) { if (models[j].Id < relativeId.Value) relativeId = models[j].Id; @@ -935,6 +936,7 @@ namespace Discord.API case Direction.After: result[runs - i - 1] = models; relativeId = ulong.MinValue; + //Highest id *should* be the first one for (int j = 0; j < models.Length; j++) { if (models[j].Id > relativeId.Value) @@ -960,7 +962,17 @@ namespace Discord.API } } else if (i == 1) - return result[0]; + { + switch (args.RelativeDirection) + { + case Direction.Before: + case Direction.Around: + default: + return result[0]; + case Direction.After: + return result[runs - 1]; + } + } else return ImmutableArray.Create(); }