Discord Server Migration

(#924) Feature Under consideration community migration

Problem

So, one of the biggest hurdles I think a lot of people have is that we're so entrenched in Discord (likely by design) and would have a lot of trouble migrating from Discord with a big server to Fluxer. I know one server that I'm in personally is having that issue and has decided to wait and see what will happen with Discord in light of their age verification decision in large part due to the enormous task it would be to pull over all of the content on the server seamlessly.

Proposed solution

What I would like to see, if it's possible, is perhaps a way to migrate a server wholesale to Fluxer creating a carbon copy of the Discord server on Fluxer. Would that be possible to do? If not, would template migration be possible in the interim?

Notes (optional)

I wanted to add too as an aside that you are doing a bang up job with Fluxer, so please keep up the great work!

9 comments

Sign in with Fluxer to comment and vote.
Comment by @Misterodd
RexSystem 1 vote originally by @Misterodd on GitHub
This very much sounds like there would be an API interaction needed, as the data is on discord server. Things we should keep in mind:
  • ☐ What do we want to transfer, and what can we transfer? (just the structure or maybe in someway bots?)
  • ☐ What are the potentially monetary limits (costs of API usage)?
  • ☐ Required changes to the fluxer infrastructure. The API documentation is currently TBD.
  • ☐ Potential legal problems, possible API usage agreement that does not allow this usage.
With these points alone I see this as something that might be possible to come at a way later point, due to the many points to be done as per the https://blog.fluxer.app/roadmap-2026/ this might take some time. I would love it if we would be able to get a "one button solution". Like log in as an admin on discord and then everything gets analyzed. Sure we have the momentum now, but the maintainer seems to be focusing on quality rather than hype and that is the better way. For now the tool referenced by kenderbard can hopefully help.
Comment by @vincent5678
RexSystem 1 vote originally by @vincent5678 on GitHub 1 reply
To answer a couple of Misterodd's points:
  • For discord APIs there are no usage limits or costs that I know of but it's been half a year since I've done any bot development work and I've only ever built bots for private/limited use
  • This would most likely fall under data scraping, which is a prohibited use of discord's APIs.
https://support-dev.discord.com/hc/en-us/articles/8563934450327-Discord-Developer-Policy
  1. Do not mine or scrape any data, content, or information available on or through Discord services (as defined in our Terms of Service).
I think we need to be tactical with what exactly needs to be migrated, because "everything" is not possible. Even if we could scrape and then re-insert all messages, those messages would lack the proper metadata (author, timestamp, etc), so they would lose their usefulness (IMO). Everything else, like channels, roles, profiles, would it even take more than 30 minutes for one or a few people to migrate those? Even if you have hundreds of channels and roles, it shouldn't take that long to recreate that, right? Please correct me if I'm wrong there
Comment by @SeongGino
RexSystem 1 vote originally by @SeongGino on GitHub
Everything else, like channels, roles, profiles, would it even take more than 30 minutes for one or a few people to migrate those? Even if you have hundreds of channels and roles, it shouldn't take that long to recreate that, right? Please correct me if I'm wrong there
Not quite so when you're managing more than a few servers, some of which might even have a thousand users, and especially not so when the individual in question isn't already a Linux user. People do value "seamless" integration or migration - sure, it would be unreasonable to expect to be able to transfer everything, but rebuilding a server from scratch out of obligation is something literally no one wants to do unless they're forced to; even if that is 'only' 30 minutes...
Comment by @TaylorTurnerIT
RexSystem 1 vote originally by @TaylorTurnerIT on GitHub 1 reply
With Discord, one could use templates. They appear as links but its pretty easy to get the raw json object. If that template could be mapped to the API and structure in Fluxer then it would be a straightforward migration process.
Comment by @TaylorTurnerIT
RexSystem 1 vote originally by @TaylorTurnerIT on GitHub
The best part is that it wouldn't involve any TOS violation since its just saving a json object by hand (or copying the link and the migration app would just read the json that it returns)
Comment by @BoredDan
RexSystem 1 vote originally by @BoredDan on GitHub
So one thing to consider here is that an ideal migration tool would also need some way to link your existing discord profile in order to "take ownership" of any migrated messages. The way I see it is a server owner could join fluxer, link their discord, and then import any servers they own. These imported servers/messages need some way to mark the original discord server/user source. Later a user of that original server might join fluxer, link their discord, and be given the option to join any migrated servers. When joining a server that contains messages from a linked discord account, the user would be given the option to "take ownership" of those messages, basically migrate them to look like they were posted as that fluxer user. There could be some marking as to the original source (a via Discord) or something. This type of system could also be extended to other sources for import to varying degrees depending on featureset crossover. The real concern is of course the legality of all of this. Discord's ToS on this seems pretty uncomfortably grey about whether it would be allowed. At the very least though fluxer might be able to allow for ways to import messages and servers more generically and offer pathways to mark a message's "original source" and ways to "claim" those messages by fluxer users. I think though most of this might already be able to be accomplished by third party sources save for the linking of Discord accounts to Fluxer accounts. So some sort of Discord to Fluxer account linking might at the very least enable user's to find existing communities and friends when moving over. So like if you own a discord server you could link a fluxer server you own to it so new fluxer user's can find it, and also allow for friend list imports.
Comment by @AryaSahay193
RexSystem 1 vote originally by @AryaSahay193 on GitHub
That would be awesome to be honest, I also wish there was a way to migrate direct-message chat history and server channel history without starting from scratch, it hurts to lose all of that sometimes