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
smartsheet
Manage sheets, rows, and columns via Smartsheet API. Automate spreadsheet workflows.
onelogin
Manage users and apps via OneLogin API. Handle SSO and identity management.
google-sheets
Read and write Google Sheets data. Create spreadsheets, update cells, and manage worksheets via Sheets API.
postmark
Send transactional emails with high deliverability via Postmark API. Manage templates, track bounces, and view analytics.
loom
Manage Loom video recordings - list, share, and get analytics via Loom API.