telegramsolid
Install: claude install-skill intentic/intentic
# Telegram (connected)
Authenticated with a bot token in `$TELEGRAM_BOT_TOKEN`. Talk to the Bot API with `curl`.
Base URL: `https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN`, the token is IN the path, so never paste a
constructed URL anywhere it could be read; always build it from the variable.
Every method accepts `POST` with a JSON body and answers `{"ok":true,"result":…}` or
`{"ok":false,"error_code":…,"description":"…"}`. Check `.ok`: a 400 with a plain-English `description` is how
Telegram reports almost everything.
## Setup (do this when no bot exists yet)
There is no app review and no public URL. In Telegram, message **@BotFather**:
1. `/newbot` → a display name, then a username ending in `bot` (e.g. `acme_intentic_bot`).
2. Copy the HTTP API token it prints and paste it onto the Telegram capability.
3. For a group: add the bot to the group. By default a bot in a group sees **only** messages that `@mention`
it or reply to it: that is Telegram's privacy mode. To let it read everything, `/setprivacy` → pick the
bot → `Disable`, then remove and re-add it to the group.
4. Nothing else. A private chat works from the first message the user sends.
Confirm it landed: `curl -s "https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/getMe" | jq '.result | {id, username}'`
## Common commands
- Send a message (`<CHAT_ID>` is a number, negative for groups; a public channel can be `"@channelname"`):
`curl -s -X POST -H "Content-Type: application/json" -d '{"chat_id":<CHAT_ID