telegram
Send messages, photos, and files via Telegram Bot API. Use when you need to send notifications, alerts, or content to Telegram chats, channels, or groups. Supports text formatting, media, and inline keyboards.
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/mrgoodb/telegramTelegram Bot API
Send messages to Telegram using a bot token.
Setup
- Create bot via @BotFather on Telegram
- Copy the bot token
- Store token:
mkdir -p ~/.config/telegram
echo "YOUR_BOT_TOKEN" > ~/.config/telegram/bot_token
- Get chat ID: Send
/startto your bot, then visit:https://api.telegram.org/bot<TOKEN>/getUpdates
Send Text Message
TOKEN=$(cat ~/.config/telegram/bot_token)
CHAT_ID="123456789"
curl -s -X POST "https://api.telegram.org/bot${TOKEN}/sendMessage" \
-H "Content-Type: application/json" \
-d "{\"chat_id\": \"${CHAT_ID}\", \"text\": \"Hello from Clawdbot!\"}"
Formatting (MarkdownV2)
curl -s -X POST "https://api.telegram.org/bot${TOKEN}/sendMessage" \
-H "Content-Type: application/json" \
-d '{
"chat_id": "'$CHAT_ID'",
"text": "*Bold* _italic_ `code` [link](https://example.com)",
"parse_mode": "MarkdownV2"
}'
Escape these chars in MarkdownV2: _*[]()~>#+-=|{}.!
Send Photo
# From URL
curl -s -X POST "https://api.telegram.org/bot${TOKEN}/sendPhoto" \
-H "Content-Type: application/json" \
-d '{
"chat_id": "'$CHAT_ID'",
"photo": "https://example.com/image.jpg",
"caption": "Image caption"
}'
# From file
curl -s -X POST "https://api.telegram.org/bot${TOKEN}/sendPhoto" \
-F "chat_id=${CHAT_ID}" \
-F "photo=@/path/to/image.jpg" \
-F "caption=Image caption"
Send Document
curl -s -X POST "https://api.telegram.org/bot${TOKEN}/sendDocument" \
-F "chat_id=${CHAT_ID}" \
-F "document=@/path/to/file.pdf" \
-F "caption=File description"
Inline Keyboard (Buttons)
curl -s -X POST "https://api.telegram.org/bot${TOKEN}/sendMessage" \
-H "Content-Type: application/json" \
-d '{
"chat_id": "'$CHAT_ID'",
"text": "Choose an option:",
"reply_markup": {
"inline_keyboard": [[
{"text": "Option A", "callback_data": "option_a"},
{"text": "Option B", "callback_data": "option_b"}
]]
}
}'
Silent Message
curl -s -X POST "https://api.telegram.org/bot${TOKEN}/sendMessage" \
-H "Content-Type: application/json" \
-d '{
"chat_id": "'$CHAT_ID'",
"text": "Silent notification",
"disable_notification": true
}'
Get Updates (Polling)
curl -s "https://api.telegram.org/bot${TOKEN}/getUpdates" | jq
Error Handling
Check ok field in response:
{"ok": true, "result": {...}}
{"ok": false, "error_code": 400, "description": "Bad Request: chat not found"}
Common Chat IDs
- User chat: Positive number (e.g.,
123456789) - Group: Negative number (e.g.,
-123456789) - Channel:
@channel_usernameor negative ID
Rate Limits
- 30 messages/second to same chat
- 20 messages/minute to same group
- Bulk: 30 messages/second across all chats
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-mrgoodb-telegram": {
"enabled": true,
"auto_update": true
}
}
}Related Skills
adobe
Access Adobe Creative Cloud APIs - Photoshop, Lightroom, PDF Services, and Firefly AI. Automate creative workflows.
xero
Manage Xero accounting - invoices, contacts, bank transactions, and reports via Xero API.
statuspage
Manage Statuspage incidents and components via API. Update status and communicate outages.
fly-machines
Deploy and manage Fly.io Machines - create, start, stop, delete, and monitor containerized apps. Use for deploying containers, managing app instances, and orchestrating multi-tenant workloads.
gamma
Create presentations, documents, social posts, and websites using Gamma's AI API. Use when asked to create slides, presentations, decks, documents, or web content via Gamma.