Come invito tutti i membri del team a un nuovo canale Slack


42

È possibile invitare tutti gli utenti (l'intero team) a un nuovo canale Slack? Sembra che ci siano limiti al numero di persone che possono essere invitate contemporaneamente.


Relazionato. (Possibile duplicato?) Invita più utenti Slack su un canale
ale

Sì, questo è correlato, ma in realtà non è un duplicato. Questa domanda non fornisce una soluzione al mio problema.
Abram,

1
Se si utilizza una soluzione multi-area di lavoro (Slack Enterprise Grid), l'elenco utenti potrebbe includere persone al di fuori dell'area di lavoro. Se il tuo #channel è specifico dell'area di lavoro, queste soluzioni aggiungono potenzialmente TUTTI gli utenti al canale.
Choovermonium,

Risposte:


3

Questo è finalmente possibile con /invite @listname- quando si digita /invite @auto suggerimento ti darà più opzioni rispetto al link "invita persone".


42

Poiché la soluzione @Abram ha smesso di funzionare, ho giocato un po '. Questo funziona parzialmente per me ora, potrebbe essere necessario eseguirlo un paio di volte però

Le sue istruzioni: basta accedere al canale appropriato e incollare questo script (sotto) nella console di sviluppo di Chrome / Firefox e premere invio. Quindi attendere l'esecuzione dello script fino al completamento. Potrebbe essere necessario del tempo poiché esiste un limite al numero di utenti che possono essere invitati contemporaneamente. Lo script continuerà fino a quando tutti i membri del team saranno invitati.

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
Funziona come un incantesimo, grazie!
Pwdr,

2
Grazie per aver fornito una risposta funzionante. Rimuoverò il mio poiché ha smesso di funzionare.
Abram,

1
Attenzione, questo invita anche i bot nel canale
Tib,

Sì lo fa. Inoltre, per qualche motivo con grandi gruppi è necessario eseguirlo due volte
John Alexis Guerra Gómez,

20

Ho trovato una soluzione più semplice. Nessuno script, nessuna estensione:

  1. Digita il /whocomando su un canale in cui hai (più) le persone che vuoi aggiungere.
  2. Copia l'output
  3. Incollalo nel canale in cui desideri invitare quelle persone
  4. Premere il Intro/Entertasto

Slack ti chiederà cosa fare con tutte quelle persone "che non sono ancora nel canale". Se si preme il Invitepulsante, tutti saranno invitati


In realtà non ho testato questa risposta, ma supponendo che funzioni, dovrebbe essere contrassegnata la soluzione corretta. Ho assegnato questo come soluzione, ma apprezzerei la conferma da parte di altri che la soluzione funziona. Grazie!
Abram,

Ha funzionato per me. Ha messo un post nel nuovo canale con tutti @ in esso. Ma per me va bene.
davepreston,

1
Questo è comunque limitato per mostrare i primi 99 membri del canale (che puoi copiare / incollare).
Gen

4

Ha scritto una sceneggiatura che fa anche la stessa cosa.

Passaggi:
1. Vai alla pagina del canale
2. Copia / incolla il codice nella console del browser

Tutti gli utenti verranno aggiunti.

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

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.