mcpField
T
telegram

telegram

github.com/sanjay3290生産性44886 回インストール7 週間前に更新
リポジトリ

telegram について

Bash ベースの Telegram スキルで、通知やファイルの送信、返信の取得、質問後に回答を待つ承認フローに対応します。curl と jq を使い、Bot token で設定でき、Claude Code hooks も構成できます。

主な機能

  1. 01メッセージや通知の送信
  2. 02ファイル送信と写真の自動判別
  3. 03受信メッセージの取得
  4. 04選択肢付き質問とタイムアウト
  5. 05複数の Bot と宛先の設定

活用シーン

  1. 01Claude が入力を求めた際の Telegram 通知
  2. 02デプロイ完了通知の送信
  3. 03デプロイ前の Telegram 承認取得

インストール

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

$npx skills add https://github.com/sanjay3290/ai-skills --skill telegram

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

同梱ファイルREADME.mdscripts/telegram.sh

詳細

Telegram

Telegram に更新情報、アラート、ファイルを送信し、返信を読み取り、質問して回答を待つ承認フローを実行します。純粋な bash + curl + jq で動作し、ボットトークン以外のインストールは不要です。

初回起動時に scripts/telegram.sh setup を実行してください(BotFather の手順を案内します)。

コマンド

scripts/telegram.sh send "Deploy finished ✅"                    # basic alert
scripts/telegram.sh send "low priority" --silent                # no notification sound
scripts/telegram.sh send "*bold* alert" --format md             # MarkdownV2 (falls back to plain)
scripts/telegram.sh send "hi" --to alerts --bot work            # named target + named bot
scripts/telegram.sh file report.pdf "Q3 report"                 # document (photos auto-detected)
scripts/telegram.sh read                                        # new incoming messages since last read
ANSWER=$(scripts/telegram.sh ask "Deploy to prod?" --options "Yes,No" --timeout 300)
# exit 0 = answered (stdout = answer), 2 = timeout

設定

環境変数が優先され、次に ~/.config/telegram/config(モード 600)が使われます。

TELEGRAM_BOT_TOKEN=123:ABC...     # default bot
TELEGRAM_CHAT_ID=987654321        # default target
BOT_ALERTS_TOKEN=456:DEF...       # --bot alerts   (add via: setup --bot alerts)
TARGET_FAMILY=-100987...          # --to family    (any chat/group/channel id)

返信と回答は、設定済みのチャット ID からのもののみ受け付けます。

Claude Code フック(settings.json)

Claude が入力を必要とするときと、処理を完了したときに、スマートフォンに通知します。

{
  "hooks": {
    "Notification": [{"hooks": [{"type": "command",
      "command": "~/.claude/skills/telegram/scripts/telegram.sh send \"🔔 Claude needs input in $(basename \\\"$PWD\\\")\""}]}],
    "Stop": [{"hooks": [{"type": "command",
      "command": "~/.claude/skills/telegram/scripts/telegram.sh send \"✅ Claude finished in $(basename \\\"$PWD\\\")\" --silent"}]}]
  }
}

任意のスクリプト/自動化で承認ゲートを設定します。

if [ "$(scripts/telegram.sh ask 'Deploy to prod?' --options 'Yes,No')" = "Yes" ]; then
  ./deploy.sh
fi

コメント