Telegram Post
Publora MCPサーバーを使ってTelegramチャンネルやグループへの投稿を作成・予約します。リッチマークダウン書式、写真、動画、メッセージ配信オプションをサポートしています。
前提条件
プラン: 無料のStarterプランで動作します。現在の制限と料金はこちら: publora.com/pricing
始め方
- publora.com/register でアカウントを作成(無料)
- Telegramボットを作成:
- Telegramで @BotFather にメッセージを送信
/newbotを送信し、指示に従う- ボットトークンを保存
- チャンネルにボットを追加:
- ボットをチャンネル/グループの管理者として追加
can_post_messages権限を付与
- Publoraで接続: ダッシュボード でボットトークンとチャンネル名を入力
- APIキーを取得: app.publora.com/dashboard/api
- エージェントを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,024文字: メディア(画像/動画)付きで投稿する場合、テキストはキャプションとして送信され、1,024文字に制限されます。テキストのみのメッセージは4,096文字まで可能です。
-
動画は最大50MB: Bot APIは動画を50MBに制限しています(一般ユーザーの4GBではありません)。大きな動画は失敗します。
-
ボットは管理者である必要: ボットに
can_post_messages権限を持つ管理者ロールが必要です。これは接続時に確認されます。 -
メディアの混在不可: 1つの投稿に画像と動画を両方含めることはできません。
-
キャプションオーバーフロー: メディア投稿でキャプションが1,024文字を超える場合、切り詰められる代わりに個別の返信メッセージとして送信されます。
ベストプラクティス
コンテンツ
- 書式を活用: 太字見出し、イタリック強調で可読性向上
- リンクプレビュー: 記事には便利。クリーンな告知には無効化
- 絵文字の使用: Telegramでは一般的で期待される
- 投稿長さ: テキストのみのメッセージでは長文にペナルティなし
タイミング
- グローバルな読者: 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メディアタイプのみ使用 |