publora-telegram

ClawSkills 作者 clawskills

Post or schedule content to Telegram channels and groups using the Publora API. Use this skill when the user wants to publish or schedule Telegram messages via Publora.

安装 / 下载方式

TotalClaw CLI推荐
totalclaw install clawskills:clawskills~sergebulaev-publora-telegram
cURL直接下载,无需登录
curl -fsSL https://skills.taituai.com/api/skills/clawskills%3Aclawskills~sergebulaev-publora-telegram/file -o sergebulaev-publora-telegram.md
# Publora — Telegram

Telegram platform skill for the Publora API. For auth, core scheduling, media upload, and workspace/webhook docs, see the `publora` core skill.

**Base URL:** `https://api.publora.com/api/v1`  
**Header:** `x-publora-key: sk_YOUR_KEY`  
**Platform ID format:** `telegram-{chatId}`

## Requirements

1. Create a bot via [@BotFather](https://t.me/BotFather) on Telegram
2. Copy the bot token
3. Add the bot as an **administrator** of your target channel or group
4. Connect via Publora dashboard using the bot token + channel name

## Platform Limits (API — Bot API)

> ⚠️ Telegram Bot API has a strict 50 MB file limit (not the 4 GB that user clients allow).

| Property | Bot API Limit | User Client |
|----------|--------------|-------------|
| Text (message) | **4,096 characters** | Same |
| Media caption | **1,024 characters** ⚠️ | 4,096 (Premium) |
| Images | Up to 10 × 10 MB | JPEG, PNG, GIF, WebP, BMP |
| Video | **50 MB** ⚠️ | 4 GB |
| Video formats | MP4, MOV, AVI, MKV, WebM | — |
| Text only | ✅ Yes | — |
| Rate limit | 30 messages/sec | 20 messages/min per group |

**Common errors:**
- `MEDIA_CAPTION_TOO_LONG` — caption exceeds 1,024 chars → reduce or move text to message body
- `Bad Request: file is too big` — file exceeds 50 MB → compress or use a smaller file

## Post a Text Message

```javascript
await fetch('https://api.publora.com/api/v1/create-post', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json', 'x-publora-key': 'sk_YOUR_KEY' },
  body: JSON.stringify({
    content: '📢 **Announcement**: Our new feature is live! Check it out at publora.com\n\n#update #publora',
    platforms: ['telegram--1001234567890']  // note: group chat IDs are negative
  })
});
```

Markdown formatting is supported in Telegram messages.

## Schedule a Message

```javascript
body: JSON.stringify({
  content: 'Your Telegram channel message here',
  platforms: ['telegram--1001234567890'],
  scheduledTime: '2026-03-20T09:00:00.000Z'
})
```

## Send an Image

```python
import requests

HEADERS = { 'Content-Type': 'application/json', 'x-publora-key': 'sk_YOUR_KEY' }

# Step 1: Create post (content = caption, max 1,024 chars for media)
post = requests.post('https://api.publora.com/api/v1/create-post', headers=HEADERS, json={
    'content': 'Check out our latest update! 🚀',   # keep under 1,024 chars when attaching media
    'platforms': ['telegram--1001234567890']
}).json()

# Step 2: Get upload URL (max 10 MB per image)
upload = requests.post('https://api.publora.com/api/v1/get-upload-url', headers=HEADERS, json={
    'postGroupId': post['postGroupId'],
    'fileName': 'image.jpg',
    'contentType': 'image/jpeg',
    'type': 'image'
}).json()

# Step 3: Upload
with open('image.jpg', 'rb') as f:
    requests.put(upload['uploadUrl'], headers={'Content-Type': 'image/jpeg'}, data=f)
```

## Send a Video (max 50 MB)

Same flow as image but use `contentType: 'video/mp4'` and `type: 'video'`. Keep the file under 50 MB.

## Platform Quirks

- **Bot API file limit is 50 MB** — not 4 GB like Telegram user clients. For larger files, you'd need a Local Bot API Server (not supported by Publora)
- **Caption vs message body**: When attaching media, `content` becomes the caption (max 1,024 chars). For text-only posts, content can be up to 4,096 chars.
- **Markdown supported**: Use `**bold**`, `_italic_`, `` `code` ``, `[link](url)` in message content
- **Group chat IDs are negative**: e.g. `telegram--1001234567890`
- **Bot must be admin**: The bot needs admin permissions to post in channels; in groups, it needs at least "Send messages" permission
- **Rate limit**: 30 messages/second globally; 20 messages/minute per group — Publora handles queuing automatically