Linuxのキーボード・マウス自動入力のxautomationを使ってTwitter検索に表示されるツイートを全削除を試した

nogajun
nogajun

_ 最近、Twitterに思うところがあってツイートを削除しています。アカウントは残しておきますが、12年ほど使ってたし全データをダウンロードしたから、もういいかなと思って。

それで黒歴史クリーナーツイートの一括削除ツール!を使って消したけど、なにかおかしい。 Twitter検索から、このような形「(from:ACCOUNT-NAME) until:2019-12-31」で日付を指定して検索するとツイートが出てくる!

とても気持ちが悪くなったので完全に削除できないかと調べると、ツイートの削除ボタンから削除すると出なくなることがわかりました。

対処方法はわかったけれど一つずつの削除は無理だし自動化をするかと考えても、ブラウザ操作の自動化はSeleniumを使ったり、拡張機能のGreaseMonkeyを使ったり、いろいろな方法があります。

それで、ちょっとお試しでできるものは無いかと調べたら、キーボード・マウスの自動入力をするxautomationというのがあったので試してみました。

xautomationは、Debianリポジトリにあるのでaptでサクっと入ります。

使い方は man xautomation に使い方が書いてあるので、それを見ると xte "mousemove 500 500" のような形で指定すれば操作を指定できるそうだけど、xteをつけるのが面倒なので、こんな形でシェルスクリプトにして試しました。 思いっきりbash構文依存なのでshebangはbashです。

#!/bin/bash

tw_operation(){
  while read; do
    xte "$REPLY"
  done <<EOL
mousemove 500 500
mouseclick 1
# みたいな形にxteの操作を「done <<EOL」から「EOL」の間に書く
EOL
}

# bashなら500回繰り返すとき、{1..500}というふうに書けます。sh(dash)にない文法なので注意
for i in {1..500};do
  tw_operation
done

キーボード・マウス入力の自動化なので、条件が変わるとおかしくなるな。

それと、話が横にそれるけれどxautomation関係を検索してて思ったのが、スクリーンショットを撮って画像の差分を取るときにNetpbmやImageMagickを使ってスクリーンショットを撮ればいいのに、わざわざGUIのgnome-screenshotなんか使っていたり(それを使ったクソスクリプトが拡散されてる)、「Xが必要だからサーバーでxautomation使えなーい!」とか書いている人がいたけど「それ、xvfbで解決できんじゃん!」と思ったり。

Linux使う人も世代が変わりましたよね。