Chat bridges (Telegram and Discord)

A bridge links a Missived text channel with a Telegram group or channel, or a Discord channel, through your org's own bot there, and copies messages between them.

Before you start

Everything below is in Org Settings → Integrations → Bridges. On a phone the section shows each bridge's status; connecting bots and linking channels is done on a computer.

Telegram

Make the bot

  1. In Telegram, open a chat with @BotFather (the official one, with the blue tick).
  2. Send /newbot, then pick a display name and a username ending in bot.
  3. BotFather replies with a token that looks like 123456789:AAF…. Keep it secret: anyone with it controls the bot.
  4. Let it see the whole conversation. Bots start in privacy mode, where in groups they only see commands and replies to them. Send /setprivacy to BotFather, pick your bot and choose Disable, then remove the bot from each group and add it again (Telegram applies the change when the bot joins). Making the bot an admin of the group works too. In a Telegram channel the bot must be an admin anyway.

Connect it

  1. Choose Connect a Telegram bot and paste the token.
  2. Pick How Telegram reaches this server: the webhook (Telegram sends each message to the server the moment it's posted) or Polling (the server asks Telegram for new messages). The webhook is offered only when the server is reachable by Telegram over https; otherwise polling is the only choice. You can switch later with Use polling / Use the webhook.
  3. Missived checks the token with Telegram, stores it encrypted, and never shows it again. The card warns you if privacy mode is still on.
  1. On the bot's card, choose Link a channel…, pick a Missived text channel and a direction, then Make a link code.
  2. Add the bot to the Telegram group (or make it an admin of the Telegram channel).
  3. As an admin of that group, post the command shown, for example /link@YourBot MSV-7KQ2D-HX9PM. The code works once, for 15 minutes.
  4. Back in Missived, the link appears as Waiting for you, with the group's name and who posted the code. Choose Confirm. The bot says it's linked in the group.

Nothing is relayed until you confirm, so a leaked code can't quietly pipe a channel into a stranger's group. If you don't recognise the chat, choose Remove.

Discord

Make the bot

  1. Open https://discord.com/developers/applications → New Application, and name it.
  2. Open the Bot tab → Reset Token → Copy. This is the bot token. It is not the OAuth2 client secret, and never your own account's token.
  3. On the same Bot tab, under Privileged Gateway Intents, turn on Message Content Intent and Save Changes. Without it Discord hides what people type, so nothing can be relayed from Discord (Missived to Discord still works).

Connect it

  1. Choose Connect a Discord bot and paste the token.
  2. Missived checks it with Discord, stores it encrypted and never shows it again. It keeps one live connection to Discord for the bot, which resumes after a restart.
  3. Invite the bot. The card shows an invite link that asks for exactly what the bridge needs: View Channels, Send Messages, Manage Messages, Embed Links, Attach Files, Read Message History, Manage Webhooks, Create Public Threads and Send Messages in Threads. Open it, pick your Discord server and authorise it (you need Manage Server there).

Choose Link a channel…, pick a Missived channel and a direction, then either:

Directions

Direction What happens
Both ways Messages from either side appear on the other.
Telegram → Missived / Discord → Missived Messages from there appear here; nothing from here goes out.
Missived → Telegram / Missived → Discord Messages from this channel appear there. Good for an announcements channel.

Change a link's direction from its card at any time.

What relays

Into Missived. A remote message appears as "Ann Lee (Telegram)" or "Ann Lee (Discord)" (the Discord server nickname), with the person's photo and a BOT badge. The network in brackets keeps a remote name from passing for a member's. Formatting, links, replies (as a quote line) and files come across. From Telegram, forwards, photos, voice notes and videos also come across; animated stickers, polls and locations become a short note. From Discord, PNG stickers, #channel and custom emoji (as text) come across, and messages in a Discord thread become replies in the matching thread here.

Out of Missived.

Mentions are inert both ways. An @mention from the other network shows as plain text here and notifies nobody. Messages sent to Discord can never ping @everyone, @here or anyone else.

Edits are mirrored both ways.

Deletes:

The bridge never echoes its own posts back. A private chat with the Telegram bot only answers /start with what the bot is.

Members see a Telegram or Discord chip in the channel header (on a phone, under the channel name) that says where the channel's messages go.

What data moves

Limits

Pause, replace, disconnect

On the bot's card Does
Check Asks the network about the bot (and the Telegram webhook, or the Discord Message Content Intent and connection).
Replace token After you revoke or reset the token, paste the new one for the same bot. Links are kept, and a bridge that paused over its token resumes.
Pause / Resume Nothing is relayed either way while paused, and messages sent meanwhile aren't sent later.
Disconnect Every linked channel stops relaying. Messages already copied stay.

Each link has its own Pause and Unlink; messages already copied stay.

Troubleshooting

A bridge or link that runs into trouble pauses itself and says why on its card, under Paused automatically:

When connecting:

Message Meaning
"That's a token for a Discord account, not a bot." Self-bots break Discord's terms and get accounts banned, so Missived refuses them. Use the token from your application's Bot tab.
"This bot is already connected to another Missived org." Make a separate bot for this org.
"That token is for a different bot." Replace token only takes a new token for the same bot. Disconnect, then connect the other bot.
"That channel is already linked." A Missived channel has one link. Unlink it first.
"Bridged channel limit reached for this plan" Unlink a channel, or move to a plan with more.
"Privacy mode is on" (Telegram) The bot only sees commands. See step 4 of Make the bot.