mcpField
T
telegram-send

telegram-send

github.com/sqrdao生産性137 回インストール2 日前に更新
リポジトリ

telegram-send について

telegram-send は、ボットが過去にやり取りした Telegram グループを調べ、指定したチャットにメッセージを送るエージェントスキルです。単一グループの指定とキーワードによる一括送信に対応します。

主な機能

  1. 01ボットが把握するグループの一覧
  2. 02指定したチャットへの送信
  3. 03キーワード一致グループへの送信
  4. 04Markdown形式のメッセージ

活用シーン

  1. 01対象グループのチャットID確認
  2. 02該当グループへの更新情報の一斉送信

インストール

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

$npx skills add https://github.com/sqrdao/sqrskills --skill telegram-send

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

同梱ファイルscripts/list_groups.pyscripts/send.py

詳細

telegram-send

エージェントの Telegram ボットがアクセスできる Telegram グループやチャンネルにメッセージを送信します。

概要

このスキルを使うと、ユーザーは、ボットが以前にやり取りしたことのある任意の Telegram グループやチャンネルにメッセージを配信するよう、エージェントに指示できます。

必須の環境変数

  • TELEGRAM_BOT_TOKEN — Telegram ボットのトークンです。環境変数に設定されていない場合は、~/.nanobot/config.json の channels.telegram.token から自動検出されます(パスは NANOBOT_CONFIG で変更できます)。

以下のコマンドにある $SKILL_DIR は、このスキルのインストール先ディレクトリを指します。エージェントが自動的に設定しない場合は、コマンドの実行前に telegram-send ディレクトリのパスに置き換えてください。

任意(YouAI ランタイム)

  • YOUAI_API_URL — YouAI バックエンドの URL(ローカルセッションがない場合のグループ検出に使用)
  • YOUAI_TWIN_ID — Twin ID(YOUAI_API_URL と併せて指定する必要があります)

コマンド

既知のグループを一覧表示する
python3 "$SKILL_DIR/scripts/list_groups.py"

ボットがやり取りしたことのあるグループチャットの JSON 配列を返します。

[
  {"chat_id": -1001234567890, "name": "Team Chat", "type": "supergroup"},
  {"chat_id": -987654321, "name": "Marketing", "type": "group"}
]

既知のグループがまだない場合、またはバックエンドに接続できない場合は、[] を返します。

特定のチャットにメッセージを送信する
python3 "$SKILL_DIR/scripts/send.py" <chat_id> "<message>"

例:

python3 "$SKILL_DIR/scripts/send.py" -1001234567890 "Meeting at 3pm today!"

成功時は標準出力に JSON の結果を 1 つ出力して終了コード 0 で終了し、失敗時は終了コード 1 で終了します(診断情報は標準エラー出力に出力されます)。

キーワードに一致するすべてのグループに送信する
python3 "$SKILL_DIR/scripts/send.py" --keyword <substr> "<message>"

既知のグループをすべて取得し、名前でフィルター(大文字と小文字を区別しない部分文字列一致)して、一致するすべてのグループに送信します。

例:

python3 "$SKILL_DIR/scripts/send.py" --keyword crypto "Market update: BTC up 5%!"

グループごとの成功/エラー情報を含む JSON の結果を 1 つ出力します。すべての送信が成功した場合は終了コード 0 で終了し、1 つでも失敗した場合は終了コード 1 で終了します。

使用方法

  1. ユーザーから特定のグループへのメッセージ送信を依頼された場合は、まず list_groups.py を実行して利用可能なグループを確認し、対象のグループ名を chat_id に対応付けます。
  2. 依頼されたグループが一覧にない場合は、ボットはそのグループからまだメッセージを受信していないことをユーザーに伝えます(一覧に表示されるには、ボットをグループに追加し、少なくとも 1 件のメッセージを受信している必要があります)。
  3. 対応付けた chat_id とメッセージ本文を指定して send.py を実行します。
  4. chat_id を推測したり、捏造したりしないでください。
  5. キーワードに一致する複数のグループへの送信をユーザーから依頼された場合(例:「すべての暗号資産グループに送信して」)は、send.py --keyword <substr> "<message>" を使用してください。グループの検索と一斉送信は内部で処理されます。

注意事項

  • このボット/エージェントに少なくとも 1 件のメッセージを送信したグループのみ検出できます。
  • name は、TELEGRAM_BOT_TOKEN を使用して Telegram Bot API(getChat)経由で解決されます。ボットがグループから削除されている場合、name は null になります。chat_id は引き続き有効であり、ボットを再度追加すれば送信に使用できます。
  • 送信を成功させるには、ボットが引き続きグループのメンバーである必要があります。
  • メッセージでは標準的な Markdown 形式を使用できます:**太字**、*斜体*、_斜体_、`コード`、```コードブロック```、~~取り消し線~~。コードスパンはそのまま保持され、文章部分は Telegram HTML に変換されます。

関連するスキル

  • list-telegram-chats — 送信先を決める前に、既知のチャットをすべて一覧表示します

コメント