Federation Tokens
Your server token is used by other servers to authenticate with you. Share a token with a remote server admin so they can register your server.
Users
Federated Servers
All Users Across Servers
Channels
Bot Accounts
Scoped, non-human accounts. A bridge signs in as one of these with an ordinary password and is limited to the capabilities set here — it is not a federation peer and holds none of this server's privileges. A bridge needs one before it can be created at all.
Bridges
Each bridge links one bot account to one external network (e.g. Discord). Credentials and channel/DM links are configured after creation.
Discord setup guide
The Discord-facing half of this bridge has not been exercised against a live bot account — it was built and tested without a Discord token. The BeringShare side (login, relay, echo suppression, DM sync) is tested against a real server; the Discord side is not. Your first real connection is its first test.
1. Create the application
Go to https://discord.com/developers/applications
→ New Application.
2. Get the bot token
Bot → Reset Token, then copy it. This is the value for the Bot token field on the bridge card below. It is shown once — if you lose it, reset it again.
3. Enable MESSAGE CONTENT INTENT
Bot → Privileged Gateway Intents → enable MESSAGE CONTENT INTENT. Without it, the bridge receives every message with an empty body and relays nothing — while otherwise looking perfectly healthy. This is the single most likely first-run failure, and it is silent. Nothing will error; messages will simply not arrive.
4. Get the application ID
Copy the Application ID from General Information. This is the value for the Application ID field below. It is not a secret. The bridge uses it to recognise its own messages coming back off the gateway — a wrong value causes an echo loop.
5. Invite the bot
OAuth2 → URL Generator, and tick the
bot scope first — the
Bot Permissions panel does not appear on that page until you do,
so the permissions below look absent rather than hidden. Then tick these:
| Permission | Required? | Why |
|---|---|---|
| View Channels | yes | Receive events from the mapped channels at all |
| Send Messages | yes | Relay BeringShare → Discord |
| Embed Links | recommended | Attachment URLs render as previews rather than bare text |
| Read Message History | no | Not used today |
| Manage Messages | no | Not required — the bridge only ever edits and deletes its own messages |
Finding a Discord channel ID
Enable Developer Mode in Discord under User Settings → Advanced, then right-click a channel → Copy Channel ID. That is the value the channel link table below wants.
A grant is not membership
The bot account must be a member of the BeringShare channel it relays, not merely granted it — a grant never substitutes for membership. An empty channel grant list means "not restricted by list", not "no channels". Linking a channel the bot is not a member of is refused for exactly this reason. Add the memberships on the bot's card in Bot Accounts above: a new bot is auto-subscribed to every channel and is still on no channel's roster, which is the list a link is checked against.
⚠ Danger Zone
These actions are irreversible. Use them to reset the database for testing without restarting the server. Your admin credentials remain valid after any reset.