It looks like if you use exportdm, every DM channel is checked unconditionally. In the case of using --after, if I'm not mistaken, it would suffice to loop through the channels in Discord's default chronological order (apparently already implemented by the dm command) and stop once the exporter reaches a channel where the newest message doesn't satisfy the --after criterion. None of the subsequent channels can have newer messages.
I think exportdm --after is still the best way to periodically update an existing backup (although I guess I'll still need to write some glue code to combine the new downloads with the old files).
Version
v2.39.1
Flavor
CLI (Command-Line Interface)
Export format
No response
Details
It looks like if you use
exportdm
, every DM channel is checked unconditionally. In the case of using--after
, if I'm not mistaken, it would suffice to loop through the channels in Discord's default chronological order (apparently already implemented by thedm
command) and stop once the exporter reaches a channel where the newest message doesn't satisfy the--after
criterion. None of the subsequent channels can have newer messages.I think
exportdm --after
is still the best way to periodically update an existing backup (although I guess I'll still need to write some glue code to combine the new downloads with the old files).Steps to reproduce
$ dotnet DiscordChatExporter.Cli.dll exportdm -t '...' -o '...' -f Json --after '2023-04-01T00:00:00.000+00:00'