web-dev-qa-db-ja.com

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

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

39
Abram

これは/invite @listnameで最終的に可能になります– /invite @と入力すると、自動提案は「人を招待する」リンクよりも多くのオプションを提供します。

1
DreamFlasher

@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. 追加する(ほとんどの)人がいるチャネルで/whoコマンドを入力します。
  2. 出力をコピーする
  3. それらの人に招待してもらいたいチャンネルに貼り付けます
  4. 押す Intro/Enter キー

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

15
jonayreyes

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

手順:
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();
        })
}
4
yehyaawad

あなたがプログラマーでない場合、仕事をするchrome拡張があります。 https://chrome.google.com/webstore/detail/slack-invite-all/okakcmghmbmdgbccjfclfkeednhhlpeg

0
Jimmy