-
-
Notifications
You must be signed in to change notification settings - Fork 74
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Export only users participating or part of exported channels or conversations #287
Comments
Hey @cdeszaq, if you can be bothered, try building the v3 from the master branch, it has some major improvements. There's no documentation (you can try reading the man page - in the root of the project type The v3 branch was merged into master, so ignore the comment saying "checkout the v3 branch". |
Ahh, I see! I'll happily play w/ v3 and report back. I'm currently doing so with a checkout of
(the cache directory doesn't see to be getting used, but that's not so much "functionality" related, so I don't mind) But, after downloading the channel messages and files it seems to be trying to also download all the users. I've not dug into the man pages yet, and haven't dug closely through the linked issue, but I'll try those things next. Otherwise, any pointers to what I'm missing or doing wrong in my incantation above would help as well I'm sure. |
From the head of Command:
That said, I do like the default output directory name (simply stamping the directory name with the execution date/time saves me a step I inevitably would do!) |
That's great! Just checked, yes, unfortunately you can't skip downloading all the users, this is something that I'll look into, I can't promise that I'll be able to do it in the nearest future due to life circumstances, but it will be on my list when I get back to it. I hope the v3 is better suited to what you're trying to do and you find it more pleasant to use than v2, but it would be great if you could report any issues. Regarding the rate limit - there were instances where slack would profoundly restrict user endpoint, you can see the exact endpoint that was limited, if you enable tracing |
Retry recovery seems to work, as it is cranking through the users regardless of being rate-limited. The newer version indeed seems much nicer. I've yet to try the Any pointers on where/how to start hacking on a flag to "queue users to download when encountered" (and only download those users) would be useful. I may take a whack at hacking it in myself! :-) |
I will have to do a bit of diving here to explain. V3 has a concept of "chunks" - it is a centralised format that represents the "chunk" of api output, so each endpoint call maps to one "chunk type", i.e. WorkspaceInfo, User, ChannelInfo, Messages, ThreadMessages etc. Chunk structure, if you look at it, is universal, and contains all possible payload types that could be grabbed from the API endpoints. Depending on the API call, the respective chunk type is set, and the relevant payload member variables are populated, and then the structure is Marshalled into the Writer. One could call it a "native slackdump format", because internally, in v3, everything goes through the chunk format. "archive" creates a "recording" of the API output, that can even be "replayed" later to mock the actual SlackAPI output. It can be converted to "export" format later, if required with "export" actually is generating chunk files in temporary directory, and then converts it to "export" format "on the fly" to the destination directory. The same happens when you run "dump".
|
To give a sense of the amount of time my Slack's user-data download takes (and the motivation for this overall feature request): that user portion of the archive (of 2 small channels) took more than 10 hours to retrieve more than 4 GB of data (uncompressed). The channel contents themselves (with a few files) took 9 seconds. |
Jesus fucking christ 😂 Sounds like this feature would really be useful! |
The member-only feature would be great, but I haven't had success with it working:
|
Thank you for the report. it seems that there's no channel data, which is odd. |
Listing the channels does return a channel list without -memberonly too :/ I can do some debugging tomorrow if it helps. |
I can't reproduce this, have you had a chance to debug this, @russbrenner ? Good news is I moved the flag to global configuration, so now it can be specified for "archive" as well. If you're observing this issue, you can run "archive" instead of export, thus, the channel data will be exported and retained, and you won't have to redownload again. |
Is your feature request related to a problem? Please describe.
My Slack has many more users than I care about, since I only care about a subset of conversations. Exporting all of them is a large waste of time and resources.
Describe the solution you'd like
I would like an option to build up the user information / cache as the desired channels and conversations are exported or dumped, rather than either not cache the information or not export the user information.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
None
The text was updated successfully, but these errors were encountered: