mcpField
T
telegram-post

telegram-post

github.com/publora营销与增长61221 次安装1 天前更新
代码仓库

关于 telegram-post

通过 Publora 创建和安排 Telegram 频道及群组帖文的技能,支持格式化文本和媒体,并需遵循 Telegram Bot API 的限制。

主要功能

  1. 01创建并安排帖文
  2. 02使用 Telegram Markdown 格式化
  3. 03添加照片或视频
  4. 04支持频道和群组

适用场景

  1. 01安排频道公告
  2. 02发布格式化产品更新
  3. 03分享带说明文字的图片

MCP 相关

通过 `https://mcp.publora.com/mcp` 上的 Publora MCP 服务创建和安排 Telegram 帖文。文档也提供 REST API 备用方案。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/publora/skills --skill telegram-post

安装后在 Claude Code 中输入/telegram-post确认已加载。

详细介绍

Telegram 帖子

使用 Publora MCP 服务创建并安排 Telegram 频道和群组的帖子。支持丰富的 Markdown 格式、照片、视频和消息投递选项。

前提条件

套餐: 免费 Starter 套餐即可使用。当前限额和价格:publora.com/pricing。

开始使用
  1. 创建账户:publora.com/register(免费)
  2. 创建 Telegram 机器人:
    • 在 Telegram 上向 @BotFather 发送消息
    • 发送 /newbot 并按说明操作
    • 保存机器人令牌
  3. 将机器人添加到频道:
    • 将机器人作为管理员添加到频道/群组
    • 授予 can_post_messages 权限
  4. 在 Publora 中连接:前往 Dashboard,使用机器人令牌和频道进行连接:
    • 公开频道:@username 或 t.me/username
    • 私人频道:其 -100… 聊天 ID,或其中任意一条消息的 t.me/c/… 链接(在消息上选择“复制链接”)
    • 邀请链接(t.me/+…)会被拒绝:Bot API 无法通过此类链接识别频道
  5. 获取 API 密钥:前往 app.publora.com/dashboard/api,仅在 Agent 无法通过 OAuth 登录或你将使用下方的 REST API 备用方案时才需要
  6. 将 Agent 连接到 MCP 服务:https://mcp.publora.com/mcp
    • 升级不带 /mcp 的手动连接: Claude 会将 https://mcp.publora.com 视为与捆绑连接不同的服务。在当前作用域中,将现有连接改为 https://mcp.publora.com/mcp,并保留其身份验证和所选账户;如果系统提示,请重新登录。或者,先确认捆绑连接使用的是目标账户,然后仅移除旧的手动条目。不要添加第二个条目,也不要自动删除凭据。
    • Publora 工具已可用(publora-skills 插件或 Claude 中的 Publora 连接器):无需进行任何设置。Claude 首次运行工具时会提示你登录 Publora。
    • 支持 OAuth 的 Agent(Claude Code、Cursor,以及 Claude 和 ChatGPT 应用):按 URL 添加服务并登录,无需 API 密钥。在 Claude Code 中,添加服务后运行 /mcp 登录:
claude mcp add --transport http --scope user publora https://mcp.publora.com/mcp
  • **不支持 OAuth 的 Agent:**将 API 密钥作为 Authorization: Bearer sk_YOUR_API_KEY 发送:
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 和 claude.ai 连接器各自需要不同的配置文件或流程:具体路径和代码片段请参阅客户端设置。

REST API 备用方案

如果 MCP 服务不可用或返回错误,请直接使用 REST API:

基础 URL: https://api.publora.com/api/v1

身份验证: 使用 x-publora-key 请求头(不要使用 Authorization: Bearer):

# 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"
  }'

平台 ID 格式: telegram-{chat_id},其中 {chat_id} 是 /platform-connections 返回的频道/群组数字 ID。机器人连接的聊天 ID 为负数(-100…),因此 ID 会有两个连字符。请原样复制,切勿重新构造。

ID 示例:telegram--1001234567890、telegram--1002345678901

📖 完整 API 文档: docs.publora.com

平台限制(Bot API)

功能限制
文本消息4,096 个字符
媒体说明文字1,024 个字符(关键限制!)
图片最大 10 MB,每个媒体组最多 10 张
图片格式JPEG、PNG、GIF、BMP、WebP
视频大小最大 50 MB(不是 4 GB——那是用户的限制!)
视频格式MP4、MOV、AVI、MKV、WebM
速率限制全局每秒 30 条消息,每个群组每分钟 20 条

**关键提示:**Bot API 的限制远低于普通 Telegram 用户。超过 50 MB 的视频和超过 1,024 个字符的说明文字都会导致失败。

Markdown 格式

Telegram 使用自己的 Markdown 方言,粗体使用单个星号:

语法结果
*bold*粗体
_italic_斜体
`code`行内代码
code 代码块
[text](url)超链接
> text引用块

注意: 这与标准 Markdown 不同,标准 Markdown 使用 **两个星号** 表示粗体。

可用工具

create_post

创建新的 Telegram 帖子。

参数:

  • platforms:包含你的 Telegram 连接 ID 的数组(例如,["telegram--1001234567890"])
  • content:消息文本(支持 Markdown)
  • scheduledTime:ISO 8601 UTC 日期时间。可选:省略此项会将帖子创建为草稿。设置未来时间可进行定时发布。若时间比当前时间早五分钟或以上,则会被拒绝并返回 SCHEDULED_TIME_IN_PAST;如需立即发布,请使用当前时间加一分钟。
  • mediaUrls:最多 10 个公开的 https 图片或视频 URL。Publora 会在服务器端下载并附加媒体,之后再进行验证,因此媒体和定时发布可在一次调用中完成。这是“先创建草稿,再调用 get_upload_url,然后调用 complete_media”流程的一步式替代方案。每小时最多可接收 60 个 URL。
get_upload_url

获取用于媒体上传的预签名 URL。

complete_media

在预签名 PUT 成功后,完成通过 get_upload_url 上传的文件。此步骤可选,因为定时发布也会完成待处理媒体;但提前调用可在发布前显示格式和探测错误。对于通过 mediaUrls 附加的媒体,无需调用。

参数:

  • mediaId:get_upload_url 返回的 ID
list_connections

列出已连接的账号及其平台 ID。请先调用此工具并原样复制 ID;这些 ID 无法猜测。私有频道没有公开用户名:其 username 为 null,因此请通过 displayName(频道标题)进行匹配。

list_posts / get_post / update_post / delete_post

管理定时发布的帖子和草稿。update_post 还会更新草稿或定时帖子中的 content 和 platforms,因此修正错别字或更改发布目标时,无需再删除并重建。delete_media 和 prune_media_reference 可清理已上传的文件。

帖子选项(通过 REST API)

通过 REST API 的 platformSettings.telegram 可设置 Telegram 专属选项:

选项说明
disableNotification静默发送(无声音)
disableWebPagePreview不显示链接预览卡片
protectContent防止转发或保存

无法设置媒体上方的说明文字:showCaptionAboveMedia 不是受支持的键,发送该键会返回 400 PLATFORM_SETTING_UNKNOWN。

注意:MCP 的 create_post 和 update_post 工具以及 REST API 均接受 platformSettings。其架构为严格模式:平台或键名输入错误会触发验证错误,而不会被静默忽略。

示例

简单的频道帖子
Post this to my Telegram channel:
"*Product Update v2.5*

We have shipped the following improvements:
- _Faster API response times_ (avg 45ms)
- New `batch` endpoint for bulk operations

[Read the changelog](https://example.com/changelog)"
带格式的公告
Create a Telegram post with this formatting:
"*Important Update*

We're launching our new feature tomorrow at 10 AM UTC.

_What's new:_
- Feature A improvements
- Feature B release

[Read the full announcement](https://example.com/update)"
带图片的帖子
Post this image to my Telegram channel with caption:
"*New Dashboard Preview*

Here's a sneak peek at our redesigned analytics dashboard."

重要: 发布包含媒体的帖子时,说明文字必须少于 1,024 个字符。

定时发布的帖子
Schedule this for tomorrow at 8 AM Moscow time:
"*Good morning!* Here's your daily market summary..."

重要限制

  1. 说明文字上限为 1,024 个字符:发布包含媒体(图片/视频)的帖子时,文本将作为说明文字发送,长度上限为 1,024 个字符。纯文本消息最多可包含 4,096 个字符。

  2. 视频最大为 50 MB:Bot API 将视频大小限制为 50 MB(而非普通用户的 4 GB)。较大视频将无法发送。

  3. Bot 必须是管理员:你的 Bot 需要拥有 can_post_messages 权限的管理员角色。此项会在连接时验证,并由 POST /test-connection/{platformId} 重新检查,而不会在每次发布前检查。

  4. 不能混合媒体:单个帖子不能同时包含图片和视频。

  5. 说明文字超出限制:如果包含媒体的帖子中,说明文字超过 1,024 个字符,则会作为单独的回复消息发送,而不会被截断。

最佳实践

内容
  1. 使用格式:加粗标题、斜体强调可提升可读性
  2. 链接预览:适合文章;关闭预览可让公告更简洁
  3. 表情符号:在 Telegram 上很常见,也很受欢迎
  4. 帖子长度:纯文本消息较长也不会受到限制
发布时间
  • 全球受众:Telegram 用户遍布全球;请考虑按时区发布
  • 最佳时段:目标地区的上午 8-10 点、中午 12-2 点、晚上 7-9 点
  • 发布频率:频道可以更频繁地发布(每天 5-10 条)
互动
  • 在频道设置中启用评论,方便讨论
  • 使用投票促进互动
  • 置顶重要公告

故障排除

错误原因解决方案
"Bot not admin"机器人缺少管理员权限将机器人添加为管理员,并授予 can_post_messages 权限
"Channel not found"频道名称或 ID 错误,或机器人不在频道中验证 @channelname 或 -100… 聊天 ID,并将机器人添加为管理员
"Invite links cannot identify a channel for a bot"输入了 t.me/+… 邀请链接使用频道的 -100… 聊天 ID 或 t.me/c/… 消息链接
MEDIA_CAPTION_TOO_LONG字幕超过 1,024 个字符缩短字幕,或改用纯文本帖子
"Bad Request: file is too big"文件超过 50 MB将视频或图片压缩至 50 MB 以下
"Mixed media not supported"同一帖子中包含图片和视频每个帖子只使用一种媒体类型

评论

支持 Markdown