Hello!
I’ve been thinking about hosting my own Lemmy instance, but wonder if there’s an easy way to federate with other communities/instances. I like to browse the “All” tab, but that tab would be empty on a self-hosted instance I imagine.
Is there a way to get all communities of certain instances in my All feed? Or do I have to search up each individual community manually once?
I’m working on a Rust API wrapper around the existing common API to make it easier to use. Implemented the calls that could let someone do this exact thing at scale last night.
It’s nowhere near ready for production and is still missing a lot of basic API functionality even for a simple bot, but I think it’ll be ready to publicly release in an alpha state within the next couple days.
That’s neat. Is the idea that the bot user would enumerate and then subscribe to the communities found through the Lemmy API?
Pretty much, that would force federation. Though I don’t think users in the other community would see your communities until someone from there searched one of yours.
An idea I have is giving small communities an option to run the bot on their instance, and it would add them to a list. Then, communities voluntarily participating in that list could auto-populate each other’s communities through the bot. I could see spammers abusing something like this to try and flood feeds with garbage content until they’re defederated though, especially on instances with open registration, so there is a downside. But that’s something the community of proper users will need to be prepared to fight down the road.
Yeah, that’s a slippery slope. I think that federating to receive content from an instance is fundamentally different than making your content show up on a instance that didn’t ask for it. I definitely see the value your implementation would bring to new/single-user instance to populate the feed. Good luck!
This sounds like a great idea
If you do happen to release an alpha publicly, please do be sure to post it somewhere here - I’d love to take a look at it!
I’ll keep you in mind when I do that. I’ve got some free time the next couple days to work on it, so I’m hoping to have something by then. So far the API calls I’ve implemented are
Search, ResolveObject, GetSite, GetFederatedInstances (Though it's basically GetSite), GetPosts, Login, ListCommunities, FollowCommunity
So, you know, pretty far from doing much practical work. But not bad at getting information about an instance. I want to at least have all the basic post/comment/community functionality in before I release anything. Also, I think I want to restructure what I have into a better format. Don’t quite like how I set it up.