📝

𝕏(Twitter)のホームで最新ツイートを自動で取得するためのユーザースクリプト

2023/08/18に公開

はじめに

タイトルのスクリプト自分用に作っていたので共有です。
https://greasyfork.org/ja/scripts/473371-twitter-autoload
取り急ぎ公開用にこまごま変更したので、おかしな動作あればコメントいただければ修正いたします。
なおコードは以下に置いているので好きにいじってもらっても構いません。
https://github.com/natsuyasai/TwitterAutoReloadScript

動作する画面

機能など

function

ステータス

一番左の●印です。
緑なら稼働中
灰色なら停止中
停止中となる条件は以下通りです。

なお●部分を押下すると、右側にあるコントロールの表示/非表示を切り替えられます。

切り替えボタン

ON/OFF表示のボタンです。
ONの時に押下すると一定周期の更新を開始、OFFの時に押下すると一定周期の更新を停止します。
またステータスの切り替わりとも連動します。
そのため、更新無効時(スクロール中など)はONにできません。

周期更新

更新周期の変更を行います。
以下の周期が設定可能です。
5秒
10秒
15秒
45秒
1分
2分
3分
5分
10分

仕組み

𝕏のホーム画面では、以下キャプチャのように「おすすめ」や「main(リスト)」が並んでいるタブのうち、アクティブなタブの要素のアトリビュートが「aria-selected="true"」となっています。
そのため、指定した周期でこのタブ領域のaタグ要素うち、「aria-selected="true"」となっている要素に対してclickイベントを発火させるようにしています。
function

おまけ1

vivaldiの用に複数タブを1画面に表示できれば、複数リストを同時に確認できてdeckのように使えたりします。
(Edgeでも最新で2個まで同時に表示できるようになっています)
vivaldi
あとは「Control Panel for Twitter」や「Stylus」あたりを入れて色々見た目も調整していければほどほどに使える状態にはなるかと。

おまけ2

(2023/08/20追記)
タブタイリングで表示したとき、各タブに投稿欄とサイドバーが表示されるのが邪魔でした。
そのため、指定したタブを表示しているとき以外は投稿欄とサイドバーを非表示にするスクリプトも作成しました。
こちらは独自要素があったりメインタブを指定するUI等ないので、greasyforkでは公開してません。
以下URLから取得後、各自スクリプトの上部にある「EnableTabName」に自身が指定したいタブ名を設定してもらえれば動くと思います。
https://github.com/natsuyasai/RemoveUnnecessaryAreaForTwitterScript/raw/main/RemoveArea.user.js

vivaldi2

Discussion