Nostr Timeline Fetch
迷ったらまず scripts/nostr_timeline.mjs を叩く。ライブラリ不要でWebSocketだけで取る。
Quick start
- •あるユーザーのフォローTLを取得(最新50件)
bash
node scripts/nostr_timeline.mjs \ --relay wss://relay.damus.io \ --npub npub1... \ --limit 50
- •hex pubkey指定(64 hex)でもOK
bash
node scripts/nostr_timeline.mjs --relay wss://relay.damus.io --pubkey <hex> --limit 50
Output
- •デフォ: 読みやすいテキスト
- •
--format jsonl: 1行1イベント(後処理しやすい) - •
--format md: Markdown(貼り付け向け)
Notes / Gotchas
- •フォロー取得は
kind:3の最新1件を使う(tags: [ ["p", <pubkey>] ... ])。 - •TL取得は
REQのauthorsにフォローpubkey配列を入れてkinds:[1]を引く。 - •Relayによっては著者数が多いと弾かれるので、必要なら
--maxAuthorsで分割する(スクリプト側でチャンクREQ)。 - •初回取得完了は
EOSEを待つ。タイムアウト時は部分結果で出す(--timeoutMs)。
Parameters (script)
- •
--relay <wss://...>(repeatable) - •
--npub <npub...>or--pubkey <hex> - •
--limit <n>(default 50) - •
--since <unix>/--until <unix>(秒) - •
--format text|md|jsonl - •
--includeReposts(kind:6も拾う) - •
--timeoutMs <ms>(default 8000) - •
--maxAuthors <n>(default 250)
必要なら skills/nostr-search の「REQ→EVENT→EOSE」基本フローも併用。