telegram-automation について
Rube MCP経由でComposioのTelegramツールキットを使い、Telegram操作を自動化するスキルです。ボットによるメッセージ送信、チャット管理、メッセージ操作、コマンド設定に対応します。
主な機能
- 01テキスト・写真・ファイルの送信
- 02メッセージの編集・削除・転送
- 03チャット情報と最新更新の取得
- 04管理者とメンバー数の確認
- 05ボットコマンドの設定
活用シーン
- 01グループやチャンネルへの通知送信
- 02チャットで写真や文書を共有
- 03ボットのメッセージを編集または削除
- 04チャット情報の確認とコマンドメニューの設定
MCP 対応
Rube MCP経由でComposioのTelegramツールキットを呼び出します。Telegramボットトークンと有効なTelegram接続が必要です。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ composiohq/ awesome-claude-skills --skill telegram-automationインストール後、Claude Code で/telegram-automationを入力して読み込まれたか確認します。
詳細
Rube MCP 経由の Telegram 自動化
Rube MCP 経由で Composio の Telegram ツールキットを使用して、Telegram の操作を自動化します。
ツールキットのドキュメント:composio.dev/toolkits/telegram
前提条件
- Rube MCP が接続されていること(RUBE_SEARCH_TOOLS が利用可能)
- ツールキット
telegramを指定したRUBE_MANAGE_CONNECTIONS経由で、Telegram への接続が有効になっていること - 必ず最初に
RUBE_SEARCH_TOOLSを呼び出し、最新のツールスキーマを取得してください - Telegram Bot Token が必要です(@BotFather 経由で作成)
セットアップ
Rube MCP を入手する:クライアント設定で https://rube.app/mcp を MCP サーバーとして追加します。API キーは不要です。エンドポイントを追加するだけで動作します。
RUBE_SEARCH_TOOLSが応答することを確認し、Rube MCP が利用可能であることを検証します- ツールキット
telegramを指定してRUBE_MANAGE_CONNECTIONSを呼び出します - 接続が ACTIVE でない場合は、返された認証リンクに従って Telegram ボットを設定します
- ワークフローを実行する前に、接続ステータスが ACTIVE であることを確認します
主なワークフロー
1. メッセージを送信する
使用する場面:ユーザーが Telegram チャットにテキストメッセージを送信したい場合
ツールの順序:
TELEGRAM_GET_ME- ボットの ID と接続を確認します[前提条件]TELEGRAM_GET_CHAT- チャットの詳細を取得し、アクセスを確認します[任意]TELEGRAM_SEND_MESSAGE- テキストメッセージを送信します[必須]
主なパラメーター:
chat_id:数値のチャット ID またはチャンネルのユーザー名(例:'@channelname')text:メッセージのテキスト内容parse_mode:書式設定に使用する 'HTML' または 'MarkdownV2'disable_notification:通知音なしでサイレント送信しますreply_to_message_id:返信先のメッセージ ID
注意点:
- メッセージを送信するには、ボットがチャットまたはグループのメンバーである必要があります
- MarkdownV2 では、特殊文字をエスケープする必要があります:
_*[]()~>#+-=|{}.! - HTML モードでサポートされるタグは限られています:
<b>、<i>、<code>、<pre>、<a> - メッセージの文字数制限は 4096 文字です。これを超える内容は分割してください
2. 写真とドキュメントを送信する
使用する場面:ユーザーが Telegram チャットで画像やファイルを共有したい場合
ツールの順序:
TELEGRAM_SEND_PHOTO- 画像を送信します[任意]TELEGRAM_SEND_DOCUMENT- ファイルまたはドキュメントを送信します[任意]
主なパラメーター:
chat_id:送信先のチャット IDphoto:写真の URL または file_id(SEND_PHOTO 用)document:ドキュメントの URL または file_id(SEND_DOCUMENT 用)caption:メディアに付ける任意のキャプション
注意点:
- 写真のキャプションは 1024 文字までです
- ドキュメントのキャプションも 1024 文字までです
- ボット API では最大 50MB のファイルを送信できます
- Telegram では写真が圧縮されます。非圧縮の画像を送る場合は SEND_DOCUMENT を使用してください
3. チャットを管理する
使用する場面:ユーザーがチャット情報を取得したり、チャット設定を管理したりしたい場合
ツールの順序:
TELEGRAM_GET_CHAT- チャットの詳細情報を取得します[必須]TELEGRAM_GET_CHAT_ADMINISTRATORS- チャットの管理者一覧を取得します[任意]TELEGRAM_GET_CHAT_MEMBERS_COUNT- メンバー数を取得します[任意]TELEGRAM_EXPORT_CHAT_INVITE_LINK- 招待リンクを生成します[任意]
主なパラメーター:
chat_id:送信先のチャット ID またはユーザー名
注意点:
- 招待リンクをエクスポートするには、ボットが管理者である必要があります
- GET_CHAT が返すフィールドは、プライベートチャット、グループ、チャンネルによって異なります
- 大規模なグループでは、メンバー数が概算の場合があります
- 管理者一覧には一般メンバーは含まれません
4. メッセージを編集・削除する
使用する場面:ユーザーが以前に送信したメッセージを変更または削除したい場合
ツールの順序:
TELEGRAM_EDIT_MESSAGE- 送信済みメッセージを編集します[任意]TELEGRAM_DELETE_MESSAGE- メッセージを削除します[任意]
主なパラメーター:
chat_id:メッセージがあるチャットmessage_id:編集または削除するメッセージの IDtext:新しいテキスト内容(編集用)
注意点:
- ボットが編集できるのは、自身のメッセージのみです
- メッセージを削除できるのは、送信から 48 時間以内です
- グループでは、削除権限を持つボットは任意のメッセージを削除できます
- メッセージを編集すると、「編集済み」のタイムスタンプ履歴が削除されます
5. メッセージを転送して更新を取得する
使用する場面:ユーザーがメッセージの転送、または最近の更新の取得を希望する場合
ツールの手順:
TELEGRAM_FORWARD_MESSAGE- メッセージを別のチャットに転送します[任意]TELEGRAM_GET_UPDATES- 最近のボットの更新/メッセージを取得します[任意]TELEGRAM_GET_CHAT_HISTORY- チャットのメッセージ履歴を取得します[任意]
主なパラメーター:
from_chat_id:転送元のチャットchat_id:転送先のチャットmessage_id:転送するメッセージoffset:GET_UPDATES の更新オフセットlimit:取得する更新の数
注意点:
- 転送されたメッセージには、元の送信者の情報が表示されます
- GET_UPDATES で取得できるのは、直近の更新の限られた範囲です
- チャット履歴へのアクセスは、ボットの権限やチャットの種類によって制限される場合があります
- 同じ更新を二重に処理しないよう、オフセットを使用してください
6. ボットのコマンドを管理する
使用する場面:ユーザーがボットのコマンドメニューの設定または更新を希望する場合
ツールの手順:
TELEGRAM_SET_MY_COMMANDS- ボットのコマンド一覧を設定します[必須]TELEGRAM_ANSWER_CALLBACK_QUERY- インラインボタンの押下に応答します[任意]
主なパラメーター:
commands:commandとdescriptionを含むコマンドオブジェクトの配列callback_query_id:応答するコールバッククエリの ID
注意点:
- コマンドは「/」で始まり、小文字で指定する必要があります
- コマンドの説明は 256 文字までです
- コールバッククエリには、期限切れになる前の 10 秒以内に応答する必要があります
- コマンドを設定すると、コマンド一覧全体が置き換えられます
よくあるパターン
チャット ID の解決
ユーザー名から:
1. Use '@username' format as chat_id (for public channels/groups)
2. For private chats, numeric chat_id is required
3. Call GET_CHAT with username to retrieve numeric ID
GET_UPDATES から:
1. Call TELEGRAM_GET_UPDATES
2. Extract chat.id from message objects
3. Use numeric chat_id in subsequent calls
メッセージの書式設定
<b>bold</b>、<i>italic</i>、<code>code</code>にはparse_mode: 'HTML'を使用します*bold*、_italic_、`code`にはparse_mode: 'MarkdownV2'を使用します- MarkdownV2 では特殊文字をエスケープします:
_ * [ ] ( ) ~ > # + - = | { } . ! - 書式設定のないプレーンテキストでは parse_mode を省略します
既知の注意点
ボットの権限:
- ボットがグループ/チャンネルとやり取りするには、追加されている必要があります
- メッセージの削除、招待リンクのエクスポート、メンバーの管理には管理者権限が必要です
- ボットから会話を開始することはできません。先にユーザーから開始する必要があります
レート制限:
- 同じグループには 1 秒あたり 30 件のメッセージ
- グループ内の同じユーザーには 1 分あたり 20 件のメッセージ
- 一括操作では、呼び出しの間に遅延を設けてください
- 制限に達すると、API は 429 Too Many Requests を返します
チャットの種類:
- プライベートチャット:ボットとの 1 対 1 のチャット
- グループ:複数ユーザーのチャット(ボットを追加する必要があります)
- スーパーグループ:管理者機能を備えた拡張グループ
- チャンネル:一方向の配信(投稿するにはボットを管理者にする必要があります)
メッセージの制限:
- テキストメッセージ:最大 4096 文字
- キャプション:最大 1024 文字
- ファイルのアップロード:ボット API 経由で最大 50MB
- インラインキーボードボタン:1 行あたり 8 個
クイックリファレンス
| タスク | ツールスラッグ | 主なパラメーター |
|---|---|---|
| ボットを確認 | TELEGRAM_GET_ME | (なし) |
| メッセージを送信 | TELEGRAM_SEND_MESSAGE | chat_id, text, parse_mode |
| 写真を送信 | TELEGRAM_SEND_PHOTO | chat_id, photo, caption |
| ドキュメントを送信 | TELEGRAM_SEND_DOCUMENT | chat_id, document, caption |
| メッセージを編集 | TELEGRAM_EDIT_MESSAGE | chat_id, message_id, text |
| メッセージを削除 | TELEGRAM_DELETE_MESSAGE | chat_id, message_id |
| メッセージを転送 | TELEGRAM_FORWARD_MESSAGE | chat_id, from_chat_id, message_id |
| チャット情報を取得 | TELEGRAM_GET_CHAT | chat_id |
| チャット管理者を取得 | TELEGRAM_GET_CHAT_ADMINISTRATORS | chat_id |
| メンバー数を取得 | TELEGRAM_GET_CHAT_MEMBERS_COUNT | chat_id |
| 招待リンクをエクスポート | TELEGRAM_EXPORT_CHAT_INVITE_LINK | chat_id |
| 更新を取得 | TELEGRAM_GET_UPDATES | offset, limit |
| チャット履歴を取得 | TELEGRAM_GET_CHAT_HISTORY | chat_id |
| ボットコマンドを設定 | TELEGRAM_SET_MY_COMMANDS | commands |
| コールバックに応答 | TELEGRAM_ANSWER_CALLBACK_QUERY | callback_query_id |
Composio によって提供