cedws / discord-delete

Tool to delete Discord message history
GNU General Public License v3.0
125 stars 18 forks source link

The term "partial" is confusing #37

Closed tzx closed 3 years ago

tzx commented 3 years ago

I am quite confused by the meaning of "partial" when running this command.

Does it only delete a subset of all your messages so it's "partial"? If it is, I can't find any documentation about it other than skipping channels but that seems unrelated. Otherwise, shouldn't it have a different name?

fosspill commented 3 years ago

Partial seems to be what is used to define maxage, minage and skipped channels!

fosspill commented 3 years ago

This should definitely be made clearer in the ./command --help text, but here it is:

Usage:
  discord-delete partial [flags]

Flags:
  -d, --dry-run             perform dry run without deleting anything
  -h, --help                help for partial
  -a, --max-age-days uint   maximum age in days of messages to delete
  -i, --min-age-days uint   minimum age in days of messages to delete
  -s, --skip strings        skip message deletion for specified channels/guilds

Global Flags:
  -v, --verbose   enable verbose logging
tzx commented 3 years ago

Ok that makes sense but if you run without the parameters, it's not really partial.

fosspill commented 3 years ago

Indeed. partial should most likely require at least one flag set to do anything, and if no flags are set it should print the help text. That's my thoughts at least.

cedws commented 3 years ago

It's from a few years ago when this repo hosted a script that had full and partial modes. The full deletion mode would run through a data request ZIP and attempt to delete messages from servers and channels you aren't a member of anymore.

That mode either never worked or stopped working at some point and so I didn't implement it when rewriting this into a proper command-line tool. However, I still think a full deletion mode as described would still be useful because it would reduce the number of requests necessary and be kinder to Discord's servers. I have no plans to implement this for now.

The other reason it's called partial is to force the user to acknowledge that the tool cannot possibly delete everything, because Discord doesn't allow messages to be deleted in servers or channels you're no longer a member of.

fosspill commented 3 years ago

Ah that makes sense then, and I agree fully with all your statements.

Would it maybe be possible to warn the user upon running discord-delete partial that proceeding will make it try to delete as many messages as it can? And prompt them to run discord-delete partial --help?

Or maybe just updating the partial documentation on the wiki with which flags are available would be enough

cedws commented 3 years ago

Hmm, not sure what we should do about this. The tool is geared towards power users so I've never paid much attention to explaining exactly what it does or how it does it, maybe that should change. And of course, many people who aren't so technical use the tool as well.

A section in the README that just explains what it does and the limitations might be enough.

fosspill commented 3 years ago

I updated the wiki with some more information. It's a pretty quick draft, but at least the information is easier to find now: https://github.com/adversarialtools/discord-delete/wiki/Running-a-partial-deletion

cedws commented 3 years ago

Looks great, thanks for writing it. I will close since there are no more actions to be taken for now.