チームメンバー全員を新しいSlackチャンネルに招待するにはどうすればよいですか


42

すべてのユーザー(チーム全体)を新しいSlackチャンネルに招待することは可能ですか?一度に招待できる人数には制限があるようです。


関連する。(可能性のある重複?)チャネルに複数のスラックのユーザーを招待
エール

ええ、それは関連していますが、実際には重複していません。その質問は私の問題の解決策にはなりません。
エイブラム

1
マルチワークスペースソリューション(Slack Enterprise Grid)を使用している場合、ユーザーリストにはワークスペース外のユーザーが含まれている場合があります。#channelがワークスペース固有の場合、これらのソリューションはすべてのユーザーをチャネルに追加する可能性があります。
Choovermonium

回答:


3

これは、と最終的には可能である/invite @listname-あなたが入力すると/invite @、オートはあなたに「人を招待し、」リンクを介してより多くの選択肢を与える示唆しています。


42

@Abramソリューションが機能しなくなったので、少し遊んだ。これは今私のために部分的に動作しますが、あなたはそれを数回実行する必要があるかもしれません

彼の指示:適切なチャンネルを参照し、このスクリプト(下)をChrome / Firefox開発コンソールに貼り付けてEnterキーを押します。次に、完了するまでスクリプトが実行されるのを待ちます。一度に招待できるユーザーの数には制限があるため、時間がかかる場合があります。スクリプトは、すべてのチームメンバーが招待されるまでループします。

var foundAny=false;
function selectAllByLetter(remainingLetters) {
  console.log(remainingLetters)
  var letter = remainingLetters.pop();
  $("#channel_invite_filter").val(letter).trigger("input");
  setTimeout(function() {
    $(".channel_invite_member:not(hidden)").each(function(i, obj) {
        foundAny=true;
        this.click();
    });
    if (remainingLetters.length) {
      selectAllByLetter(remainingLetters);
    } else {
      setTimeout(function() {
        console.log("Inviting them all!")
        $('.invite_go').click()
      },400)     
    }
  },300);
}

function inviteAllUsers() {      
  foundAny=false;     
  setTimeout(function () {    
      setTimeout(function() {
        $('#channel_actions_toggle').click();
      },100)
      setTimeout(function() {
        $('#channel_invite_item').click();
      },200)
      //Enter each letter to trigger searches
      var remainingLetters = ["a","b","c","d","e","f","g","h","i","j","v","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"];
      selectAllByLetter(remainingLetters);
      if (foundAny) {
        inviteAllUsers();
      }
   }, 4000);
}
inviteAllUsers();  

1
魅力のように機能します、ありがとう!
-Pwdr

2
実用的な答えを提供してくれてありがとう。作業が停止したため、削除します。
アブラム

1
気を付けて、これはチャネル内のボットも招待します
-Tib

はい、そうです。また、大きなグループでは何らかの理由で2回実行する必要があります
ジョンアレクシスゲラゴメス

20

より簡単なソリューションを見つけました。スクリプトなし、拡張機能なし:

  1. 入力/whoあなたが追加したい(ほとんどの)人を持っているチャネル上でコマンドを。
  2. 出力をコピーする
  3. それらの人に招待してもらいたいチャンネルに貼り付けます
  4. 押しIntro/Enterキー

Slackは、「まだチャンネルに参加していない」すべての人々をどうするかを尋ねます。Inviteボタンを押すと、全員が招待されます


私は実際にこの答えをテストしませんでしたが、それが機能すると仮定すると、正しい解法としてマークされるはずです。これをソリューションとして割り当てましたが、ソリューションが機能することを他の人から確認していただければ幸いです。ありがとう!
アブラム

それは私のために働いた。みんなの@を使って新しいチャンネルに投稿しました。しかし、私はそれで問題ありません。
davepreston

1
ただし、これは、チャネルの最初の99メンバー(コピー/貼り付けが可能)の表示に制限されています。
1

4

同じことを行うスクリプトを作成しました。

手順:
1.チャンネルページに移動します
2.コードをブラウザコンソールにコピー/貼り付けします

すべてのユーザーが追加されます。

//////////////////////////////
// AFTER.JS Module
//////////////////////////////

var After = function () {
    this._totalTime = 0;
};

// It's prototype
var protoAfter = {
    // After (time) seconds, run a handler
    after: function (time, handler) {
        this._totalTime += time;

        setTimeout(function () {
            handler();
        }, this._totalTime * 1000);

        return this;
    }
};

$.extend(After.prototype, protoAfter);

//\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ End of After section

var first = "a",
    last = "z";

var after = new After();
after.charIndex = first.charCodeAt(0);

for (var i = first.charCodeAt(0); i <= last.charCodeAt(0); i++) {

    after
        .after(0.3, function () {
            $('#channel_actions_toggle').click();
        })

        .after(0.3, function () {
            $('#channel_invite_item').click();
        })

        .after(0.3, function () {
            $("#channel_invite_filter").focus();
            $("#channel_invite_filter").val(String.fromCharCode(after.charIndex)); // type in character
            $("#channel_invite_filter").trigger("input");
            after.charIndex++;
        })

        .after(0.5, function () {
            $(".add_icon").click();
        })

        .after(0.5, function () {
            $(".invite_go").click();
        })

        .after(0.5, function () {
            $("#fs_modal_close_btn").click();
        })
}

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.