mirror of
https://github.com/Tyrrrz/DiscordChatExporter.git
synced 2025-05-30 06:25:22 -04:00
parent
e89f2735a0
commit
6531462220
1 changed files with 8 additions and 7 deletions
|
@ -41,10 +41,15 @@ namespace DiscordChatExporter.Core.Services
|
|||
: new AuthenticationHeaderValue(token.Value);
|
||||
|
||||
// Add parameters
|
||||
foreach (var parameter in parameters)
|
||||
foreach (var parameter in parameters.ExceptBlank())
|
||||
{
|
||||
var key = parameter.SubstringUntil("=");
|
||||
var value = parameter.SubstringAfter("=");
|
||||
|
||||
// Skip empty values
|
||||
if (value.IsBlank())
|
||||
continue;
|
||||
|
||||
request.RequestUri = request.RequestUri.SetQueryParameter(key, value);
|
||||
}
|
||||
|
||||
|
@ -123,13 +128,9 @@ namespace DiscordChatExporter.Core.Services
|
|||
{
|
||||
var result = new List<Message>();
|
||||
|
||||
// Get the snowflakes for the selected range
|
||||
var firstId = from != null ? from.Value.ToSnowflake() : "0";
|
||||
var lastId = to != null ? to.Value.ToSnowflake() : DateTime.MaxValue.ToSnowflake();
|
||||
|
||||
// Get the last message
|
||||
var response = await GetApiResponseAsync(token, "channels", $"{channelId}/messages",
|
||||
"limit=1", $"before={lastId}");
|
||||
"limit=1", $"before={to?.ToSnowflake()}");
|
||||
var lastMessage = response.Select(ParseMessage).FirstOrDefault();
|
||||
|
||||
// If the last message doesn't exist or it's outside of range - return
|
||||
|
@ -140,7 +141,7 @@ namespace DiscordChatExporter.Core.Services
|
|||
}
|
||||
|
||||
// Get other messages
|
||||
var offsetId = firstId;
|
||||
var offsetId = from?.ToSnowflake() ?? "0";
|
||||
while (true)
|
||||
{
|
||||
// Get message batch
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue