Channels

where your mind can meet you · Discord, Telegram, Slack, Signal

Your mind can meet you where you already talk. Each guide below takes you from nothing to a working connection, one step at a time, with a direct link for every step. Read the column that suits you; your mind checks the result at the end.

Discord

Works in the app today.

A Discord account. About 10 minutes.

Keys it needs: Discord bot token a long string with two dots in it

1 Create the application

You

New to this

Sign in with your normal Discord account. Click New Application in the top right, give it the name you want your mind to have on Discord, tick the box to accept Discord's terms, and click Create. Nothing is public yet.

I use keys daily

Developer Portal → New Application → name → Create. One application per mind; don't reuse a bot that another program already runs.

How and why it works

A Discord "application" is the container; the bot user lives inside it. Its Application ID is public (it appears in invite links). Only the bot token you create in step 4 is secret. Accepting the terms is your legal act with Discord, which is why your mind never does this step for you.

2 Let the bot read your messages

You

New to this

In the left menu click Bot. Scroll to Privileged Gateway Intents and switch on Message Content Intent. Click Save Changes at the bottom.

I use keys daily

Bot → Privileged Gateway Intents → Message Content Intent: on → Save.

How and why it works

Without this switch Discord blanks the text of messages before they reach the bot, and the app refuses to connect (it asks for message_content and Discord answers PrivilegedIntentsRequired). Bots in fewer than 100 servers need no review to turn it on. See Discord's docs on privileged intents: https://discord.com/developers/docs/topics/gateway#privileged-intents

3 Make the bot private

You

New to this

First, in the left menu click Installation. Under Install Link, change "Discord Provided Link" to None and click Save Changes. Then click Bot, switch Public Bot off and click Save Changes. Do it in this order: Discord refuses to save Public Bot off while the install link is still set, and shows "Private application cannot have a default authorization link".

I use keys daily

Installation → Install Link: None → Save. Then Bot → Public Bot: off → Save. Leave Requires OAuth2 Code Grant off.

How and why it works

New applications are public by default: anyone who knows the Application ID can add the bot to their own server. Your mind ignores everyone but its owner anyway, but a private mind should not be joinable at all. Discord ties the two switches together because a default install link is a public invitation, so it must go before the bot can be private. The invite link this page builds in step 6 still works for you, because the owner of a private application can always add it.

4 Copy the bot token

You

New to this

Still on the Bot page, click Reset Token, confirm, and click Copy. Treat it like a password: don't paste it into a chat, an email or a screenshot. If it ever leaks, come back here and reset it; the old one stops working at once.

I use keys daily

Bot → Reset Token → Copy. It is shown once. Keep it out of chat with any AI, including your own mind.

How and why it works

Anything typed into a conversation is sent to the model provider and may sit in their logs. So the token goes into the app's keyring, never into chat. The keyring is encrypted on your machine; the Discord channel runs as its own process and is started with only this one key.

5 Give the bot a place to meet you

You

New to this

A bot can only send you private messages if you share a server with it. In Discord, click the + at the bottom of your server list, choose Create My Own, then For me and my friends, and name it, for example "My mind". Only you are in it.

I use keys daily

Create a private server (or use one you own). The bot needs one shared server to open a DM with you.

How and why it works

Discord only lets a bot open a direct message with a user it shares a server with. A private server of one is the smallest way to meet that rule; the bot never needs access to your other servers.

6 Invite the bot to that server

You

New to this

In the Developer Portal open General Information and copy the Application ID (it is not secret). Paste it into the box on this page; the invite link fills itself in. Open it, pick your private server, and click Authorize.

I use keys daily

OAuth2 invite with scopes bot + applications.commands and permissions 117760 (View Channels, Send Messages, Embed Links, Attach Files, Read Message History).

How and why it works

The link is built in your browser from the Application ID; nothing is sent to us. applications.commands lets the bot register its slash commands. 117760 is the sum of five permission bits and grants nothing beyond reading and writing messages: no moderation, no admin.

7 Put the token in the app

You

New to this

In the Aedelgard app, type /coms and choose Discord (or open this guide inside the app). Paste the token into the field on that step, press Save, then Test. Then restart the app (quit it from the tray and open it again) so it connects.

I use keys daily

/coms → Discord → paste → Save → Test → restart the app. Stored in the encrypted keyring, never in chat.

How and why it works

The field sends the token to the app on your own machine (127.0.0.1), not to our website and not to the model. Test asks Discord to name the bot, so a wrong or reset token shows up here instead of as silence later.

8 Pair: prove the bot is yours

You

New to this

Press Pair. The app shows three words. Send exactly those three words to your bot as a direct message on Discord. The bot answers "Paired", and from then on it answers you and nobody else. The code works once and expires after 10 minutes.

I use keys daily

Pair → DM the three-word code to the bot → "Paired with <name>". No user ID, no .env.

How and why it works

The binding is stored by the mind, where the Discord channel can't change it. Messages from anyone who isn't paired are dropped before the mind sees them and only counted. Twenty wrong guesses cancel the code.

9 Your mind checks the connection

Your mind

  • token is valid (Discord names the bot)
  • Message Content Intent is on
  • the bot shares at least one server with you

New to this

Your mind tests three things and tells you in plain words which one, if any, still needs fixing. Then it greets you on Discord. Today the app checks the token when you save it; the other two checks arrive with the next update.

I use keys daily

GET /users/@me, GET /applications/@me (flags 1<<18 or 1<<19 = message content), GET /users/@me/guilds. All with the bot token, from your machine.

How and why it works

Each check maps to one step above, so a failure points to the exact step to redo. The checks run locally with the token from the keyring; their results are shown to you, the token never is.

Telegram

Being built now. This guide is ready; the app learns Telegram in the next update.

The Telegram app. About 3 minutes.

Keys it needs: Telegram bot token digits, a colon, then letters and numbers

1 Ask BotFather for a bot

You

New to this

BotFather is Telegram's official bot for making bots. Open the link, press Start, and send /newbot. It asks for a display name (anything) and then a username that must end in "bot", for example my_mind_bot.

I use keys daily

@BotFather → /newbot → name → username ending in bot.

How and why it works

Telegram has a first-class bot platform, so there is no developer portal and no review. The bot is just an account controlled through the Bot API: https://core.telegram.org/bots/tutorial

2 Copy the token

You

New to this

BotFather replies with a token that looks like 123456789:ABC-def... Copy it. Treat it like a password and never paste it into a chat with an AI. If it leaks, send /revoke to BotFather.

I use keys daily

Copy the HTTP API token. /revoke rotates it.

How and why it works

The token is the bot's whole identity: whoever holds it can read and send as the bot. It goes into the encrypted keyring and is handed only to the Telegram channel process.

3 Say hello to your bot first

You

New to this

Open your new bot and press Start. Telegram doesn't let a bot write to anyone who hasn't started it first.

I use keys daily

Press Start in the bot's chat; bots can't initiate.

How and why it works

Telegram's anti-spam rule: a bot can only message users who have opened a chat with it. Pressing Start also gives the app your chat, which pairing then binds to you.

4 Add the token and pair

You

New to this

In the app, type /coms and choose Telegram. Paste the token into the field on this step, press Save and Test, then press Pair and send the three-word code to your bot.

I use keys daily

/coms → Telegram → paste → Save → Test → Pair → send the code to the bot.

How and why it works

Pairing binds your Telegram account to the mind. The binding is stored with the mind, where the channel extension can't change it, and anyone else who messages the bot is dropped before the mind sees them.

5 Your mind checks the connection

Your mind

  • token is valid (Telegram names the bot)

New to this

Your mind confirms the bot exists and greets you there.

I use keys daily

GET https://api.telegram.org/bot<token>/getMe

How and why it works

One call proves the token; the greeting proves the pairing.

Slack

Planned. The guide shows the route we will support.

A Slack workspace where you may install apps. About 10 minutes.

Keys it needs: Slack bot token starts with xoxb- · Slack app-level token starts with xapp-

1 Create the app from our manifest

You

New to this

Click Create New App, choose From a manifest, pick your workspace, and paste the manifest the app gives you. Slack fills in every setting for you.

I use keys daily

Create New App → From a manifest. The manifest sets Socket Mode, bot scopes chat:write, im:history, im:read, im:write, commands, the message.im event and the Messages tab.

How and why it works

A manifest is Slack's own way to describe an app as text, so nobody has to click through six settings pages. Socket Mode means Slack talks to your machine over an outgoing connection: no public web address, no open port on your computer. https://api.slack.com/apis/socket-mode

2 Create the connection token

You

New to this

In your app open Basic Information, scroll to App-Level Tokens, click Generate Token and Scopes, add the scope connections:write, and copy the token starting with xapp-.

I use keys daily

Basic Information → App-Level Tokens → connections:write → copy xapp-…

How and why it works

Slack uses two tokens: the app-level one opens the Socket Mode connection, the bot one acts in your workspace. Both go into the keyring; neither enters a chat.

3 Install to your workspace

You

New to this

Open Install App and click Install to Workspace, then Allow. Copy the Bot User OAuth Token starting with xoxb-. If your workspace needs an admin's approval, Slack asks them.

I use keys daily

Install App → Install → copy xoxb-…

How and why it works

Installing is your workspace's consent, so it stays a human step. Admin approval rules belong to your workspace, not to us.

4 Your mind checks the connection

Your mind

  • bot token is valid
  • socket connection opens

New to this

Your mind confirms both tokens and greets you in Slack.

I use keys daily

auth.test with xoxb-; apps.connections.open with xapp-.

How and why it works

Two calls, one per token, so a failure names the token to fix.

Signal

Planned, and the hardest. Signal has no bot platform by design.

A second phone number that is not your own Signal number. About 20 minutes.

Keys it needs: The mind's Signal number + and digits

1 Get a separate number for your mind

You

New to this

Your mind needs its own Signal number, such as a cheap prepaid SIM. Don't use your own number: registering it elsewhere would sign your phone out of Signal.

I use keys daily

A dedicated number that can receive one SMS or call. Not your primary Signal number.

How and why it works

Signal has no bot accounts. To talk to you, your mind has to be an ordinary Signal user with its own number, end-to-end encrypted like any other.

2 Solve Signal's captcha

You

New to this

Signal asks a human to prove they're human before a new number is registered. Solve it, then right-click Open Signal and copy the link; the app asks you for it.

I use keys daily

Solve, copy the signalcaptcha:// link, paste it where the app asks.

How and why it works

The captcha exists so that a person, not a program, registers each number. That is why this step stays yours even in one-click setup.

3 Type the code Signal sends

You

New to this

Signal sends a six-digit code to the new number. Type it into the app. Then set a Signal PIN when the app asks.

I use keys daily

SMS (or voice) code → verify → set registration lock PIN.

How and why it works

The app registers the number with signal-cli, an independent open-source Signal client, running on your machine. Messages stay end-to-end encrypted to that machine; nobody in between, including us, can read them.

4 Your mind checks the connection

Your mind

  • the number is registered
  • a message to you arrives

New to this

Your mind sends you a first Signal message. Reply to it to pair.

I use keys daily

signal-cli receive / send round trip.

How and why it works

A round trip is the only proof that both directions work on an end-to-end encrypted network.

Logos are trademarks of their owners, shown so you can recognise the right page.

Channels are one kind of extension. See Extensions for what else your mind can learn to do.