skills$openclaw/telegram
mrgoodb3.3k

by mrgoodb

telegram – OpenClaw Skill

telegram is an OpenClaw Skills integration for writing workflows. 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.

3.3k stars6.7k forksSecurity L1
Updated Feb 7, 2026Created Feb 7, 2026writing

Skill Snapshot

nametelegram
descriptionSend 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. OpenClaw Skills integration.
ownermrgoodb
repositorymrgoodb/telegram
languageMarkdown
licenseMIT
topics
securityL1
installopenclaw add @mrgoodb/telegram
last updatedFeb 7, 2026

Maintainer

mrgoodb

mrgoodb

Maintains telegram in the OpenClaw Skills directory.

View GitHub profile
File Explorer
2 files
.
_meta.json
269 B
SKILL.md
3.0 KB
SKILL.md

name: telegram description: 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.

Telegram Bot API

Send messages to Telegram using a bot token.

Setup

  1. Create bot via @BotFather on Telegram
  2. Copy the bot token
  3. Store token:
mkdir -p ~/.config/telegram
echo "YOUR_BOT_TOKEN" > ~/.config/telegram/bot_token
  1. Get chat ID: Send /start to 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_username or negative ID

Rate Limits

  • 30 messages/second to same chat
  • 20 messages/minute to same group
  • Bulk: 30 messages/second across all chats
README.md

No README available.

Permissions & Security

Security level L1: Low-risk skills with minimal permissions. Review inputs and outputs before running in production.

Requirements

  • OpenClaw CLI installed and configured.
  • Language: Markdown
  • License: MIT
  • Topics:

FAQ

How do I install telegram?

Run openclaw add @mrgoodb/telegram in your terminal. This installs telegram into your OpenClaw Skills catalog.

Does this skill run locally or in the cloud?

OpenClaw Skills execute locally by default. Review the SKILL.md and permissions before running any skill.

Where can I verify the source code?

The source repository is available at https://github.com/openclaw/skills/tree/main/skills/mrgoodb/telegram. Review commits and README documentation before installing.