👀

【Flutter】チャットワークで一括既読するChrome拡張機能を作りました

2023/06/11に公開
13

少し前に、Flutter Webを使って、「チャットワークで一括既読するChrome拡張機能【チャットワーカー】」を作りましたので紹介記事となります。

はじめに:Chrome拡張機能を作ったキッカケ

そもそも、チャットワーカーを開発するキッカケとなったのが、毎日の業務で使うチャットワークにて、不要なメッセージが多すぎてチャットが整理できなかったからです。

良くあるのが、グループには入っているけど全くやり取りをしなかったり、関係ないグループもあり、ただただメッセージが飛んでくるだけという現象。

僕自身、チャットを常に整理しておきたいということもあり、チャットワークで一括既読できる拡張機能を探してみたのですが、どれも古いものばかりで動作しませんでした。

ということで、自分で作ろう!となりました。

実際の動作:チャットワークでTOとピン以外を一括既読

チャットワーカーの機能としては、至ってシンプルに以下のことができます。
またChrome拡張機能なので、チャットワークをアプリではなくブラウザ開いて使うことを前提としています。

  • TO(自分宛のメッセージ)以外を一括既読
  • ピンしたチャット以外を一括既読

実際の動作を見ていただくのが早いかと思いますので、以下の動画をご確認ください。
※雑な動画ですみません...iMovieで隠したいとこだけ無理やり隠しました...

Image from Gyazo

拡張機能内で入力が必要なMYIDなどは特別な設定などなく、誰でもデフォルトで発行されているものです。

チャットワークをブラウザで開く右クリックページのソースを表示で確認できます。

Image from Gyazo

導入方法

GitHubのREADMEに導入方法を画像付きで詳しく説明しています。
※本Chrome拡張機能は、正式にストアに公開されているわけではありませんので、自己責任のもと、ご使用いただければ幸いです。

使用する方が多ければストアへの公開も検討しています!

以下のリンクからZipをダウンロード。(説明も載せてます。)
https://github.com/investment4057/chatwork_extension/releases/tag/v1.2.0

ソースコードをダウンロードする必要があるので、GitHubがわからない方は、以下も参考にしてください。

Image from Gyazo

技術スタック

使用したものは以下のとおりです。

  • Flutter Web
  • JavaScript
  • chrome.storage

メイン言語はFlutterで、dart側からJavascirptの処理を直接呼び出しています。
データの保存は、chrome.storageを使っています。

https://pub.dev/packages/js

https://developer.chrome.com/docs/extensions/reference/storage/

最後に

最後まで読んでくださり、ありがとうございました!

ぜひ業務でチャットワークを使用している方は、ご活用いただければ幸いです。

少しでもイイなと思った方は、本記事にハートやGitHubにスターをいただけると嬉しいです😄

Discussion

り

はじめまして。
こちら拝見し拡張機能を導入してみたのですがうまく動きません。
原因として考えられるものはなにかございますでしょうか…?

り

ご返信いただきありがとうございます。

Chromeの拡張機能を入れ、ページソースからMYID、ACCESS_TOKEN、CLIENT_VERを入力、保存までは無事できました。
ただ、その後一括既読ボタンを押しても「一括既読が完了しました!」とは表示されるのですが既読が実行できない、という状況で止まっておりますm(_ _)m

MatsuMatsu

そうなると、以下の情報が間違っている可能性があるかもです。

  • MYID
  • ACCESS_TOKEN
  • CLIENT_VER

こちら正しく入力して、「保存」してから再度一括既読を試していただくこと可能でしょうか?

り

再度入力し保存した後、一括既読ボタンを押してみましたが反映されずでした。
私以外の他の者でも同様だったため、おそらく入力ミスではないかと思われます。。

MatsuMatsu

ご協力ありがとうございます!

そうなると、チャットワークの仕様が変わってしまい、本拡張機能に影響が出ているかもしれません。
今週いっぱい調査のお時間いただければという感じで、ご迷惑おかけしますが、お待ちいただければ幸いです。

また分かり次第、こちらでご連絡させていただきます🙇

り

承知いたしました。
お手数をおかけし申し訳ございません。

こちらの機能、1年以上ずっと探しており、ネットで見つけたときに本当に嬉しかったです!

私以外にもこの機能を待ち望んでいる人はたくさんいると思いますので、お忙しいところ恐縮ですがご確認のほど何卒よろしくお願いいたします…!

MatsuMatsu

お待たせしており、申し訳ございません。
お手数おかけしますが、以下の手順で再度確認していただくことは可能でしょうか?

僕の方でも拡張機能を削除して再度読み込んで検証してみたのですが、
正しく動作しているようで、詳しい原因を特定できておらずでして...

  1. 現在導入いただいている本拡張機能を削除
  2. 以下のリンク(ページ一番下)から「Source code(zip)」をダウンロード
    https://github.com/investment4057/chatwork_extension/releases/tag/v1.2.0
  3. zipを解凍
  4. Chromeを開きアイコン横の右上の3つのドット → 設定 → 拡張機能を管理から拡張機能のページを開く
  5. デベロッパーモードをオンにして「パッケージ化されていない拡張機能を読み込む」を選択
  6. 先ほど解凍したフォルダ内(chatwork_extension-1.2.0 > build > web) webフォルダを選択
  7. 追加された拡張機能をピンに留めて固定していただき開く
  8. MYID ACCESS_TOKEN CLIENT_VERを入力して保存
  9. 保存が完了してから一括既読してみる(TOとピン留めチャット以外が既読になる)
    もし既読にならなければ、一度拡張機能を閉じて、再度開いてMYIDなどが保存されていることを確認して再度「一括既読」ボタンを押す
    ※チャットグループ数が多くて、「さらに表示」と表示されて隠れているチャットまでは既読できないので、「未読があるチャット」で絞ってから一括既読すると残りも既読になる。
り

toつきが多く、「さらに表示」の部分にtoなしのチャットがあったため確認できずだったのですが、
ただいま「さらに表示」でtoなしを表示した上で実行するとできました!

本当にありがとうございます…!
周りにも広めさせていただきます!!!

り

(差し出がましいお願いで大変恐縮なのですが、toも既読にする、ピン止めされているチャットも既読にするの機能がそれぞれオンオフでできるとものすごく嬉しいです…)
ご検討いただけますと幸甚に存じますm(_ _)m

ネコマムシの旦那ネコマムシの旦那

初めまして。暫く前からこちらの拡張機能が使えない為連絡させていただきました。
何か、対処方法ありましたら教えて下さい。<(_ _)>よろしくお願いいたします。

MatsuMatsu

ご連絡ありがとうございます!
具体的にどのようなところで使えないのか原因を知りたく、教えていただけますでしょうか??

ネコマムシの旦那ネコマムシの旦那

先日の「り」さんと同様の症状で、設定し直しても改善が無い状況です。
お忙しいところ恐縮ですがよろしくお願いします<(_ _)>