Chatworkのチャットを1クリックでミュートできる、ちょっとしたスクリプトをかきました
e2infoではコミュニケーションツールとして、Chatworkを使っています。運用・保守に関するアラートもChatworkのチャットに、このように投稿されます。
ただ、自分が関わっていないプロジェクトの監視チャットなど、必要のない通知も未読として残り続けてしまいます。そのため、保守に関わっていない案件はミュートするようにしています。単に設定ボタンから設定すればよいだけですが、チャネルの数が多いとちょっとした手間です。そこで、手軽にチャットをミュート出来るようにしました。
manifest.jsonなどを書いてブラウザの拡張機能にしてもよいのですが、管理が面倒なので ScriptAutoRunner という任意のページで自分で設定したJavaScriptを実行してくれる拡張機能を使います。
JavaScriptのコードがこちらです。
https://gist.github.com/kishimotonico/1af106be7ab9ea421d1b5dbbc04d9457
このコードを画像のようにコピペします。コード本文の下に “www.chatwork.com” と設定することで、Chatworkでのみ有効になります。
これでChatworkの適当なチャットを開くと、右上の設定アイコンの右に新しくミュートボタンが追加されます。
このボタンを押すと、
- 歯車アイコンをクリックして、設定ダイアログを開く
- ミュートのチェックボックスをクリックする
- 保存ボタンをクリックする
の一連の動作を自動で行います。
「ミュートのチェックボックスをクリックして、保存」という動作なので、ミュートのON/OFFがトグルされます。ミュート解除したいときも同じく、ミュートボタンをクリックすれば可能です。
おわりに
このコードは入社した直後、大量にあるチャットをミュートしたくてて書いたものでした。今でも使えているので、ブログに残して供養しておきます。
ChatworkはReactを使ったSPAのようなので、このコードはちょっと無理やりな方法でボタン追加やミュート機能をしています。そのためいつまで動くかも分かりませんが、大量のチャットをミュートしたい方は自己責任の上でお使いください