前日のポストの成績を毎日まとめて自動ポストします。https://x.doany.io
LGTMは https://github.com/danything/lgtm に分離しました。
𝕏 に投稿した1日を集計して、通信簿として自分のアカウントにポストするツール。
𝕏 でログインして自動ポストを ON にすると、JST で日付が変わったあとに前日分をポストします。
数えるのはその日の自分のポスト (リポストは除く) で、件数と前日比、うちリプライの数、
いいね・リポスト・返信・ブックマーク、インプレッション (合計・平均・最高)、
プロフィールクリックとリンククリック、連続してポストした日数。反応の行だけは常に出ますが
(ゼロもひとつの答えなので)、ほかは数字が出なければ行ごと落ちるので、書くことがなければ
短くなります。末尾に #ポスト通信簿 が付きます。
一度もポストしなかった日は投稿しません。読み取りは1件 $0.005、投稿は1件 $0.015 の課金対象で、 言うことのない日に払う理由がないためです。
自動ポストが報告するのは必ず終わった日なので、ON にした直後と「今すぐ」を押したときだけは その日のここまでを即座にポストします。こちらは0件でも投稿します。
/admin で x.com に何を請求されているか (読み取り数・投稿数・インプレッション数) を
確認できます。開けるのは ADMIN_X_IDS に載っている人と、そこから権限を渡された人だけで、
それ以外には 403 ではなく 404 を返します。ADMIN_X_IDS の管理者は画面からは剥がせないので、
渡した相手が間違いだったときの戻り道になります。
リバースプロキシ (genkan) を先に立ち上げておく
https://github.com/danything/genkan
下記コマンドで立ち上げ
./s.sh icompose.yml は全員共通で、直接編集しません。手元だけの設定は
compose.override.yml に書きます。Docker Compose が自動で読み込んで
compose.yml に重ねるため、起動コマンドは変わりません。このファイルは
gitignore してあります。
# compose.override.yml
services:
xool:
environment:
# 𝕏 のOAuthアプリ。コールバックは https://x.localhost/api/cb
- CLIENT_ID=xxxxx
- CLIENT_SECRET=xxxxx
# OAuth の state に使う任意の文字列
- HASH=xxxxx
# /admin を開ける人。空なら誰も開けません
- ADMIN_X_IDS=xxxxx
# 開発者ポータルの Bearer Token。GET /2/usage/tweets 専用で、
# 管理画面に 𝕏 の実測値を並べるためだけに使います。無くても動きます
- X_BEARER_TOKEN=xxxxx重ねた結果は下記で確認できます。
docker compose config