Comment inviter tous les membres de l'équipe sur une nouvelle chaîne Slack

42

Est-il possible d'inviter tous les utilisateurs (toute l'équipe) sur un nouveau canal Slack? Il semble qu'il y ait des limites au nombre de personnes pouvant être invitées à la fois.

Abram
la source
En relation. (Possibilité de dupliquer?) Invitez plusieurs utilisateurs de Slack sur un canal
ale
Oui, c'est lié mais pas vraiment un doublon. Cette question ne fournit pas de solution à mon problème.
Abram
1
Si vous utilisez une solution multi-espaces de travail (Slack Enterprise Grid), votre liste d'utilisateurs peut inclure des personnes extérieures à votre espace de travail. Si votre #canal est spécifique à un espace de travail, ces solutions ajoutent potentiellement TOUS les utilisateurs au canal.
Choovermonium

Réponses:

3

Ceci est enfin possible avec /invite @listname- lorsque vous tapez /invite @suggestion, vous aurez plus d'options que via le lien "inviter des gens".

DreamFlasher
la source
42

Depuis que la solution @Abram a cessé de fonctionner, j'ai joué un peu. Celui-ci fonctionne partiellement pour moi maintenant, vous devrez peut-être l'exécuter plusieurs fois si

Ses instructions: Il suffit de naviguer sur le canal approprié et de coller ce script (ci-dessous) dans votre console de développement Chrome / Firefox et d'appuyer sur Entrée. Attendez ensuite que le script soit exécuté jusqu'à la fin. Cela peut prendre du temps, car le nombre d'utilisateurs pouvant être invités à la fois est limité. Le script sera mis en boucle jusqu'à ce que tous les membres de l'équipe soient invités.

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();  
John Alexis Guerra Gómez
la source
1
Fonctionne comme un charme, merci!
Pwdr
2
Merci de fournir une réponse de travail. Je vais enlever le mien car il a cessé de fonctionner.
Abram
1
Attention, cela invite aussi les bots dans le canal
Tib
Oui. En outre, pour une raison quelconque avec les grands groupes, vous devez l'exécuter deux fois
John Alexis Guerra Gómez
20

Trouvé une solution plus simple. Pas de script, pas d'extensions:

  1. Tapez la /whocommande sur un canal sur lequel vous avez le plus de personnes à ajouter.
  2. Copier la sortie
  3. Collez-le dans le canal où vous souhaitez que ces personnes soient invitées à
  4. Appuyez sur la Intro/Entertouche

Slack vous demandera quoi faire avec toutes ces personnes "qui ne sont pas encore dans le canal". Si vous appuyez sur le Invitebouton, tout le monde sera invité

Jonayreyes
la source
Je n’ai pas testé cette réponse, mais en supposant que cela fonctionne, la solution appropriée devrait être indiquée. C'est ce que j'ai assigné comme solution, mais j'apprécierais que les autres nous disent que la solution fonctionne. Merci!
Abram
Cela a fonctionné pour moi. Il a mis un message dans la nouvelle chaîne avec @ tout le monde dedans. Mais c'est bien pour moi.
davepreston
1
Ceci est cependant limité pour montrer les 99 premiers membres du canal (que vous pouvez copier / coller).
Jan
4

A écrit un script qui fait aussi la même chose.

Étapes:
1. Allez à la page de chaîne.
2. Copiez / collez du code dans la console du navigateur.

Tous les utilisateurs seront ajoutés.

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