mcpField
T
telegram-automation

telegram-automation

github.com/sickn33生産性48.7k468 回インストール今日更新
リポジトリ

telegram-automation について

Rube MCP 経由で Composio の Telegram ツールキットを使い、Telegram ボットの操作を自動化するスキルです。接続確認や権限上の注意を含め、メッセージ、チャット管理、更新情報、ボットコマンドを扱います。

主な機能

  1. 01テキスト、写真、文書の送信
  2. 02チャット情報の確認と管理
  3. 03メッセージの編集、削除、転送
  4. 04更新情報とチャット履歴の取得
  5. 05ボットコマンドの設定とコールバック応答

活用シーン

  1. 01Telegram チャットへの書式付きメッセージ送信
  2. 02写真や文書をキャプション付きで共有
  3. 03チャット情報や最近のボット更新の確認
  4. 04ボットのコマンドメニュー更新

MCP 対応

Rube MCP で最新のツールスキーマを取得し、Composio の Telegram ツールキットにアクセスします。Telegram の有効な接続と、認可されたボットが必要です。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/sickn33/agentic-awesome-skills --skill telegram-automation

インストール後、Claude Code で/telegram-automationを入力して読み込まれたか確認します。

詳細

Rube MCP による Telegram の自動化

Rube MCP を介して Composio の Telegram ツールキットを使用し、Telegram の操作を自動化します。

前提条件

  • Rube MCP が接続されていること(RUBE_SEARCH_TOOLS が利用可能)
  • RUBE_MANAGE_CONNECTIONS を使った有効な Telegram 接続(ツールキット telegram)
  • 現在のツールスキーマを取得するため、必ず最初に RUBE_SEARCH_TOOLS を呼び出すこと
  • Telegram Bot Token が必要です(@BotFather で作成)

セットアップ

Rube MCP の取得:クライアント設定で https://rube.app/mcp を MCP サーバーとして追加します。MCP エンドポイントを利用するには、インストール済みの Rube サービスから返されるプロバイダー接続と認証フローも必要です。URL を追加しただけでは、アカウントへのアクセス権は付与されません。

  1. RUBE_SEARCH_TOOLS が応答することを確認し、Rube MCP が利用可能であることを確認します
  2. ツールキット telegram を指定して RUBE_MANAGE_CONNECTIONS を呼び出します
  3. 接続が ACTIVE でない場合は、返された認証リンクに従って Telegram ボットを設定します
  4. ワークフローを実行する前に、接続ステータスが ACTIVE であることを確認します

主なワークフロー

1. メッセージを送信する

使用する場面:ユーザーが Telegram チャットにテキストメッセージを送信したい場合

ツールの順序:

  1. TELEGRAM_GET_ME - ボットの ID と接続を確認します[必須]
  2. TELEGRAM_GET_CHAT - チャットの詳細を取得し、アクセスを確認します[任意]
  3. 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 チャットで画像やファイルを共有したい場合

ツールの順序:

  1. TELEGRAM_SEND_PHOTO - 画像を送信します[任意]
  2. TELEGRAM_SEND_DOCUMENT - ファイルまたはドキュメントを送信します[任意]

主なパラメーター:

  • chat_id:送信先のチャット ID
  • photo:写真の URL または file_id(SEND_PHOTO 用)
  • document:ドキュメントの URL または file_id(SEND_DOCUMENT 用)
  • caption:メディアに付ける任意のキャプション

注意点:

  • 写真のキャプションは1024文字までです
  • ドキュメントのキャプションも1024文字までです
  • ボット API では最大50MBのファイルを送信できます
  • 写真は Telegram によって圧縮されます。圧縮されていない画像には SEND_DOCUMENT を使用してください
3. チャットを管理する

使用する場面:ユーザーがチャット情報の取得やチャット設定の管理をしたい場合

ツールの順序:

  1. TELEGRAM_GET_CHAT - チャットの詳細情報を取得します[必須]
  2. TELEGRAM_GET_CHAT_ADMINISTRATORS - チャットの管理者一覧を取得します[任意]
  3. TELEGRAM_GET_CHAT_MEMBERS_COUNT - メンバー数を取得します[任意]
  4. TELEGRAM_EXPORT_CHAT_INVITE_LINK - 招待リンクを生成します[任意]

主なパラメーター:

  • chat_id:対象のチャット ID またはユーザー名

注意点:

  • 招待リンクをエクスポートするには、ボットが管理者である必要があります
  • GET_CHAT が返すフィールドは、プライベートチャット、グループ、チャンネルによって異なります
  • 非常に大規模なグループでは、メンバー数が概算になる場合があります
  • 管理者一覧には一般メンバーは含まれません
4. メッセージを編集・削除する

使用する場面:ユーザーが以前に送信したメッセージを変更または削除したい場合

ツールの順序:

  1. TELEGRAM_EDIT_MESSAGE - 送信済みメッセージを編集します[任意]
  2. TELEGRAM_DELETE_MESSAGE - メッセージを削除します[任意]

主なパラメーター:

  • chat_id:メッセージがあるチャット
  • message_id:編集または削除するメッセージの ID
  • text:新しいテキスト内容(編集の場合)

注意点:

  • ボットが編集できるのは、自分のメッセージのみです
  • メッセージを削除できるのは、送信から48時間以内です
  • グループでは、削除権限を持つボットは任意のメッセージを削除できます
  • 編集メタデータが表示される場合があります。編集履歴やコピーが削除されると約束しないでください
5. メッセージを転送して更新情報を取得する

使用する場面:ユーザーがメッセージの転送や最近の更新情報の取得を希望している場合

ツールの順序:

  1. TELEGRAM_FORWARD_MESSAGE - メッセージを別のチャットに転送します[任意]
  2. TELEGRAM_GET_UPDATES - 最近のボットの更新情報/メッセージを取得します[任意]
  3. TELEGRAM_GET_CHAT_HISTORY - チャットのメッセージ履歴を取得します[任意]

主なパラメーター:

  • from_chat_id:転送元のチャット
  • chat_id:転送先のチャット
  • message_id:転送するメッセージ
  • offset:GET_UPDATES の更新情報のオフセット
  • limit:取得する更新情報の件数

注意点:

  • 転送されたメッセージには、元の送信者の情報が表示されます
  • GET_UPDATES が返すのは、最近の更新情報の限られた範囲です
  • チャット履歴へのアクセスは、ボットの権限やチャットの種類によって制限される場合があります
  • 同じ更新情報を二重に処理しないよう、offset を使用してください
6. ボットのコマンドを管理する

使用する場面:ユーザーがボットのコマンドメニューの設定または更新を希望している場合

ツールの順序:

  1. TELEGRAM_SET_MY_COMMANDS - ボットのコマンド一覧を設定します[必須]
  2. TELEGRAM_ANSWER_CALLBACK_QUERY - インラインボタンの押下に応答します[任意]

主なパラメーター:

  • commands:command と description を含むコマンドオブジェクトの配列
  • callback_query_id:応答するコールバッククエリの ID

注意点:

  • BotCommand.command の値には先頭の「/」を含めず、1~32 文字の小文字の英字、数字、またはアンダースコアを使用します。UI にはスラッシュが表示されます
  • BotCommand の説明は 1~256 文字です。現在のツールスキーマを確認してください
  • コールバッククエリには速やかに応答し、有効期限切れのエラーにも対応してください。一律の有効期間があると想定しないでください
  • コマンドを設定すると、コマンド一覧全体が置き換えられます

よく使われるパターン

チャット 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>太字</b>、<i>斜体</i>、<code>コード</code> には parse_mode: 'HTML' を使用します
  • *太字*、_斜体_、`コード` には parse_mode: 'MarkdownV2' を使用します
  • MarkdownV2 では特殊文字をエスケープします:_ * [ ] ( ) ~ > # + - = | { } . !
  • 書式設定のないプレーンテキストでは parse_mode を省略します

既知の注意点

ボットの権限:

  • ボットがやり取りするには、グループ/チャンネルに追加されている必要があります
  • メッセージの削除、招待リンクのエクスポート、メンバーの管理には管理者権限が必要です
  • ボットから会話を開始することはできません。ユーザーが先にボットを開始する必要があります

レート制限:

  • 1 つのチャットで、1 秒あたり約 1 件を超えるメッセージを送信しないでください
  • グループでは 1 分あたり約 20 件までに制限されます。無料の一括配信は、全体で 1 秒あたり約 30 件までです
  • 一括処理では、呼び出しの間に遅延を設けてください
  • 制限に達すると、API は 429 Too Many Requests を返します

チャットの種類:

  • プライベートチャット:ボットとの 1 対 1 のチャット
  • グループ:複数ユーザーのチャット(ボットを追加する必要があります)
  • スーパーグループ:管理機能を備えた拡張グループ
  • チャンネル:配信専用(投稿するにはボットを管理者にする必要があります)

メッセージの制限:

  • テキストメッセージ:最大 4096 文字
  • キャプション:最大 1024 文字
  • ファイルのアップロード:ボット API 経由で最大 50MB
  • インラインキーボードのボタン:1 行あたり最大 8 個

クイックリファレンス

タスクツールのスラッグ主なパラメーター
ボットを確認TELEGRAM_GET_ME(なし)
メッセージを送信TELEGRAM_SEND_MESSAGEchat_id, text, parse_mode
写真を送信TELEGRAM_SEND_PHOTOchat_id, photo, caption
ドキュメントを送信TELEGRAM_SEND_DOCUMENTchat_id, document, caption
メッセージを編集TELEGRAM_EDIT_MESSAGEchat_id, message_id, text
メッセージを削除TELEGRAM_DELETE_MESSAGEchat_id, message_id
メッセージを転送TELEGRAM_FORWARD_MESSAGEchat_id, from_chat_id, message_id
チャット情報を取得TELEGRAM_GET_CHATchat_id
チャット管理者を取得TELEGRAM_GET_CHAT_ADMINISTRATORSchat_id
メンバー数を取得TELEGRAM_GET_CHAT_MEMBERS_COUNTchat_id
招待リンクをエクスポートTELEGRAM_EXPORT_CHAT_INVITE_LINKchat_id
更新情報を取得TELEGRAM_GET_UPDATESoffset, limit
チャット履歴を取得TELEGRAM_GET_CHAT_HISTORYchat_id
ボットコマンドを設定TELEGRAM_SET_MY_COMMANDScommands
コールバックに応答TELEGRAM_ANSWER_CALLBACK_QUERYcallback_query_id

使用する場面

このスキルは、概要で説明されているワークフローや操作を実行する場合に適用できます。

制限事項

  • タスクが上記で説明した範囲に明確に該当する場合にのみ、このスキルを使用してください。
  • 出力を、環境固有の検証、テスト、専門家によるレビューの代わりとして扱わないでください。
  • 必要な入力、権限、安全上の境界、または成功基準が不足している場合は、作業を中断して確認を求めてください。

送信、転送、編集の前に、ボットの識別情報、送信先の正確なチャット ID、メッセージやメディアの内容を確認してください。更新情報の読み取りは、招待、削除、ボットメニューの変更を許可するものではありません。ボット API で一般的なチャット履歴にアクセスできるわけではありません。検出によって実際に返されたツールのみを使用してください。トークンと非公開の転送内容を保護し、ポーリングに上限を設け、結果が不明な送信は再試行する前に状態を確認してください。

これらは標準的なレートの目安であり、保証された処理能力ではありません。retry_after に従ってください。有料の一斉送信には、別途明示的な予算承認が必要です。プライマリ招待リンクをエクスポートすると、以前のリンクが無効になる場合があります。まずその影響を確認してください。送信前に、Telegram Bots FAQを参照し、現在の Bot API とツールの制約を確認してください。

コメント