【コピペだけ】「インプレゾンビ駆逐ボタン」をブックマークに登録する

インプレゾンビを駆逐する方法

先日、以下のX(旧:Twitter)で以下のポストがバズってました。 れおんさん(笑)
このポストに対し、VBAコード書いた後の疲れた頭でこんなリプを送ったところ、予想外にインプレが伸び、いいねもたくさんいただきまして…… ともあれ、私が思ったことはただ一つ

「X民のインプレゾンビへの憎悪は私が思っている以上、いや、怨念の域すら超えているかもしれない」

このことについて深く考えることはしませんでしたが、本日の起床時に不思議なことが起こりました。
夢うつつにインプレゾンビ駆逐ボタンを作成された方が現れ、私にこう言います。

「少しはJSいじれるんでしょ?インプレゾンビを駆逐したきゃ、ショートカット作ればいいじゃん」 これは夢の話で、お会いしたことはないし、相互フォロー関係にあるわけでもありません。 
 が、「変な夢だけど、色々片付いたし、やってみよか」と思い、夢のなかの開発者さんが言ったことを実践してみることにした。

【インプレゾンビ対策】いろいろ方法を考えました

と、こんな感じであれこれアイデアを考えました。
そしてふと……
「そういや、簡単な処理ならブックマークに登録できたような……」
なんてことを思い出した。

『ブックマークレット』

ブックマークレットとは、「簡易的なプログラムをブックマークに登録する機能」。
例えば、WEB画面で選択したボックスに「こんにちは!」と自動入力するプログラムをブックマークに登録したり、特定のWEBページで行う同じ操作をブックマークに登録しておくといったことが可能です。
複雑な設定などが必要と思われるかもしれませんが、超簡単です。
プログラムのコードさえわかっていれば、ただブックマークにそのプログラムを登録するだけ。
大抵のブラウザでブックマークレットを使えますし、何かダウンロードしたり、複雑な設定をする必要もありません。
そして私

「これや!」 ← 埼玉県民

【コピペだけで実装!】「インプレゾンビ駆逐ボタン」をブックマークに登録する方法

やり方です。30秒で終わります。いや、「30秒で支度しな!」か。
以下のプログラムをコピーして、まんまブックマークのURLに入力してください。
javascript:(function(){document.querySelector('[data-testid="block"]').click(); setTimeout(function(){document.querySelector('[data-testid="confirmationSheetConfirm"]').click();},1000); })();

ブックマーク名は何でもいいです。以下の画像では「インプレゾンビ駆逐ボタン」としています。
恐らくどのブラウザでも同じように機能しますが、以下はChromeでの入力例です。 !
インプレゾンビ駆逐ボタンの実装

 最後に保存ボタンをクリックして完了。
そう、終了です。
終了というのは、終わりということです。
だからそうだって!もう設定終わったの!

なお、以下すべてのブラウザで問題なく実行できることを確認しました。
  • Chrome
  • Edge
  • Firefox
  • Brave
  • Vivaldi

【実際にやってみよー】インプレゾンビをブロック!

獲物を探す。
インプレゾンビはインプレッション数の多いトレンドワードに現れます。
岸田首相の長男がまたなんかやらかしたようですが、ま、この人はどうでもいいです。

「おかしい……。モンスターがよく現れるエリアなのに不自然なほど静かだわ……。」
なんて事はなく、速攻でインプレゾンビが見つかりました。
インプレゾンビが現れた!

「見ぃつ~けぇたぁ~ああああ!!!」
駆逐します。

普通に「ブロック」ボタンが表示されてますが、操作は「インプレゾンビ駆逐ボタン」をクリックしただけ。
また画面上の動きを追いやすくするため、プログラムの待機時間を1秒に設定してあります。
なので動きが遅く見えるかもしれませんが、「動きがモッサリしててヤダ」と思われたら、先ほどのプログラムの「1000」というところを好きな数字に変更してください。


javascript:(function(){document.querySelector('[data-testid="block"]').click(); setTimeout(function(){document.querySelector('[data-testid="confirmationSheetConfirm"]').click();},1000); })();

 「1000 = 1000ミリ秒 = 1秒」です。
つまり「500」にすれば0.5秒ですね。
これは通信障害やエラーなどが起こった場合の対策。
「ブロックしますか?」のポップアップが表示されないうちに次の処理を実行しないよう、ちょびっとだけ待機させてるというワケです。
ただポップアップが表示されなかったりしたら、そもそもインプレゾンビ駆逐ボタンは機能しないはずなので、秒数指定自体が不要かもしれないです。
以下、秒数指定を失くしたプログラムコードです。


javascript:(function(){document.querySelector('[data-testid="block"]').click();document.querySelector('[data-testid="confirmationSheetConfirm"]').click();})();

【プログラム解説】超弱小個人開発者なので分かる範囲で説明

さて、「他人が作ったプログラムなんて怪しくて使えない!」なんて方もいらっしゃるでしょう。
ご安心を。
私自身がそんなに高度な技術を持ってないし、紹介したコードに悪意的なプログラムなんて1㎜も仕込んでません。
ただ「○○さんをブロックのボタンをクリック → ブロックするをクリック」という操作をプログラムで実行してるだけです。
先ほど1行で書いていたプログラムコードをプログラマーが読む用に改行したのがこちら。


javascript: (function() {
	document.querySelector('[data-testid="block"]').click();
	setTimeout(function() {
	    document.querySelector('[data-testid="confirmationSheetConfirm"]').click();
	}, 1000);
})();

このコードを命令別に分解すると以下のようになります。

javascript:(function(){document.querySelector('[data-testid="block"]').click();})();
javascript:(function(){document.querySelector('[data-testid="confirmationSheetConfirm"]').click();})();

まず1行目ですが、以下の画面の「○○(アカウント名)さんをブロック」というボタンをクリックするコードです。
インプレゾンビ駆逐ファーストアタック

このボタンは「data-testid="block"」というidだったので、「それをクリックしろ!」という命令文を書いたというワケです。
2行目のコードも同じで、「data-testid="confirmationSheetConfirm"」というidをクリックするように命令しています。
「data-testid="confirmationSheetConfirm"」は「ブロック」のボタンですね。
インプレゾンビセカンドアタック

つまりjavascriptというプログラム言語の記述ルールに沿って、2行のプログラムコードを1行にまとめ、以下の命令を実行しているということです。

「○○(アカウント名)さんをブロックというボタンをクリックしたら、次にブロックというボタンをクリックしろ!」

最後にこの1行にまとめたコードをブックマークのURLに登録して完了です。

【ちょい応用とちょい注意点】私、失敗するんで

実際にインプレゾンビ駆逐ボタンを操作している動画を見て、こう思いませんでした?

「そんなんしなくても、素直に『メニュー→ ○○さんをブロック → ブロック』の手順でいいじゃん」

そっすね。
私もそう思います。
ブックマークの位置が遠いと余計にそう思うでしょう。
ただブラウザによっては「ブックマークを開く」という操作にショートカットを登録できたりするので「メニューをクリック → ショートカット」 という2操作で即座にインプレゾンビを駆逐できます。
Chromeでも拡張機能でショートカットをカスタマイズできるようですが、オススメはVivaldiというブラウザ。
ここでは解説しませんが、Vivaldiは画面や操作などをかなり細かくカスタマイズできるブラウザです。
しかも、動きが激軽 & 広告ブロック機能が付いてるので、最近ハマってるブラウザです。
超オススメー

あと今回ご紹介したインプレゾンビ駆逐ボタンですが、当然ながらX側でUIの仕様変更があれば使えなくなる可能性があります。
ま、しばらくは大丈夫かなーとは思ってますが、予めご了承いただければと思います。
あと再度申しますが、私、プログラマーを名乗るなんて極めておこがましいレベルの個人開発者なので、本件のプログラムを実装するにあたってはすべて自己責任にてお願いします。
別に何もヤバそうな点はないプログラムではあるものの、プロにしてみたら「クソが!」と思う人もいるかもですので、もし何かあれば私のXアカウントで優しくご教示いただけると幸いです。
Next Post Previous Post