Skip to content

Repository files navigation

SlackUserRelationshipVisualizer

Slackのユーザー同士の関係性を表すcsvファイルを出力するツール。出力したcsvファイルをdraw.ioにインポートするとグラフにできる

動作説明

  1. 設定したトークンで見る権限のあるチャンネルの一覧を取得する
  2. 対象ユーザーとしてSlack有料プランの対象ユーザーの一覧を取得する
  3. 取得した全てのチャンネルから1週間分のメッセージを取得する
  4. 取得したメッセージを元に関係性csvを書き出す
    • メンションしていた場合はメンション元→メンション先 -スレッド内のメッセージの場合はメッセージ送信者→そのスレッド内のそのメッセージより古いメッセージの送信者全員
    • 相対的なメッセージ数の多さによって関係性の強さを5段階で算出する

実行について

事前準備

inputフォルダ内にslackApiToken.txtを作成する。内容はメッセージ取得に使うSlackAPIのトークン。 ユーザートークンを指定するとそのユーザーが見られる全てのメッセージを参照するので効果的。

実行手順

.NETのコンソールアプリとして動作する。 パス指定の都合上、ビルドしてから出来たexeファイルのディレクトリに移動してそこでexeを実行する必要がある。 具体的なコマンドは以下。

  1. dotnet build
  2. cd bin/Debug/net6.0
  3. SlackUserRelationshipVisualizer.exe

毎週やっている運用手順

  1. ビルドして出来たexeを実行する
    • output/relation_forDrawIo.csvが生成されればOK
  2. Googleドライブのファイル置き場を開く
  3. 最新の.drawioファイルを複製する
  4. 複製したファイルの名前を直近1週間を表すものに変更する
  5. 複製したファイルをダブルクリックで開く
  6. 左上の日付オブジェクトのテキストを直近1週間の日付に変更する
  7. 上部のメニューバーから「配置」>「挿入」>「高度な設定」>「CSV」を選ぶ
  8. output/relation_forDrawIo.csvの中身をインポートする
  9. 日付オブジェクトがグラフに被らない様に位置を調整する
  10. png形式でエクスポートする
  11. エクスポートした画像をファイル置き場に保存し、Slackに投稿する

About

Slackのユーザー同士の関係性を表すcsvファイルを出力するツール。出力したcsvファイルをdraw.ioにインポートするとグラフにできる

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages