さよならはいつだってさびしい
HipChat は退会処理をすると、プライベートメッセージは削除されちゃう仕様らしいです(チャットルームの会話ログは残るらしい)
いつまでもプライベートメッセージを残しておきたい、そんな衝動にかられて、30分で作りました。
準備
create new token
HipChat API v2 を使うので、プライベートメッセージを読み取る用のtokenを発行しておきます。
- https://ほげほげ.hipchat.com/account/api
(URLは適宜読み替えてね)
お世話になったあのひとのIDを取得する
- https://ほげほげ.hipchat.com/people
ここから相手を探します。
- https://ほげほげ.hipchat.com/people/show/1234567
こんなURLのページになったら、末尾がIDです。
プライベートメッセージを取得する
このAPIを使って取得します。
sayonara.sh
#! /bin/sh
flag=true
max=100
token='取得したトークン'
id=相手のID
index=0
trial=0
log='出力先のログ'
date='相手の初出社日'
enddate='相手の最終出社日'
while ${flag}; do
if [ ${trial} -gt 100 ]; then
echo "max trial."
exit
fi
echo ${index}
ret=$(curl -X GET "https://ほげほげ.hipchat.com/v2/user/${id}/history?auth_token=${token}&timezone=Asia/Tokyo&date=${date}&end-date=${enddate}&reverse=false&start-index=${index}&max-results=${max}")
if [[ ${ret} =~ .*(\"items\": \[\]) ]]; then
flag=false
else
index=$(expr ${index} + ${max})
echo ${ret} >> ${log}
sleep 1s
fi
trial=$(expr ${trial} + 1)
done
echo "end"
実行
bash sayonara.sh
思い出がたくさんあるだけ時間がかかります。
確認する
jq コマンドとか使うと見やすいです。
時系列降順なので、先頭が最近の会話になってます。
ローカルにファイルが起こせたら、あとはじっくり整形すればいいわけですね。
まとめ
さびしい