Serenity の新しい公開投稿を監視する方法
Serenity が話題になりそうな公開投稿を出した場合、議論が広がる前に知りたいことがあります。TwexAPI の Advanced Twitter Search by Page を from:aleabitoreddit と sortBy: Latest で定期実行すると、新しい公開一致を検出できます。
これはストリーミング接続ではなく、ポーリングです。重要なのは状態管理です。取得済みの tweet_id を保存し、初回実行は baseline として扱い、監視開始後に出てきた投稿だけを通知します。
監視の流れ
小さなモニターは、次の順序で動かします。
- 最新の
from:aleabitoreddit結果を取得します。 - 初回実行では
seen_idsを初期化し、通知は送りません。 - 2 回目以降は、各
tweet_idを保存済み ID と比較します。 - Slack、メール、Webhook 通知の前に、元の投稿データを保存します。
- 5 分から 15 分程度の間隔で待機します。
API エンドポイント
POST https://api.twexapi.io/twitter/advanced_search/page
Authorization: Bearer <your_token>
Content-Type: application/jsoncurl --request POST \
--url https://api.twexapi.io/twitter/advanced_search/page \
--header 'Authorization: Bearer <your_token>' \
--header 'Content-Type: application/json' \
--data '{
"searchTerms": ["from:aleabitoreddit"],
"sortBy": "Latest"
}'Python ポーリング例
この例では、制御の流れを示すために seen_ids をメモリに置いています。実運用では、データベース、Redis、または永続化できるローカルファイルを使ってください。
1import time
2import requests
3
4TOKEN = "<your_token>"
5URL = "https://api.twexapi.io/twitter/advanced_search/page"
6HEADERS = {"Authorization": f"Bearer {TOKEN}"}
7seen_ids = set()
8initialized = False
9
10def fetch_latest():
11 response = requests.post(
12 URL,
13 headers=HEADERS,
14 json={"searchTerms": ["from:aleabitoreddit"], "sortBy": "Latest"},
15 timeout=30,
16 )
17 response.raise_for_status()
18 return [tweet for tweet in response.json().get("data", []) if tweet]
19
20while True:
21 latest = fetch_latest()
22
23 if not initialized:
24 seen_ids.update(tweet["tweet_id"] for tweet in latest if tweet.get("tweet_id"))
25 initialized = True
26 print(f"{len(seen_ids)} 件の既存投稿で初期化しました")
27 else:
28 for tweet in reversed(latest):
29 tweet_id = tweet.get("tweet_id")
30 if tweet_id and tweet_id not in seen_ids:
31 seen_ids.add(tweet_id)
32 print("NEW", tweet_id, tweet.get("text", ""))
33
34 time.sleep(300)本番運用チェックリスト
seen_idsはメモリではなく、データベース、キー値ストア、または永続化できるローカルファイルに保存します。- 初回実行を baseline 初期化にするのか、現在見えている投稿も通知するのかを決めます。
- 必要な鮮度と credits 予算に応じて、5 分から 15 分ごとに実行します。
- Slack、メール、Webhook の通知前に生レスポンスを保存します。
- リトライ時に同じ投稿を何度も通知しないよう、アラートの抑制を入れます。
- より広い公開議論の観測には別途キャッシュタグ検索を使います。
関連リソース
免責事項
このモニターは公開投稿を調査用に表示するものです。金融上の主張を評価するものではなく、投資助言でもありません。