tweetpastpost

command module
v0.0.0-...-fcc24c6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 1, 2023 License: MIT Imports: 8 Imported by: 0

README

TweetPastPost

自分の過去ツイートを振り返って呟くツール

これは何

Twitterから公式ダウンロードした過去ログ(Tweet.js)を読み取り、過去の同日における最多いいねツイートを取得します。
Twitter APIを持っていれば黒歴史として疑似RTすることも可能です。

詳しく

Go言語でtweets.jsを全件解析し、下記に該当するツイートを定型文に置換してコンソールに表示するコンソールアプリケーションです。
さらに権限パラメータファイル(oauth.json)にTwitter APIのトークンを記述してある場合は、設定パラメータファイル(settings.json)で指定した定型文を置換してツイートします。
該当するツイートが一つもない場合は「該当なし」とコンソールに出力するだけで終了します。

  • リツイートではなく本人のツイートである
    • 実装できてるはず…。
  • アプリケーション実行時と同日のツイートである
    • JSTで判定
  • 上記に該当するツイートの中で最多いいねである
  • 上記に該当するツイートの中で最新である
    • つまりいいねの得票数が同率の場合は新しい方を採用する
  • いいねの得票数がパラメータの設定値以上である

このアプリケーションに定期的な自動ツイート機能はありません
定期的に自動ツイートしたい場合は、別途用意したサーバやクライアントからCronTabなりタスクスケジューラなりで定期実行してください。
このツールはtweet.jsのみを頼りに集計するため、このファイルを更新しないと刻が止まった状態で過去を振り返り続けます。
どこまで最新を反映したいかによりますが、半年に1回くらいの頻度でtweets.jsを更新するのが良いのではないでしょうか。

使い方(雑)

100億%雑な説明です。
この説明でダウンロードしてコンパイルして実行できる方のみご利用ください。
プログラミングのリテラシがない方の利用は正直なところ難しいと思います。

tweets.jsの取得

データ量が多いので月に1回のみ取得できます。

  1. PCのブラウザでTwitterのサイトにログインする
  2. 画面左の「もっと見る」をクリック
  3. 「設定とプライバシー」をクリック
  4. 「アカウント」設定の「データと許可」から「Twitterデータ」をクリック
  5. 「Twitterデータをダウンロード」下のパスワードを入力
  6. 「確認」をクリック
  7. Twitterからデータが準備できたとメールや通知が来るまで数分~数時間待つ。
  8. すごく大きいzipファイルを同様の操作で遷移した画面からダウンロード
    • 写真そこそこ動画数個の6700ツイートで900MBくらい
  9. zipを展開したフォルダ直下のtweets.jsを取得
Go言語のインストールとコンパイル

Twitter APIの取得

パラメータ

oauth.json

ツイートするためのTwitter APIを記述します。
使いたい方はoauth_sample.jsonをリネームして書き直してください。
各項目の説明はありません。
くれぐれも世界に公開しないよう細心の注意を払ってください

settings.json

ツイートするための個人パラメータファイルです。
公開しても大やけどはしないと思いますが、Twitter IDはバレますのでご留意ください。
messageは1行で好きなように書き換えてください。
作者は#クロレキシータグに何のこだわりもないので、消しても消さなくてもOKです。

  1. is_tweet
    • trueにするとoauth.jsonを使ってツイートします。
  2. user_id
    • Twitterで個人の@以下に該当するIDです。
      疑似RTのURLを生成する時に使用します。
      ご自身のIDに書き換えてください。
  3. min_favos
    • 集計対象とする最小のいいね数です。
      該当するツイートが存在しない場合は何もしません。
  4. message
    • 出力するメッセージのフォーマットです。
      message置換文字列は置換されます。
      1行で記述してください。
message置換文字列
  1. {{year}}
    • 該当する過去ツイートを呟いた年です。
  2. {{month}}
    • 該当する過去ツイートを呟いた月です。
  3. {{day}}
    • 該当する過去ツイートを呟いた日です。
  4. {{favos}}
    • 該当する過去ツイートのいいね数です。
      tweet.jsに記載された数値なので、実行時の正確な値と異なる可能性があります。
  5. {{url}}
    • 疑似RTのURLです。
      設定のuser_idを元にhttps://twitter.com/gunma_no_yaro/status/1116501392477188098のような文字列を出力します。
  6. \n
    • 改行文字です。

免責

MITライセンスなので、良識の範囲内でご利用ください。
利用やフォークして個人情報を公開したことによる不具合や被害は一切保証しません。
機能追加の要望も受け付けません。

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL