# Neuron Telegram Gateway — Setup The Telegram gateway lets you chat with your Neuron soul via Telegram. Plain messages go to the soul; commands give access to memory and status. ## 1. Create a bot via @BotFather 1. Open Telegram and search for **@BotFather** 2. Send `/newbot` 3. Pick a name (e.g. "Neuron") 4. Pick a username (must end in `bot`, e.g. `myneuron_bot`) 5. BotFather replies with your **HTTP API token** — looks like `7123456789:ABCdef...` 6. Optionally set a description: `/setdescription` → select your bot → type a description ## 2. Store the token in the macOS Keychain Never put the token in a plist, `.env`, or any file that might be committed. ```bash security add-generic-password \ -s neuron-telegram-bot \ -a neuron \ -w '' ``` Verify: ```bash security find-generic-password -s neuron-telegram-bot -a neuron -w ``` ## 3. Load the LaunchAgent ```bash launchctl load ~/Library/LaunchAgents/ai.neuron.telegram-gateway.plist ``` Check it started: ```bash launchctl list | grep telegram tail -f ~/.neuron/logs/telegram-gateway.out.log ``` ## 4. Test Send your bot a message in Telegram. It should reply using your soul's voice. ## Commands | Command | What it does | |---------|-------------| | `` | Forwarded to the soul → responds in its voice | | `/memory ` | Searches soul memories, returns top 3 | | `/remember ` | Stores text as a memory node | | `/status` | Reports whether the soul is reachable | ## Unload / stop ```bash launchctl unload ~/Library/LaunchAgents/ai.neuron.telegram-gateway.plist ``` ## Troubleshoot - **"token not found"** — re-run step 2 above - **"Soul is resting"** — the soul daemon at `http://localhost:7770` is not running; start it with `launchctl load ~/Library/LaunchAgents/ai.neuron.engram.plist` (or whichever plist runs the soul) - **Logs**: `~/.neuron/logs/telegram-gateway.out.log` and `telegram-gateway.err.log` - **Test gateway script directly**: ```bash TELEGRAM_BOT_TOKEN= ~/Development/neuron-technologies/neuron/tools/telegram-gateway.sh ``` ## Soul API endpoints used | Endpoint | Purpose | |----------|---------| | `POST /api/chat` | Forward messages to the soul | | `POST /api/neuron/recall` | Search memories | | `POST /api/neuron/memory` | Store conversation as a memory node |