# Caspian Connect Telegram

> Connect Caspian Telegram for OpenCode, enable telegram in caspian.json channels, and tell the user to restart. Use when linking a Telegram bot or running /caspian:connect-telegram.

- Skill: `trycaspian/caspian-connect-telegram` (Agent Skill)
- Install (CLI): `npx skillmds@latest add trycaspian/caspian-connect-telegram`
- Raw SKILL.md: https://api.skillmd.com/api/skills/trycaspian/caspian-connect-telegram/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- License: Apache-2.0
- Author: trycaspian (https://skillmd.com/u/trycaspian)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/trycaspian/caspian-connect-telegram

---


# Caspian connect Telegram

Connect a Telegram bot to Caspian and enable `telegram` in the plugin admit
list (`channels` in `~/.config/opencode/caspian.json`). Without `telegram` in
`channels`, Telegram events are rejected at admit (blast-radius wall).

## When to use

- User asks to connect Telegram / BotFather / Telegram bot
- User runs `/caspian:connect-telegram` or `/caspian-connect-telegram`

## Prerequisites (token)

Bot token must exist in **one** of (prefer file over chat):

1. `TELEGRAM_BOT_TOKEN` in the environment
2. Project `.env` → `TELEGRAM_BOT_TOKEN=...`
3. `~/.config/opencode/caspian.env` → `TELEGRAM_BOT_TOKEN=...`

Do **not** store the token in `caspian.json`. Prefer not pasting the token into chat.

## How

1. Call **`caspian_connections`** to see if Telegram is already linked and whether
   `telegram` is already in plugin channels.
2. Call **`caspian_connect_telegram`**.
3. If the tool asks for a token, instruct the user to create a bot with
   @BotFather, write `TELEGRAM_BOT_TOKEN=...` into `.env` or `caspian.env`, then
   re-run the command. Do not invent a token.
4. On success, present connection id / channels. If **RESTART REQUIRED**, say:

   > Restart OpenCode (quit and relaunch) so admit loads
   > `"channels": ["email", "telegram"]` (or your updated list). Until then,
   > Telegram messages are still rejected.

5. After restart, Telegram inbound should flow into OpenCode like email.

