Slackのメッセージをバックアップ
Slackにおける自分が閲覧できる範囲のチャンネルやDMをJSON形式でダウンロードできる、slack-dumpというソフトウェアがあります。 フォーク履歴 を見ると、初出は2015年、その後たくさんフォークされてそれぞれ改良が加えられています。
2021年になり、slack-dumpで使っているSlackのAPIに大きな変更がありました。 この変更に追従できていないリポジトリは多く、slack-dumpが使えない状況となっていました。 というわけで、私のほうでフォークして、APIに合わせて大幅に書き換え、2021年現在最新の状態にしました!
こちらがリポジトリです。
安全性が心配でしたら、すべての処理がmain.go
に書かれていますのでご確認ください。
とはいっても、SlackのAPIと実際に通信するパッケージのメソッドを呼んでデータを持ってきて、ファイルに書き込んで圧縮ファイルを作るだけですが…
リリースページ から実行ファイルをダウンロードできます。
実行方法
実行方法はリポジトリのREADME.mdに書かれていますが、こちらでも紹介します。
Tokenの取得
まずはSlackのAPIを使うためにTokenを取得します。 Tokenはワークスペースに導入するアプリを作成することで生成できます。
https://api.slack.com/ にアクセスし、「Create an app」をクリックします。
以下の画面が表示された場合は「Create an app」をクリックします。
「From scratch」をクリックします。
アプリ名と、どのワークスペースに導入するかを指定します。アプリ名は何でもよく、ワークスペースはバックアップしたいワークスペースを選んでください。
左側にある「Oauth & Permissions」をクリックします。
スクロールしていくと、以下の画面になります。
「User Token Scopes」の欄に以下のスコープを追加します。
- channels:read
- channels:history
- groups:read
- groups:history
- im:read
- im:history
- mpim:read
- mpim:history
- users:read
ページの上部に戻り、「Install to Workspace」をクリックします。
許可を求められるので、「Allow」をクリックして許可します。
Tokenが表示されます。これはプログラムで使うので、コピーしておいてください。
Macで実行
Macでの実行方法を説明します。 まず、GitHubからダウンロードしてきただけでは実行権限がないので、以下のコマンドで実行権限を付与します。
[ファイル名]
のところは実際のファイル名(例:slack-dump_1.3.0_Darwin_x86_64)にしてください。
chmod +x [ファイル名]
実行します。
./[ファイル名]
Appleの公証を受けていないため実行をブロックされます。このプログラムを使いたい場合は「キャンセル」をクリックします。
このプログラムを信頼していただけるなら、実行をブロックされたあとに「システム環境設定」→「セキュリティとプライバシー」→「一般」の画面から実行を許可できます。
おわり
大事な会話・消えては困る会話がたくさんある時に、JSON形式で見づらいですが手元に残せますので、ぜひご利用ください。