本当は「Bash on Ubuntu on Windows」って言うらしい?長げ~よw
チャットワークの過去ログをエクスポートできる【goodbye_chatwork
】をWindows10 ProのBash on Windows(以後BoW)で動かしたので、その時の記録。
goodbye_chatworkの解説ページはこちらです。
参照 ChatWorkからファイルも含めてログをエクスポートしたいならgoodbye_chatworkだ!KDDI ChatWork対応(Qiita)
rubygem環境の準備
goodbye_chatwork
はrubygemでインストールするが、BoWにはrubygemが入っていない。
また、rubyのバージョンが古い(1.9)ので上手く動かないみたいだ。
なので、最新のrubyとgoodbye_chatworkが必要とするライブラリをインストールする必要がある。
gitをインストール
Webプログラマーの朝はGitが無いと始まらない。
…のにBoWには入っていないので入れる。
sudo apt install git
rubyのリポジトリ変更と更新
Ubuntuは「Stable Release Updates Policy」に基づいて安定版(1.9)がaptリポジトリに公開されているが、昨今のインターネッツに公開されているイケてるrubyスクリプトをお使いの方々(ほぼマカー)は最新の2.2等を使っている。
よって、リポジトリの参照先を変更して最新版を入手できるようにする。
リポジトリ変更
sudo apt-add-repository ppa:brightbox/ruby-ng
ローカルリポジトリ更新
sudo apt-get update
更新実施
sudo apt-get install ruby2.2
バージョン確認
fuka@CYAN:~/goodbye_chatwork$ ruby -v
ruby 2.2.6p396 (2016-11-15 revision 56800) [x86_64-linux-gnu]
必須ライブラリのインストール
それぞれの目的とか効果とか聞かれても分かりませんので悪しからず。
不足しているとエラーが出たので入れただけです。
sudo apt-get install ruby2.2-dev
sudo apt-get install g++
goodbye_chatworkのインストール
あとは、基本的に先方のサイトに書いてある通り。
インストーラーのインストーラー?を入れる。
sudo gem install specific_install
goodbye_chatworkを入れる。
sudo gem specific_install https://github.com/hirokishirai/goodbye_chatwork.git
ホームディレクトリに goodbye_chatwork というディレクトリができる。
簡単な使い方
チャットルーム番号の一覧を表示する
まずは抽出対象のチャットルーム番号を知る必要がある。
goodbye_chatwork -i 【チャットワークのメールアドレス】 -p 【チャットワークのパスワード】
とやると、チャットルームの一覧が表示される。
fuka@CYAN:~$ goodbye_chatwork -i xxx@example.com -p PassWord
2017-03-21T23:49:37+09:00 login as 【メアド】 ...
2017-03-21T23:49:37+09:00 load initial data...
2017-03-21T23:49:40+09:00 load account info
*****958 【チャット名A】 19244
*****278 mychat 2
*****542 【チャット名B】 5
*****876 【チャット名C】 6
*****958みたいなのがチャットルーム番号。
19244とかはメッセージ数の模様。
CSVファイルに保存する
チャットルーム番号を確認したら、次のコマンドでチャットルームのメッセージをファイルに保存する。
goodbye_chatwork -i 【メアド】 -p 【パスワード】 -e 【チャットルーム番号】
fuka@CYAN:~/goodbye_chatwork$ goodbye_chatwork -i xxx@example.com -p PassWord -e 12345678
2017-03-21T23:14:13+09:00 login as 【メアド】 ...
2017-03-21T23:14:13+09:00 load initial data...
2017-03-21T23:14:15+09:00 load account info
2017-03-21T23:14:17+09:00 mkdir chatwork_logs
2017-03-21T23:14:17+09:00 export logs 【チャットルーム番号】 ...
2017-03-21T23:14:17+09:00 get old chat 0- ...
2017-03-21T23:14:19+09:00 get old chat xxxxx02581- ...
2017-03-21T23:14:21+09:00 get old chat xxxxx09880- ...
(略)
2017-03-21T23:28:43+09:00 get old chat xxxxx81351- ...
2017-03-21T23:28:44+09:00 create chatwork_logs/【チャットルーム名】.csv
動作速度はかなり遅い。
2万メッセージ近くあったので付いて見てないが、10分は軽く掛かっているのではないか?
ファイルは ホームディレクトリ/goodbye_chatwork/chatwork_logs/【チャットルーム名】.csv
に保存される。
CSVファイルをWindowsで開く
こうして取得したログファイルはWindowsからも参照できる。
エクスプローラーに直接パスを入力すると(画面表示上、隠しファイルONしても表示されない)、BoWのホームディレクトリがWindowsから見ることができる。ズバリここ。
C:\Users\【ユーザー名】\AppData\Local\lxss\home\【ユーザー名】\goodbye_chatwork\chatwork_logs
ここにあるCSVファイルを秀丸なりExcelなり、好きなCSVエディタで開こう。
ちなみに俺はCassavaが至高の一品だと考えている。
参考
下記サイトを参考にさせていただきました。
参照 Ruby 2.xをUbuntuにインストール(Think deeply, Do less, More effective)
参照 ChatWorkからファイルも含めてログをエクスポートしたいならgoodbye_chatworkだ!KDDI ChatWork対応(Qiita)