Appropriately updated DiscordClient responses.

This commit is contained in:
Filip Strajnar 2024-06-16 10:17:28 +02:00
parent 28b67a0263
commit 6fc8a1bea8

View file

@ -76,21 +76,23 @@ int finalCode = await CommandLine
while (true) while (true)
{ {
// Scanning direct messages. // Scanning direct messages.
ChannelMessagesResponse[]? messages = await client.GetChannelMessages( var response = await client.GetChannelMessages(
opt.ChannelId, opt.ChannelId,
offset, offset,
opt.Author opt.Author
); );
if (messages is null) if (response.JsonData is null)
return 2; return 2;
IEnumerable<Message> newMessages = messages.Select(message => new Message IEnumerable<Message> newMessages = response.JsonData.Select(
{ message => new Message
ChannelId = message.ChannelId, {
MessageId = message.Id, ChannelId = message.ChannelId,
Content = message.Content MessageId = message.Id,
}); Content = message.Content
}
);
foreach (var newMessage in newMessages) foreach (var newMessage in newMessages)
{ {
@ -99,7 +101,7 @@ int finalCode = await CommandLine
} }
await db.SaveChangesAsync(); await db.SaveChangesAsync();
Console.WriteLine($"Written {messages.Length} messages."); Console.WriteLine($"Written {response.JsonData.Length} messages.");
offset += 50; offset += 50;
await Task.Delay(TimeSpan.FromSeconds(2)); await Task.Delay(TimeSpan.FromSeconds(2));
@ -111,24 +113,25 @@ int finalCode = await CommandLine
while (offset < totalMessages) while (offset < totalMessages)
{ {
// Scanning guild messages. // Scanning guild messages.
GuildMessageSearchResponse? response = await client.SearchGuildMessages( var response = await client.SearchGuildMessages(
opt.GuildId, opt.GuildId,
offset, offset,
opt.Author opt.Author
); );
if (response is null || response.Messages is null) if (response.JsonData is null || response.JsonData.Messages is null)
return 3; return 3;
totalMessages = response.TotalMessages; totalMessages = response.JsonData.TotalMessages;
IEnumerable<Message> newMessages = response.Messages.SelectMany(message => IEnumerable<Message> newMessages = response.JsonData.Messages.SelectMany(
message.Select(messagePart => new Message message =>
{ message.Select(messagePart => new Message
ChannelId = messagePart.ChannelId, {
MessageId = messagePart.Id, ChannelId = messagePart.ChannelId,
Content = messagePart.Content MessageId = messagePart.Id,
}) Content = messagePart.Content
})
); );
foreach (var newMessage in newMessages) foreach (var newMessage in newMessages)
@ -138,8 +141,8 @@ int finalCode = await CommandLine
} }
await db.SaveChangesAsync(); await db.SaveChangesAsync();
Console.WriteLine($"Written {response.Messages.Length} messages."); Console.WriteLine($"Written {response.JsonData.Messages.Length} messages.");
offset += response.Messages.Count(); offset += response.JsonData.Messages.Length;
await Task.Delay(TimeSpan.FromSeconds(2)); await Task.Delay(TimeSpan.FromSeconds(2));
} }