It would be useful to be able to automatically subscribe to all communities that another one of your accounts is subscribed to.
The use case would be, a user originally joined lemmy.world, but the instance is overloaded and the user wishes to migrate to another instance. They could create a new Lemmy account on another instance and press a button to automatically copy all of their subscriptions from their original account to this new account.
It would save the user a tremendous amount of time hunting down all of the communities they were originally subscribed to and honestly make migration nearly painless.
This is kind of a weird advanced request, but I see it having a lot of value with the way Lemmy is setup.
The are at least two tools available to do this manually if you’re adventurous:
Ah, this is useful. Thanks!
Still would be a great feature if Lemmy seeks to gain mainstream adoption.
https://github.com/rc9000/lemmy-community-copy
I am using this as of today to try and accomplish this.
For windows, you need to install node.js, yarn, lemmy-js-client, and GitHub for desktop to clone the repo from the URL (or you can use Git as suggested in the link above). Then put in the command lines and it should run it for you.
I keep getting json errors at the moment, but I think that is because of the recent instability all over lemmy.ml and Lemmy.world. Each time I run it, it errors at a different spot, so I think it’s just losing connection. Theoretically it should work and it looks like it is working as intended before it fails.
Here are some steps that I did to get this “working”. Note, if you don’t know what you are doing or even if you do, I am not responsible for you destroying your computer, lighting your house on fire, stealing your boyfriend or girlfriend, making you lose the lotto, or any other possible good, bad, or neutral outcome from you running code and programs on your device. You are doing these steps at your own risk just like I did. I did not write any of the code from these repos nor did I contribute to any of these programs. You should read and understand all code and programs before you run them on your computer (I didn’t, but you definitely should). I am not a programmer, I just Google shit and mash braincells together until shit works. YOU ARE DOING THIS AT YOUR OWN RISK.
- Step 1: install node.js (https://nodejs.org/en). Use the recommended and during install select the checkbox for additional dependencies.
- Step 2: open PowerShell and type
npm install --global yarn
(this installs yarn, idk wtf yarn is, but it lets you run the yarn command in step 3. Why are you even listening to me? This is the yarn webpage: https://classic.yarnpkg.com/lang/en/docs/install/#debian-stable) - Step 3: open PowerShell and type
yarn add lemmy-js-client
(this installs lemmy-js-client. Again you need this for reasons. Lemmy-js-client repo: https://github.com/LemmyNet/lemmy-js-client) - Step 4: Install GitHub desktop application
- Step 5: Go here (https://github.com/rc9000/lemmy-community-copy) click the green code button and copy the http link for the repo
- Step 6: using GitHub for desktop use the clone repo from URL option, and paste on the URL from step 5. This will create a folder in your documents/GitHub folder called Lemmy-community-copy
- Step 7: go to that folder, shift+control+right click on an empty space and select “open PowerShell here”
- Step 8: type
npm install
(this installs shit you need) - Step 9: type
./node_modules/.bin/ts-node main.ts --from-url 'https://lemmy.world' --from-username 'PUTUSERHERE' --from-password 'PUTPASSHERE' --to-url 'https://lemmy.ml' --to-username 'PUTUSERHERE' --to-password 'PUTPASSHERE'
Note: make sure you replace PUTUSERHERE and PUTPASSHERE with your username and password for you two accounts (Keep the single quotes). Also, change the from and to URL fields to correspond with your specific instance urls.
Also, check the lemmy-community-copy link above for a certain error code to look out for that will show if a community from one instance is not searchable on the other. They explain how to remedy that in the readme in the link.
I hope this helps. I am still getting errors on this due to what I believe to be overloaded servers, but theoretically it should work.