diff --git a/src/Discord.Net/API/Endpoints.cs b/src/Discord.Net/API/Endpoints.cs index f283d9bae..7e77db7c6 100644 --- a/src/Discord.Net/API/Endpoints.cs +++ b/src/Discord.Net/API/Endpoints.cs @@ -16,6 +16,7 @@ public static string ChannelTyping(string channelId) => $"channels/{channelId}/typing"; public static string ChannelMessages(string channelId) => $"channels/{channelId}/messages"; public static string ChannelMessages(string channelId, int limit) => $"channels/{channelId}/messages?limit={limit}"; + public static string ChannelMessages(string channelId, int limit, string beforeId) => $"channels/{channelId}/messages?limit={limit}&before={beforeId}"; public static string ChannelMessage(string channelId, string msgId) => $"channels/{channelId}/messages/{msgId}"; public static string ChannelMessageAck(string channelId, string msgId) => $"channels/{channelId}/messages/{msgId}/ack"; public static string ChannelInvites(string channelId) => $"channels/{channelId}/invites"; diff --git a/src/Discord.Net/DiscordAPIClient.cs b/src/Discord.Net/DiscordAPIClient.cs index c252667a5..b81792ebb 100644 --- a/src/Discord.Net/DiscordAPIClient.cs +++ b/src/Discord.Net/DiscordAPIClient.cs @@ -92,11 +92,14 @@ namespace Discord var request = new ReorderChannelsRequest(channels); return _rest.Patch(Endpoints.ServerChannels(serverId), request); } - public Task GetMessages(string channelId, int count) + public Task GetMessages(string channelId, int count, string beforeMessageId = null) { if (channelId == null) throw new ArgumentNullException(nameof(channelId)); - return _rest.Get(Endpoints.ChannelMessages(channelId, count)); + if (beforeMessageId != null) + return _rest.Get(Endpoints.ChannelMessages(channelId, count, beforeMessageId)); + else + return _rest.Get(Endpoints.ChannelMessages(channelId, count)); } //Incidents diff --git a/src/Discord.Net/DiscordClient.Messages.cs b/src/Discord.Net/DiscordClient.Messages.cs index 6768e07e2..ebf9e748a 100644 --- a/src/Discord.Net/DiscordClient.Messages.cs +++ b/src/Discord.Net/DiscordClient.Messages.cs @@ -210,7 +210,7 @@ namespace Discord { try { - var msgs = await _api.GetMessages(channel.Id, count).ConfigureAwait(false); + var msgs = await _api.GetMessages(channel.Id, count, beforeMessageId).ConfigureAwait(false); return msgs.Select(x => { Message msg = null;