LoginSignup
12
3

More than 5 years have passed since last update.

お世話になったあの人とのHipChatプライベートメッセージをいつまでも残しておく方法

Posted at

さよならはいつだってさびしい

HipChat は退会処理をすると、プライベートメッセージは削除されちゃう仕様らしいです(チャットルームの会話ログは残るらしい)
いつまでもプライベートメッセージを残しておきたい、そんな衝動にかられて、30分で作りました。

準備

create new token

HipChat API v2 を使うので、プライベートメッセージを読み取る用のtokenを発行しておきます。

  • https://ほげほげ.hipchat.com/account/api

(URLは適宜読み替えてね)

new_token.png

お世話になったあのひとの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 コマンドとか使うと見やすいです。
時系列降順なので、先頭が最近の会話になってます。
ローカルにファイルが起こせたら、あとはじっくり整形すればいいわけですね。

まとめ

さびしい

12
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
3