#ch_alpha というチャンネルに300人が参加している状況で, #ch_beta にも同じメンバーを参加させたいときってありますよね.
5,6人くらいであれば手動でやるところですが,こうも多いと地獄です.
Spreadsheetなどで名簿のデータがあればそこからコピペすると楽ですが,そうでないこともあると思います.
Slackのエクスポートツールを利用して,簡単に登録する方法を見つけましたので紹介します.
フリープランでもできますが,その場合,出力元はパブリックチャンネルである必要があります.
#general からコピーすることで全員を追加することもできますね!
特定Ch.のメンバーをエクスポート
- エクスポートしたいチャンネルが存在するワークスペースの,"設定と権限" 画面を開きます.
URLはこんな感じ.https://(文字列).slack.com/admin/settings - 右上のほうにある,"データのインポート/エクスポート"を開きます.
- "エクスポート"タブをクリック
-
日付範囲をエクスポートする にて, "全履歴" を選択し,"エクスポート開始" をクリック
- 準備ができ次第,Slackに通知が飛びます.
指示に従って,.zipの出力ファイルをダウンロードしてください.
出力ファイルから,メンバー一覧を抽出
- 出力ファイルを解凍の上,任意のテキストエディタで channels.json を開きます.
WindowsならVSCodeやメモ帳,MacならCotEditorあたりがおすすめです. - WindowsならCtrl+F,Macなら⌘+Fで,コピー元のチャンネル名を検索します.
表示位置に飛んだら,そのちょっと下にある
"members": [
の行と,それより上の行を全て消します. - ちょっと下にスクロールすると,
],
の行が出てくると思います.
この行と,それより下の行を全て消します. - 使っているエディタの置換機能を使い,
" を無に置換することで " を消します. - これでユーザーIDの一覧を得ることができました.
Ctrl+A (⌘+A) で全選択,Ctrl+C (⌘+C) でクリップボードにコピーしておきます.
チャンネルにメンバーを追加
- メンバーを追加したいチャンネルのメンバー追加画面を開きます.
- 先ほどクリップボードにコピーしておいたものを,Ctrl+V (⌘+V) で貼り付けます.
自動で参加させたいメンバーが表示されるはずです! - "追加" を押せば完了です!
おわりに
プログラムを組んでAPIをごにょごにょして...という方法もありますが,1回だけでいいからそこまでするのは面倒,ということでどうにかできないか試行錯誤してみた結果です.
もしデータのエクスポート画面にたどり着けない方は,Slackワークスペースの管理者さんにお願いしてみてくださいね.
SlackAdminのみなさんの助けになれば嬉しいです.