360 Secure SkillHub
360 安全技能中心

Publora Telegram

该 Skill 说明如何用 Publora API 向 Telegram 频道和群组发布或定时发送文本、图片和视频消息,列出机器人创建、管理员权限、字符数与文件大小限制及常见错误,并给出 create-post、get-upload-url 与上传文件的代码示例。

sergebulaev
sergebulaev
热度 74.44
最近更新 2026-05-11 17:26:34
分类:营销依赖:第三方 API / 代码执行 / 读写文件应用场景:社交媒体 / API 集成

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add publora-telegram
Metadata
name
publora-telegram
description
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.

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 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

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

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

Send an Image

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