telegram-post
Use when the user wants to post or schedule to a Telegram channel or group through Publora, using a bot.
Skill by publora
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/publora-telegram-post-96509d
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: documents, backend
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions: not checked yet.
What's inside
- Skill name
telegram-post- Description
- Use when the user wants to post or schedule to a Telegram channel or group through Publora, using a bot. Covers Telegram markdown, silent delivery, link previews and forward protection. Bot API caps media captions at 1,024 characters and videos at 50 MB. Not for other platforms (each has its own skill).
- License
- MIT
- Instructions
- 225 lines in SKILL.md · view on GitHub
Before installing
- Instructions call the network
Files (1)
- SKILL.md
SKILL.md (first lines)
# Telegram Post
Create and schedule posts to Telegram channels and groups using the Publora MCP server. Supports rich markdown formatting, photos, videos, and message delivery options.
## Prerequisites
**Plans:** Works on the free Starter plan. Current limits and pricing: [publora.com/pricing](https://publora.com/pricing).
### Getting Started
1. **Create account** at [publora.com/register](https://publora.com/register) (free)
2. **Create Telegram bot:**
- Message [@BotFather](https://t.me/BotFather) on Telegram
- Send `/newbot` and follow instructions
- Save the bot token
4. **Add bot to your channel:**
- Add the bot as **administrator** to your channel/group
- Grant `can_post_messages` permission
5. **Connect in Publora** at [Dashboard](https://app.publora.com/dashboard) with the bot token and the channel:
- Public channel: `@username` or `t.me/username`
- Private channel: its `-100…` chat ID, or the `t.me/c/…` link of any message in it (Copy Link on the message)
- Invite links (`t.me/+…`) are rejected: the Bot API cannot identify a channel from them
6. **Get an API key** at [app.publora.com/dashboard/api](https://app.publora.com/dashboard/api), only if your agent cannot sign in with OAuth or you will use the REST API fallback below
7. **Connect your agent** to the MCP server at `https://mcp.publora.com/mcp`:
- **Upgrading a manual connection without `/mcp`:** Claude treats `https://mcp.publora.com` as a different server from the bundled one. Change that existing connection to `https://mcp.publora.com/mcp` in its current scope, preserving its authentication and chosen account; sign in again if requested. Alternatively, verify the bundled connection uses the intended account, then remove only the old manual entry. Do not add a second entry or delete credentials automatically.
- **Publora tools already available** (the `publora-skills` plugin or the Publora connector in Claude): nothing to set up. Claude asks you to sign in to Publora the first time a tool runs.
- **Agents that support OAuth** (Claude Code, Cursor, and the Claude and ChatGPT apps): add the server by URL and sign in, no API key needed. In Claude Code, add it and then run `/mcp` to sign in:
```bash
claude mcp add --transport http --scope user publora https://mcp.publora.com/mcp
```
- **Agents without OAuth:** send the API key as `Authorization: Bearer sk_YOUR_API_KEY`:
```bash
claude mcp add --transport http --scope user publora https://mcp.publora.com/mcp \
--header "Authorization: Bearer sk_YOUR_API_KEY"
```
Claude Desktop, Cursor, Codex, OpenClaw and the claude.ai connector each need a different config file or flow: see [client setup](https://docs.publora.com/mcp/client-setup) for the exact path and snippet.
### REST API Fallback
If the MCP server is unavailable or returns errors, use the REST API directly:
**Base URL:** `https://api.publora.com/api/v1`
**Authentication:** Use `x-publora-key` header (NOT `Authorization: Bearer`):
```bash
# Get your connected platforms
curl -X GET "https://api.publora.com/api/v1/platform-connections" \
-H "x-publora-key: sk_your_api_key"
# Create a post
curl -X POST "https://api.publora.com/api/v1/create-post" \
-H "x-publora-key: sk_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"platforms": ["telegram--1001234567890"],
"content": "*Announcement*\n\nYour message here",
"scheduledTime": "2026-03-25T10:00:00Z"
}'
```
**Platform ID Format:** `telegram-{chat_id}` where `{chat_id}` is the channel/group numeric ID from `/platform-connections`. A bot connection's chat ID is negative (`-100…`), so the ID has a double dash. Copy it verbatim; never rebuild it.
Example IDs: `telegram--1001234567890`, `telegram--1002345678901`
📖 **Full API documentation:** [docs.publora.com](https://docs.publora.com)
## Platform Limits (Bot API)
| Feature | Limit |
|---------|-------|
| Text message | 4,096 characters |
| **Media caption** | **1,024 characters** (critical limit!) |
| Images | 10 MB max, 10 per media group |
| Image formats | JPEG, PNG, GIF, BMP, WebP |
| **Video size** | **50 MB max** (not 4 GB - that's for users!) |
| Video formats | MP4, MOV, AVI, MKV, WebM |
| Rate limit | 30 msg/sec global, 20 msg/min per group |
**Critical:** Bot API has much lower limits than regular Telegram users. Videos over 50 MB and captions over 1,024 characters will fail.
## Markdown Formatting
Telegram uses its own markdown flavor with **single asterisks** for bold:
| Syntax | Result |
|--------|--------|
| `*bold*` | **bold** |
| `_italic_` | *italic* |
| `` `code` `` | `inline code` |
| ``` ```code``` ``` | Code block |
| `[text](url)` | [hyperlink](url) |
| `> text` | Blockquote |
**Note:** This differs from standard Markdown where `**double asterisks**` make bold.
## Available Tools
### create_post
Create a new Telegram post.
**Parameters:**
- `platforms`: Array with your Telegram connection ID (e.g., `["telegram--1001234567890"]`)
- `content`: Message text (supports markdown)
- `scheduledTime`: ISO 8601 UTC datetime. **Optional**: omit it and the post is created as a draft. Send a future time to schedule. A time five or more minutes in the past is rejected with `SCHEDULED_TIME_IN_PAST`, so for immediate posting use the current time plus a minute.
- `mediaUrls`: up to 10 public **https** image or video URLs. Publora downloads them server-side and attaches them *before* validation, so media and scheduling happen in one call. This is the one-shot alternative to the draft then `get_upload_url` then `complete_media` flow. Ingestion is rate-limited to 60 URLs per hour.
### get_upload_url
Get presigned URL for media uploads.
### complete_media
Finalize a file uploaded through `get_upload_url`, after the presigned `PUT` succeeds. Optional, because scheduling also finalizes pending media, but calling it early surfaces format and probe errors before publish. Not needed for media attached with `mediaUrls`.
**Parameters:**
- `mediaId`: the id returned by `get_upload_url`From publora/skills, MIT.
More from publora/skills
- 0.665score
linkedin-analytics
publora
Analyze LinkedIn performance and manage engagement through Publora.
SkillAFreshness: A★ 58Claude Code +9 - 0.665score
threads-post
publora
Create and schedule Threads posts, multi-part chains, image carousels and reply control via Publora MCP.
SkillAFreshness: A★ 58Claude Code +9 - 0.640score
social-post
publora
Use when the user wants to post or schedule to YouTube, a Facebook Page or Mastodon through Publora.
SkillAFreshness: A★ 58Claude Code +9 - 0.640score
tiktok-post
publora
Use when the user wants to upload or schedule a TikTok video through Publora, with privacy, comment, duet, stitch and commercial-disclosure settings.
SkillAFreshness: A★ 58Claude Code +9 - 0.640score
x-post
publora
Use when the user wants to post or schedule to X (Twitter) through Publora, including threads auto-split past 280 characters, up to 4 images, or a video up to…
SkillAFreshness: A★ 58Claude Code +9 - 0.640score
bluesky-post
publora
Use when the user wants to post or schedule to Bluesky through Publora.
SkillAFreshness: A★ 58Claude Code +9 - 0.640score
instagram-post
publora
Use when the user wants to post or schedule to Instagram through Publora: a single image, a 2-10 image carousel, a Reel or a Story.
SkillAFreshness: A★ 58Claude Code +9 - 0.640score
telegram-post
publora
Use when the user wants to post or schedule to a Telegram channel or group through Publora, using a bot.
SkillAFreshness: A★ 58Claude Code +9 - 0.640score
linkedin-post
publora
Use when the user wants to publish or schedule a LinkedIn post through Publora: text, a multi-image grid, a video, a PDF document, or @mentions.
SkillAFreshness: A★ 58Claude Code +9
Signals
- Stars
- 58
- Forks
- 6
- Open issues
- 1
- Last commit (this folder)
- Oct 12, 2026 (16 days ago)
- Last release
- Oct 12, 2026 (16 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/publora/skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Same skill elsewhere
Copies of this SKILL.md published by others; search shows only one of them.
More from publora
- 0.665score
linkedin-analytics
publora
Analyze LinkedIn performance and manage engagement through Publora.
SkillAFreshness: A★ 58Claude Code +9 - 0.665score
threads-post
publora
Create and schedule Threads posts, multi-part chains, image carousels and reply control via Publora MCP.
SkillAFreshness: A★ 58Claude Code +9 - 0.640score
social-post
publora
Use when the user wants to post or schedule to YouTube, a Facebook Page or Mastodon through Publora.
SkillAFreshness: A★ 58Claude Code +9 - 0.640score
tiktok-post
publora
Use when the user wants to upload or schedule a TikTok video through Publora, with privacy, comment, duet, stitch and commercial-disclosure settings.
SkillAFreshness: A★ 58Claude Code +9 - 0.640score
x-post
publora
Use when the user wants to post or schedule to X (Twitter) through Publora, including threads auto-split past 280 characters, up to 4 images, or a video up to…
SkillAFreshness: A★ 58Claude Code +9 - 0.640score
bluesky-post
publora
Use when the user wants to post or schedule to Bluesky through Publora.
SkillAFreshness: A★ 58Claude Code +9
Cite this page
telegram-post skill. Agent Mart. https://agentmart.dev/skills/publora-telegram-post-96509d (last updated 2026-10-24)