← Back to Wiki
Admin
Importing from Discord
Moving a community off Discord usually means starting at nothing. No channels, no roles, no
history. The Import tool copies the structure across so you do not have to. It is owner only, in instance
settings, Import.
BE WARNED: run this once, and run it early. It sets a server up. It does not sync. Run it
again on a server that already has content and you get duplicate channels, duplicate roles and duplicate
emoji, not a merge. Do it before anything real accumulates.
Set up the Discord side first
- Create a bot application at discord.com/developers/applications. Copy its bot token.
- Invite that bot to the server you are leaving. Give it View Channels and Read Message History.
- Importing history as well? Turn on Message Content Intent in the bot's settings. Discord hands over no message text without it.
This is your own bot on the official API, rate limits handled. It is not a self-bot reading your user
token, which is the thing that actually gets accounts banned.
What comes across
- Channels, text and voice. Outpost has no categories, so a category folds into the
name. A
game-chat channel under Gaming arrives as
gaming-game-chat.
- Roles, with name, colour and position. Permissions are a best effort. Discord has
roughly forty flags and Outpost has a much shorter list, so the mapping is coarse on purpose. Read the
Roles tab afterwards and fix what matters.
- Custom emoji, re-hosted on your instance and usable as
:name: straight
away.
- Message history, off unless you ask for it. It is slow on a big server, because
Discord's own rate limits set the pace. Each original author comes through as their own webhook identity
with their name and avatar, not one shared Discord Import account.
What does not
- People. No API can drop someone into your instance. Everyone joins by invite, the
normal way.
- Mentions, threads, pins and reactions on the old messages. A
<@id>
mention arrives as plain text, because there is no Outpost account to point it at.
- Second and later attachments. A message here holds one.
Your bot token is held in memory for the length of the job. It is never written to the database and never
logged.