Como convido todos os membros da equipe para um novo canal do Slack


42

É possível convidar todos os usuários (toda a equipe) para um novo canal do Slack? Parece que há limites para o número de pessoas que podem ser convidadas de uma só vez.


Relacionado. (Possível duplicado?) Convide vários usuários do Slack para um canal
ale

Sim, isso está relacionado, mas não é realmente uma duplicata. Essa pergunta não fornece uma solução para o meu problema.
Abram

1
Se você estiver usando uma solução para várias áreas de trabalho (Slack Enterprise Grid), sua lista de usuários poderá incluir pessoas fora da sua área de trabalho. Se o seu #canal for específico da área de trabalho, essas soluções potencialmente adicionam TODOS os usuários ao canal.
Choovermonium

Respostas:


3

Isso finalmente é possível com /invite @listname- quando você digita /invite @auto Suggest, você terá mais opções do que através do link "convidar pessoas".


42

Como a solução @Abram parou de funcionar, joguei um pouco. Este funciona parcialmente para mim agora, talvez você precise executá-lo algumas vezes

Suas instruções: navegue até o canal apropriado e cole este script (abaixo) no console do desenvolvedor Chrome / Firefox e pressione enter. Aguarde o script ser executado até que seja concluído. Pode levar tempo, pois há um limite para quantos usuários podem ser convidados ao mesmo tempo. O script será repetido até que todos os membros da equipe sejam convidados.

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
Funciona como um encanto, obrigado!
Pwdr

2
Obrigado por fornecer uma resposta funcional. Vou remover o meu, pois ele parou de funcionar.
Abram

1
Cuidado, isso também convidar bots no canal
Tib

Sim. Além disso, por alguma razão com grandes grupos que você precisa executá-lo duas vezes
John Alexis Guerra Gómez

20

Encontrei uma solução mais direta. Sem script, sem extensões:

  1. Digite o /whocomando em um canal em que você tem as (mais) pessoas que deseja adicionar.
  2. Copie a saída
  3. Cole-o no canal em que você deseja que essas pessoas sejam convidadas
  4. Pressione a Intro/Entertecla

O Slack perguntará o que fazer com todas as pessoas "que ainda não estão no canal". Se você pressionar o Invitebotão, todos serão convidados


Na verdade, não testei essa resposta, mas, supondo que funcione, ela deve estar marcada como a solução correta. Eu designei isso como a solução, mas agradeceria a confirmação de outras pessoas de que a solução funciona. Obrigado!
Abram

Funcionou para mim. Colocou um post no novo canal com o @ de todos. Mas tudo bem para mim.
davepreston 6/03

1
No entanto, isso é limitado para mostrar os primeiros 99 membros do canal (que você pode copiar / colar).
Jan

4

Escreveu um script que também faz a mesma coisa.

Etapas:
1. Vá para a página do canal
2. Copie / cole o código no console do navegador

Todos os usuários serão adicionados.

//////////////////////////////
// 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();
        })
}

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.