UbuntuでChatWorkのログを保存

ChatWorkのログをローカルに保存したいときだってある。
有料で使っててもよくダウンしてるからいっそ乗り換えてやろうとか云々…

けれどエクスポート出来るのは、カネ払っている側だけである。
会社が払って使っているなら、一般ユーザの社員など自分の分だけでも落とすことさえ通常装備では出来やしない…

そんなときに便利なのが、こちら『GitHub - swdyh/goodbye_chatwork: Chatwork(chatwork.com) log downloader』!

だけどUbuntuで巧く動かない!   のを対応したメモ。
※当方『仮想環境(VirtualBox)』上の『Ubuntu』です1。

2022年1月某日、このままでは使えなくなっていることを確認!
詳しくは一番下へ

Goodbye Chatworkインストールの手順

基本的には『ChatWorkからファイルも含めてログをエクスポートしたいならgoodbye_chatworkだ!KDDI ChatWork対応 - Qiita』に書いてある通り

sudo gem install goodbye_chatwork

sudo apt-get update
sudo apt-get install goodbye_chatwork

で実行出来れば万歳。でも多分

E: Unable to locate package goodbye_chatwork

になる。

その場合は仕方ないからソースから実行する。
GitHub - swdyh/goodbye_chatwork: Chatwork(chatwork.com) log downloader
からソース落としたディレクトリ(『goodbye_chatwork.gemspec』のある場所)に移動。

おとなしくgemを使うとして、Rubyが必要になるからインストールしておく。

既Rubyがインストールしてある場合においても、追加で『ruby-devel』というのを入れないと『.gemspec』の『.gem』化に失敗する。

なので『ruby-devel』を入れるべく下記を実行

sudo gem install rubygems-update
sudo apt-get install ruby-dev

『goodbye_chatwork.gemspec』の記述がUbuntu対応の書き方ではないので

WARNING: open-ended dependency on rspec (>= 0, development) is not recommended

等出ちゃうので『goodbye_chatwork.gemspec』の下の方にある記述を下記のように一部書き換える。

  spec.add_development_dependency "rake", "~> 0"
  spec.add_runtime_dependency "faraday", "~> 0"
  spec.add_runtime_dependency "faraday-cookie_jar", "~> 0"

これで下記2文でインストール可能となる。

sudo gem build goodbye_chatwork.gemspec
sudo gem install goodbye_chatwork

使ってログを取得してみる

ログを取得するには『ルームID』が必要になる

goodbye_chatwork -i 【登録メールアドレス】 -p 【登録パスワード】

でルームIDの一覧を取得することが出来る

ブラウザでURLバーに表示された『https://www.chatwork.com/#!rid9999999』の『rid』以下の数字がルームIDなので、別に一覧取得しなくても大丈夫。

ルームIDを得たら下記でテキストログとファイルが落とせる。

goodbye_chatwork -i 【登録メールアドレス】 -p 【登録パスワード】 -x 【ルームID】

自分がアクセスできるログを全て落とす下記のようなコマンドもある

goodbye_chatwork -i 【登録メールアドレス】 -p 【登録パスワード】 -x all

実際は詰まることもある

夜に実行して放置していたからか、
はたまたログの量が多かったからか、
原因の詳細は不明ではあるが、アクセスtimeoutで強制終了が発生した。

いつもいつでもうまくゆくなんて保証はどこにもないけど
(そらそうじゃ)※ポケモン20th
出来たらイイね!

くらいの気持ちの余裕を持って、使うことをおススメします。

Goodbye Chatworkが使えない!代わりの方法

2022年現在Goodbye Chatworkが使えない

2022年某日、またChatworkのログを残して、グループ退散したい機会ができた。

最後に使ったのって、2017~2019年くらい?

さすがに前の環境は残っていないし、仮に残っていても既に使えない。
なので、現状にインストールし直した。

インストールまでが、バージョン諸々の関係で、上記以外にもやること増えてて、すごく大変だった。
※結果的に使えなかったから、インストールまでの追加手順は省略しまーす。

すごく苦労したのに、何度試しても使えなかった。

なので、ソースを見た結果

原因は…
ChatWork、当時とログインの方法変わってんじゃん

「私はロボットではありません」(reCAPTCHA)だな…
コレは…

ちょっとしたあれなら、改造して使おうと思っていたんですけどね~
これは、骨が折れるわぁ…

Oauth2とかログインAPI使ってるんじゃねえのかよぉ…

なので諦めて、他の手段を取ることにしました。
めんどくさいし。

ブラウザ使ってログを取得しよう!

色々試した結果、一番カンタンで間違いない取得方法が、ブラウザを使う方法だった。

⇩それがコチラです。
コンソールを使って指定のチャットワーク部屋のメッセージをすべて取得する。 · GitHub

使い方を簡単に説明すると

  1. ブラウザで、Chatworkにログインする
  2. 右クリックメニューの『検証』等『開発者ツール』を選択。
  3. そのなかにある『コンソール』タブを選択する。
  4. Githubのソースを、欲しい情報に合わせて書き換えて、貼り付ける
  5. なんか色々動いた結果『コピー』とでるので、ポチッと押す
  6. テキストに貼り付けて保存

ちゃんとしたページ作ろうかと思っていたんだけど、めんどくさくなって結局1ヶ月たった。

⇩詳しい使い方のページがあったので、どうぞご覧ください。
コンソールを使って指定のチャットワーク部屋のメッセージをすべて取得する。 - Qiita

ブラウザはChrome・Opera・Edgeで試して、全部動きました。
他のブラウザは自分で試してみてください。

件数の調整は、ある程度効きますね。
最初から取れたり、近々だけ取得したりしてみたので。

最低限の情報は残せるので、そのまま使えばいいと思いまーす。

コメント

タイトルとURLをコピーしました