Describe your feature request
Bulk downloading repls
What problem(s) would this feature solve?
This would solve the problem of wanting to keep the code of repls that you need to delete
Explain what you were trying to do when you came across the problem leading to this feature request
I’ve heard a lot of community members request this, so I am posting this.
5 Likes
For currently enabled feature, you appearently need to request access to GraphQL queries in Repl, to be able to mass download Repl.
For that you would need a list of your Repls’ names. I just spent a little time researching GraphQL (an API that lets you get Replit info) but didn’t get much. However, here is a bookmarklet you can run if you have a list of Repls you want to download:
javascript:(function(){var b=prompt("Enter the list of Repl names separated by commas.").split(",").map(a=>a.trim()).map(a=>window.open("https://replit.com/@q1135854010/"+a+".zip"));})()
To run that, bookmark a page, press More…, paste the above…
Not true, we made a bookmarklet that does the job using bulk select feature a bit ago: Additions to selecting repls - #10 by boston2029
1 Like
That bookmarklet doesn’t work for me and never has.
2 Likes
Wrap it in a function, like so:
javascript:(function(){let popup = document.querySelector(".css-p60fys"); if (! popup){alert("Please select at least 1 repl(s) before using this tool.");} else{let btndiv = popup.children[1].children[0]; console.log(btndiv.children[0].innerHTML); btndiv.innerHTML = `<button onclick='let pickedRepls = []; document.querySelectorAll(".css-ow5df0").forEach(function(e, i){let selected = e.children[0].children[0].children[0].children[0].children[0].children[0].checked; console.log(selected); if (selected){pickedRepls.push(i)}}); console.log(pickedRepls); document.querySelectorAll(".css-1nj74pm")[1].click();setTimeout(function(){document.querySelectorAll(".css-ow5df0").forEach(function(e, i){if (pickedRepls.includes(i)){console.log(e); window.open(e.children[0].href + ".zip")}});},500)' class="replStar css-1nj74pm" type="button" aria-label="Star" style="--height: 24px; --width: 24px;"><img src="data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' height='16' viewBox='0 -960 960 960' width='16'%3e%3cpath fill='%23FFFFFF' d='M480-313 287-506l43-43 120 120v-371h60v371l120-120 43 43-193 193ZM220-160q-24 0-42-18t-18-42v-143h60v143h520v-143h60v143q0 24-18 42t-42 18H220Z'/%3e%3c/svg%3e"/></button>`}})()
It made it work for me. I forgot that it doesn’t work without the wrap.
1 Like