telegram-send について
telegram-send は、ボットが過去にやり取りした Telegram グループを調べ、指定したチャットにメッセージを送るエージェントスキルです。単一グループの指定とキーワードによる一括送信に対応します。
主な機能
- 01ボットが把握するグループの一覧
- 02指定したチャットへの送信
- 03キーワード一致グループへの送信
- 04Markdown形式のメッセージ
活用シーン
- 01対象グループのチャットID確認
- 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 で終了します。
使用方法
- ユーザーから特定のグループへのメッセージ送信を依頼された場合は、まず
list_groups.pyを実行して利用可能なグループを確認し、対象のグループ名をchat_idに対応付けます。 - 依頼されたグループが一覧にない場合は、ボットはそのグループからまだメッセージを受信していないことをユーザーに伝えます(一覧に表示されるには、ボットをグループに追加し、少なくとも 1 件のメッセージを受信している必要があります)。
- 対応付けた
chat_idとメッセージ本文を指定してsend.pyを実行します。 chat_idを推測したり、捏造したりしないでください。- キーワードに一致する複数のグループへの送信をユーザーから依頼された場合(例:「すべての暗号資産グループに送信して」)は、
send.py --keyword <substr> "<message>"を使用してください。グループの検索と一斉送信は内部で処理されます。
注意事項
- このボット/エージェントに少なくとも 1 件のメッセージを送信したグループのみ検出できます。
nameは、TELEGRAM_BOT_TOKENを使用して Telegram Bot API(getChat)経由で解決されます。ボットがグループから削除されている場合、nameはnullになります。chat_idは引き続き有効であり、ボットを再度追加すれば送信に使用できます。- 送信を成功させるには、ボットが引き続きグループのメンバーである必要があります。
- メッセージでは標準的な Markdown 形式を使用できます:
**太字**、*斜体*、_斜体_、`コード`、```コードブロック```、~~取り消し線~~。コードスパンはそのまま保持され、文章部分は Telegram HTML に変換されます。
関連するスキル
- list-telegram-chats — 送信先を決める前に、既知のチャットをすべて一覧表示します