Tüm ekip üyelerini yeni bir Slack kanalına nasıl davet ederim?


42

Tüm kullanıcıları (tüm ekibi) yeni bir Slack kanalına davet etmek mümkün müdür? Aynı anda davet edilebilecek insan sayısının sınırları var gibi görünüyor.



Evet, bununla ilgili ama yinelemeli değil. Bu soru benim sorunuma bir çözüm getirmiyor.
Abram

1
Çok çalışma alanına sahip bir çözüm kullanıyorsanız (Slack Enterprise Grid) kullanıcı listeniz çalışma alanınızın dışındaki kişileri içerebilir. Kanalınız çalışma alanına özgü ise, bu çözümler potansiyel olarak TÜM kullanıcıları kanala ekler.
Choovermonium

Yanıtlar:


3

Bu nihayet mümkündür /invite @listname- /invite @otomatik önerme yazdığınızda , "insanları davet et" bağlantısından çok daha fazla seçenek sunar.


42

@Abram çözümü çalışmayı bıraktığından beri biraz oynadım. Bu, şimdi benim için kısmen çalışıyor, birkaç kez çalıştırmanız gerekebilir.

Talimatları: Sadece uygun kanala göz atın ve bu betiği (aşağıda) Chrome / Firefox dev konsolunuza yapıştırın ve enter tuşuna basın. Ardından, komut dosyasının tamamlanıncaya kadar çalışmasını bekleyin. Aynı anda kaç kullanıcının davet edileceği konusunda bir sınırlama olduğu için zaman alabilir. Komut tüm ekip üyeleri davet edilinceye kadar döngülenecek.

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
Bir cazibe gibi çalışıyor, teşekkürler!
Pwdr

2
Çalışan bir cevap verdiğiniz için teşekkür ederiz. Çalışmayı bıraktığı için benimkini çıkaracağım.
Abram

1
Bak, bu kanaldaki botları da davet ediyor
Tib

Evet öyle. Ayrıca, büyük nedenlerle bazı nedenlerden dolayı iki kez çalıştırmanız gerekir
John Alexis Guerra Gómez

19

Daha basit bir çözüm buldum. Komut dosyası yok, uzantı yok:

  1. Tip /whoEğer eklemek istediğiniz (çoğu) insanlar var bir kanalda komutu.
  2. Çıktıyı kopyala
  3. Bu kişilerin davet edilmesini istediğiniz kanala yapıştırın
  4. Basın Intro/Entertuşuna

Slack, "henüz kanalda olmayan" tüm bu insanlarla ne yapacağınızı soracak. InviteDüğmeye basarsanız herkesi davet edeceksiniz


Aslında bu cevabı test etmedim, ancak işe yaradığını varsayarsak doğru çözümü işaretlemeliydim. Bunu çözüm olarak atadım, ancak çözümün işe yaradığını diğerlerinden onaylamak için teşekkür ederim. Teşekkürler!
Abram

Benim için çalıştı. Yeni kanalda, içinde herkesin @ bulunduğu bir yazı yayınladı. Ama bu benim için iyi.
davepreston

1
Ancak bu, kanalın ilk 99 üyesini (kopyalayıp yapıştırabileceğiniz) göstermekle sınırlıdır.
Jan

4

Aynı şeyi yapan bir senaryo yazdı.

Adımlar:
1. Kanal sayfasına git
2. Kodu kopyala / tarayıcı konsoluna yapıştır

Tüm kullanıcılar eklenecek.

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

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.