tgstat について
tgstatは、Telegramのチャンネルやグループに関する公開TGStat情報を調査するスキルです。読み取り専用の検索や確認に対応し、公開指標やウェブ検索の範囲に関する制限も示します。
主な機能
- 01テーマ別に公開ソースを検索
- 02チャンネルとグループのプロフィール確認
- 03チャンネルとグループのランキング閲覧
- 04公開された利用者数や反応指標の確認
- 05アウトリーチ調査の手順
活用シーン
- 01テーマに関連するTelegramソースの発見
- 02公開チャンネルのリーチや活発度の比較
- 03提携候補の公開情報の確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ acedatacloud/ skills --skill tgstatインストール後、Claude Code で/tgstatを入力して読み込まれたか確認します。
同梱ファイルscripts/tgstat.py
詳細
TGStat リサーチ
公開されている TGStat の調査には、scripts/tgstat.py を使用します。Python の標準ライブラリのみを使用します。内部では、プラットフォームのレンダリングサービス(ヘッドレス Chromium)を介して TGStat のページを取得し、公開サイトのボット対策を回避します。そのため、各検索には数秒かかることがあります。Bash の呼び出しごとにシェルが新しく起動するため、各呼び出しの開始時にスクリプトのパスを解決してください。
TGSTAT="$SKILL_DIR/scripts/tgstat.py"; [ -f "$TGSTAT" ] || TGSTAT=$(find /tmp -maxdepth 8 -path '*/skills/*/scripts/tgstat.py' 2>/dev/null | head -1)
[ -f "$TGSTAT" ] || { echo "tgstat script not found (SKILL_DIR=$SKILL_DIR)" >&2; exit 1; }
python3 "$TGSTAT" profile
コネクターは $TGSTAT_USERNAME を設定します。これはログイン認証情報ではなく、公開チャンネル/グループのデフォルトの対象としてのみ使用されます。環境変数全体を表示したり、このユーザー名をユーザーが Telegram アカウントを所有している証拠として扱ったりしないでください。
トピックからソースを見つける
まず search を実行します。
TGSTAT="$SKILL_DIR/scripts/tgstat.py"; [ -f "$TGSTAT" ] || TGSTAT=$(find /tmp -maxdepth 8 -path '*/skills/*/scripts/tgstat.py' 2>/dev/null | head -1)
[ -f "$TGSTAT" ] || { echo "tgstat script not found (SKILL_DIR=$SKILL_DIR)" >&2; exit 1; }
python3 "$TGSTAT" search "Claude API" --type all --language English --country US
公開モードでは、このコマンドは web_queries を返します。クエリごとに web_search を1回呼び出してから、次の手順を実行します。
- 公開されている
tgstat.comの地域別ホストとt.meの結果だけを残します。 - 公開されている
@usernameの値を抽出し、大文字と小文字を区別せずに重複を除外します。 - タイトル/スニペットがトピックに直接一致する結果を優先します。
- 候補リストの各項目を
infoまたはstatで確認してから報告します。 - ソース URL を含め、公開検索エンジンのインデックスでは TGStat のデータベース全体を網羅できないため、見つけられない結果がある可能性を伝えます。
TGStat 独自のキーワード検索結果エンドポイントにはサインインが必要です。これを回避したり、非公開の AJAX エンドポイントを再生したり、公開モードで TGStat のインデックス全体を検索できると主張したりしないでください。
--language と --country はウェブインデックス向けの検索語であり、TGStat データベースのフィルターとして保証されるものではありません。
公開ランキングを閲覧する
ユーザーが明確なキーワードを指定せず、大規模または活発な公開ソースを求めている場合は、ランキングを使用します。
TGSTAT="$SKILL_DIR/scripts/tgstat.py"; [ -f "$TGSTAT" ] || TGSTAT=$(find /tmp -maxdepth 8 -path '*/skills/*/scripts/tgstat.py' 2>/dev/null | head -1)
[ -f "$TGSTAT" ] || { echo "tgstat script not found (SKILL_DIR=$SKILL_DIR)" >&2; exit 1; }
python3 "$TGSTAT" rankings --type channel --limit 20
python3 "$TGSTAT" rankings --type chat --limit 20
python3 "$TGSTAT" rankings --type channel --query crypto --limit 10
チャンネルのカードには、購読者数、1件あたりの投稿リーチ、引用インデックスが表示される場合があります。チャットのカードには、参加者数、直近のメッセージ数、MAU が表示される場合があります。これらの指標は現在の公開スナップショットであり、時系列データではありません。
公開 TGStat ページでは、認証またはレート制限の中間ページが断続的に返されることがあります。rankings が status: unavailable を返した場合は、出力された web_fetch_url を試してから、その web_queries を web_search で実行してください。これらの結果は、TGStat の確定的なランキングではなく、ウェブインデックスから見つかった結果として示してください。
既知のチャンネルまたはグループを調べる
公開されている @username、ユーザー名のみの形式、t.me/<username> リンク、または TGStat エンティティ URL を指定できます。対象を省略すると、コネクターから $TGSTAT_USERNAME を取得して調べます。
TGSTAT="$SKILL_DIR/scripts/tgstat.py"; [ -f "$TGSTAT" ] || TGSTAT=$(find /tmp -maxdepth 8 -path '*/skills/*/scripts/tgstat.py' 2>/dev/null | head -1)
[ -f "$TGSTAT" ] || { echo "tgstat script not found (SKILL_DIR=$SKILL_DIR)" >&2; exit 1; }
python3 "$TGSTAT" info
python3 "$TGSTAT" info @durov
python3 "$TGSTAT" stat https://t.me/example_public_chat
公開モードでは、info/stat が対象をチャンネルまたはチャットのどちらかとして特定し、公開されている情報(タイトル、説明)と、表示されている購読者数/参加者数を返します。より詳細なエンゲージメント指標(投稿あたりの平均リーチ、引用インデックス、ER)は TGStat 上でクライアント側にグラフ表示されるため、公開トップ評価に掲載されているエンティティのみ取得できます。その場合、コマンドはランキングのスナップショットから結果を補完します。指標が空または存在しない場合は、TGStat の公開ページで確認できなかったことを意味します。これを全統計として扱わないでください。大規模な公開ソースのリーチ/引用インデックスが必要な場合は、rankings を使用してください。
個別のチャンネル/チャットページは、ランキングページよりも強力にボット対策されています。そのため、info/stat の検索で「render blocked」/「could not render」エラーが返されることがあります。処理はすぐに失敗します(Bash のタイムアウトより十分短時間です)。1回再試行するか、はるかに信頼性の高い rankings と search に切り替えて情報を見つけてください。
広告の選定では、購読者数だけではなく、関連性の高いリーチ/活動度で順位付けしてください。購読者数が多くてもリーチやチャットの MAU が低い場合、オーディエンスが非アクティブ、または水増しされている可能性があります。指標は見込み客の質を保証するものではなく、判断材料として提示してください。
接続済みプロフィールを確認する
TGSTAT="$SKILL_DIR/scripts/tgstat.py"; [ -f "$TGSTAT" ] || TGSTAT=$(find /tmp -maxdepth 8 -path '*/skills/*/scripts/tgstat.py' 2>/dev/null | head -1)
[ -f "$TGSTAT" ] || { echo "tgstat script not found (SKILL_DIR=$SKILL_DIR)" >&2; exit 1; }
python3 "$TGSTAT" profile
profile は、対象を指定しない info と stat で使用される、正規化された公開ユーザー名を報告します。アカウントの所有権を確認したり、Telegram/TGStat に対して認証したりするものではありません。
アウトリーチ調査ワークフロー
見込み顧客の開拓やパートナーシップの調査では、次の手順に従います。
- 広範な
AI関連の語句だけでなく、問題や役割を絞り込んだキーワードをいくつか検索します。 - まず関連性に基づいて情報源を候補に挙げ、次に対象者層、リーチ、活動状況を確認します。
- 公開されている各情報源を検証し、根拠となる URL を記録します。
- 各情報源を、チャンネル、グループ/チャット、不明のいずれかに分類します。
- 推奨するアプローチと適合する理由を添えて、確認用のキューを作成します。
- 別のコネクターを通じてメッセージを送信する前に、必ず人間の承認を得ます。
安全性と制限事項
- 読み取り専用です。このスキルは、チャンネルやグループへの参加、招待リンクの取り込み、メッセージの送信、メンバーの追加、メンバーリストのダウンロードを行いません。
- 非公開の招待リンク(
t.me/+...、joinchat/...)やメッセージリンクは拒否します。 - 迷惑な一括アウトリーチを自動化したり、Telegram/TGStat の制御を回避したりしないでください。
- 公開ページや HTML は変更されることがあります。解析に失敗した場合は、
web_fetchを使って公開ページを 1 件だけ取得し、そのページに表示されている値のみを報告してください。 - 公開ウェブ上の検索結果は不完全であり、地域別の TGStat ページでは内容が異なる場合があります。
$TGSTAT_USERNAMEは公開プロフィールの情報として扱い、認証情報としては扱わないでください。