publora/telegram-post

Telegramチャンネルやグループへの投稿作成・予約をPublora経由で行います。ボットを使用し、テレグラムマークダウン、サイレント配信、リンクプレビュー、転送防止に対応。Bot APIの制限(メディアキャプション1,024文字、動画50MB)に準拠。

telegram-post とは?

このスキルは、Publora MCPサーバーを介してTelegramチャンネルやグループへの投稿を作成・予約するためのものです。リッチテキスト(ボールド、イタリック、コードブロック、リンク)や画像・動画メディアの添付、特定時刻への予約投稿をサポートします。Claude Code、Cursor、Codex、OpenClaw、claude.aiなど主要なAIエージェントプラットフォームと連携可能で、MCPプロトコルまたはREST API経由で操作します。Bot APIの制限(メディアキャプション1,024文字、動画50MB)を厳守する必要があり、制限を超えるとエラーになります。テレグラム固有のオプション(サイレント送信、リンクプレビュー無効化、転送防止)も設定可能です。

対応✓Claude Code✓Codex CLI✓Cursor
npx skills add https://github.com/publora/skills/tree/main/skills/telegram-post

Installed? Explore more 生産性&コラボレーション skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Telegram Post

Publora MCPサーバーを使ってTelegramチャンネルやグループへの投稿を作成・予約します。リッチマークダウン書式、写真、動画、メッセージ配信オプションをサポートしています。

前提条件

プラン: 無料のStarterプランで動作します。現在の制限と料金はこちら: publora.com/pricing

始め方

  1. publora.com/register でアカウントを作成(無料)
  2. Telegramボットを作成:
    • Telegramで @BotFather にメッセージを送信
    • /newbot を送信し、指示に従う
    • ボットトークンを保存
  3. チャンネルにボットを追加:
    • ボットをチャンネル/グループの管理者として追加
    • can_post_messages 権限を付与
  4. Publoraで接続: ダッシュボード でボットトークンとチャンネル名を入力
  5. APIキーを取得: app.publora.com/dashboard/api
  6. エージェントをMCPサーバーに接続: https://mcp.publora.com で、Authorization: Bearer sk_YOUR_API_KEY で認証。Claude Codeの場合:
claude mcp add publora --transport http https://mcp.publora.com \
  --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 ではありません):

# 接続済みプラットフォームを取得
curl -X GET "https://api.publora.com/api/v1/platform-connections" \
  -H "x-publora-key: sk_your_api_key"

# 投稿を作成
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": "*お知らせ*\n\nメッセージはこちら",
    "scheduledTime": "2026-03-25T10:00:00Z"
  }'

プラットフォームID形式: telegram-{chat_id}({chat_id} は /platform-connections から取得したチャンネル/グループの数値ID)

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

📖 完全なAPIドキュメント: docs.publora.com

プラットフォーム制限(Bot API)

機能制限
テキストメッセージ4,096文字
メディアキャプション1,024文字(重要制限!)
画像最大10MB、メディアグループあたり最大10件
画像形式JPEG、PNG、GIF、BMP、WebP
動画サイズ最大50MB(4GBではない - それは一般ユーザー向け)
動画形式MP4、MOV、AVI、MKV、WebM
レート制限グローバルに30 msg/秒、グループあたり20 msg/分

重要: Bot APIは一般Telegramユーザーよりもはるかに低い制限です。50MBを超える動画や1,024文字を超えるキャプションは失敗します。

マークダウン書式

Telegramは独自のマークダウンフレーバーを使用し、太字にはシングルアスタリスクを使います:

構文結果
*太字*太字
_斜体_斜体
`コード`インラインコード
コード コードブロック
[テキスト](url)ハイパーリンク
> 引用ブロック引用

注意: 標準マークダウン(**二重アスタリスク** で太字)とは異なります。

利用可能なツール

create_post

新しいTelegram投稿を作成します。

パラメータ:

  • platforms: Telegram接続IDの配列(例: ["telegram-1001234567890"])
  • content: メッセージテキスト(マークダウン対応)
  • scheduledTime: ISO 8601 UTC日時。オプション: 省略すると下書きとして作成。未来の時刻を指定して予約。5分以上過去の時刻は SCHEDULED_TIME_IN_PAST で拒否されるため、即時投稿には現在時刻+1分を指定。
  • mediaUrls: 最大10個の公開https画像または動画URL。Publoraがサーバー側でダウンロードし、バリデーションの前に添付するため、メディア添付と予約を1回の呼び出しで行えます。これは、下書き→get_upload_url→complete_media フローに代わるワンショットの代替手段です。取り込みは1時間あたり60URLにレート制限されます。

get_upload_url

メディアアップロード用の署名付きURLを取得します。

complete_media

get_upload_url で取得した署名付きURLへの PUT が成功した後、アップロードされたファイルを確定します。オプションです。予約投稿でも保留中のメディアは確定されますが、早期に呼び出すことで公開前にフォーマットやプローブエラーを検出できます。mediaUrls で添付したメディアには不要です。

パラメータ:

  • mediaId: get_upload_url が返したID

list_connections

接続済みアカウントをプラットフォームIDとともに一覧表示します。最初にこれを呼び出し、IDをそのままコピーしてください。IDは推測不可能です。

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 が返ります。

注: platformSettings はMCPの create_post および update_post ツール、ならびにREST経由でも受け入れられます。スキーマは厳格で、プラットフォームやキーの誤記は警告なしに破棄されるのではなく、バリデーションエラーで拒否されます。

使用例

シンプルなチャンネル投稿

これをTelegramチャンネルに投稿:
"*製品アップデート v2.5*

以下の改善をリリースしました:
- _API応答時間の高速化_(平均45ms)
- 一括操作用の新しい `batch` エンドポイント

[チェンジログを読む](https://example.com/changelog)"

書式付き告知

以下の書式でTelegram投稿を作成:
"*重要なお知らせ*

明日UTC10時に新機能をリリースします。

_新機能:_
- 機能Aの改善
- 機能Bのリリース

[詳細はこちら](https://example.com/update)"

画像付き投稿

この画像をTelegramチャンネルにキャプション付きで投稿:
"*新しいダッシュボードプレビュー*

再設計された分析ダッシュボードのプレビューをお届けします。"

重要: メディア付きで投稿する場合、キャプションは1,024文字未満である必要があります。

予約投稿

これを明日のモスクワ時間午前8時に予約:
"*おはようございます!* 本日の市場サマリーをお届けします..."

重要な制限事項

  1. キャプション制限は1,024文字: メディア(画像/動画)付きで投稿する場合、テキストはキャプションとして送信され、1,024文字に制限されます。テキストのみのメッセージは4,096文字まで可能です。

  2. 動画は最大50MB: Bot APIは動画を50MBに制限しています(一般ユーザーの4GBではありません)。大きな動画は失敗します。

  3. ボットは管理者である必要: ボットに can_post_messages 権限を持つ管理者ロールが必要です。これは接続時に確認されます。

  4. メディアの混在不可: 1つの投稿に画像と動画を両方含めることはできません。

  5. キャプションオーバーフロー: メディア投稿でキャプションが1,024文字を超える場合、切り詰められる代わりに個別の返信メッセージとして送信されます。

ベストプラクティス

コンテンツ

  1. 書式を活用: 太字見出し、イタリック強調で可読性向上
  2. リンクプレビュー: 記事には便利。クリーンな告知には無効化
  3. 絵文字の使用: Telegramでは一般的で期待される
  4. 投稿長さ: テキストのみのメッセージでは長文にペナルティなし

タイミング

  • グローバルな読者: Telegramユーザーは全世界に分布。タイムゾーンを考慮
  • 最適な時間: 対象地域の8~10時、12~14時、19~21時
  • 頻度: チャンネルは高頻度で投稿可能(5~10件/日)

エンゲージメント

  • チャンネル設定でコメントを有効化し議論を促進
  • 投票機能でエンゲージメント向上
  • 重要な告知はピン留め

トラブルシューティング

エラー原因解決策
"Bot not admin"ボットに管理者権限がないボットを can_post_messages 権限付きで管理者として追加
"Channel not found"チャンネル名/IDが間違っている@channelname または数値チャットIDを確認
MEDIA_CAPTION_TOO_LONGキャプションが1,024文字超過キャプションを短くするかテキストのみの投稿を使用
"Bad Request: file is too big"ファイルが50MB超過動画/画像を50MB未満に圧縮
"Mixed media not supported"同一投稿に画像と動画が混在1投稿につき1メディアタイプのみ使用

Individual skills in this repo

This repo contains 8 individual skills — each has its own dedicated page.

publora/bluesky-post

Use when the user wants to post or schedule to Bluesky through Publora. Handles the 300-character cap, auto-detected hashtags and links, up to 4 images, and videos. Alt text cannot be set through the API. Needs a Bluesky app password, never the main password. Not for Mastodon (use social-post).

publora/instagram-post

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. Requires a Business account and an image or video; text-only posts are rejected by the API. Not for Threads (use threads-post).

publora/linkedin-analytics

Analyze LinkedIn performance and manage engagement through Publora. Use when the user asks how a LinkedIn post or account performed (impressions, reach, reactions, comments, reshares, follower growth) or wants to react, comment, reshare or resolve an @mention. Statistics run over the REST API, engagement over MCP tools. Not for creating posts (use linkedin-post).

publora/linkedin-post

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. Not for analytics, reactions, comments or reshares (use linkedin-analytics), and not for other platforms.

publora/social-post

Use when the user wants to post or schedule to YouTube, a Facebook Page or Mastodon through Publora. YouTube needs a video on every post, Facebook publishes to Pages only, Mastodon caps at 500 characters. Not for the platforms that have their own skill.

publora/threads-post

Create and schedule Threads posts with image carousels and reply control via Publora MCP. Use when the user wants to post to Meta's Threads. Multi-part threading is currently disabled by the platform, so long content stays a single post. Not for Instagram (use instagram-post) or X threads (use x-post).

publora/tiktok-post

Use when the user wants to upload or schedule a TikTok video through Publora, with privacy, comment, duet, stitch and commercial-disclosure settings. Video runs 3 seconds to 10 minutes at 23+ FPS; carousels take up to 35 images. Unaudited apps can publish private videos only. Not for Reels (use instagram-post).

publora/x-post

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 140 seconds. X needs a paid Publora plan. Not for Threads or Bluesky (each has its own skill).

関連スキル