Jak zaprosić wszystkich członków zespołu na nowy kanał Slack
42
Czy można zaprosić wszystkich użytkowników (cały zespół) do nowego kanału Slack? Wydaje się, że istnieją ograniczenia dotyczące liczby osób, które można zaprosić jednocześnie.
Tak, to jest powiązane, ale tak naprawdę nie jest duplikatem. To pytanie nie rozwiązuje mojego problemu.
Abram
1
Jeśli korzystasz z rozwiązania do obsługi wielu obszarów roboczych (Slack Enterprise Grid), na liście użytkowników mogą znajdować się osoby spoza obszaru roboczego. Jeśli Twój kanał # jest specyficzny dla obszaru roboczego, te rozwiązania potencjalnie dodają WSZYSTKICH użytkowników do kanału.
Choovermonium
Odpowiedzi:
3
Jest to w końcu możliwe dzięki /invite @listname- po wpisaniu /invite @auto sugestia da ci więcej opcji niż poprzez link „zaproś ludzi”.
Ponieważ rozwiązanie @Abram przestało działać, grałem trochę. Ten działa teraz dla mnie częściowo, być może jednak trzeba go uruchomić kilka razy
Jego instrukcje: po prostu przejdź do odpowiedniego kanału i wklej ten skrypt (poniżej) do konsoli programisty Chrome / Firefox i naciśnij klawisz Enter. Następnie poczekaj na uruchomienie skryptu, aż się zakończy. Może to zająć trochę czasu, ponieważ istnieje ograniczenie liczby zaproszonych użytkowników jednocześnie. Skrypt będzie się powtarzał, dopóki wszyscy członkowie zespołu nie zostaną zaproszeni.
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();
Właściwie nie przetestowałem tej odpowiedzi, ale zakładając, że zadziała, powinna być oznaczona jako właściwe rozwiązanie. Przypisałem to jako rozwiązanie, ale doceniłbym potwierdzenie od innych, że rozwiązanie działa. Dzięki!
Abram
To zadziałało dla mnie. Umieścił post na nowym kanale, w którym wszyscy byli @. Ale to w porządku dla mnie.
davepreston
1
Jest to jednak ograniczone, aby pokazać pierwszych 99 członków kanału (które można skopiować / wkleić).
Jan
4
Napisałem skrypt, który robi to samo.
Kroki:
1. Przejdź do strony kanału
2. Skopiuj / wklej kod do konsoli przeglądarki
Wszyscy użytkownicy zostaną dodani.
//////////////////////////////
// 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();
})
}
Odpowiedzi:
Jest to w końcu możliwe dzięki
/invite @listname
- po wpisaniu/invite @
auto sugestia da ci więcej opcji niż poprzez link „zaproś ludzi”.źródło
Ponieważ rozwiązanie @Abram przestało działać, grałem trochę. Ten działa teraz dla mnie częściowo, być może jednak trzeba go uruchomić kilka razy
Jego instrukcje: po prostu przejdź do odpowiedniego kanału i wklej ten skrypt (poniżej) do konsoli programisty Chrome / Firefox i naciśnij klawisz Enter. Następnie poczekaj na uruchomienie skryptu, aż się zakończy. Może to zająć trochę czasu, ponieważ istnieje ograniczenie liczby zaproszonych użytkowników jednocześnie. Skrypt będzie się powtarzał, dopóki wszyscy członkowie zespołu nie zostaną zaproszeni.
źródło
Znaleziono bardziej proste rozwiązanie. Bez skryptu, bez rozszerzeń:
/who
polecenie na kanale, na którym masz (większość) osób, które chcesz dodać.Slack zapyta cię, co zrobić z tymi wszystkimi ludźmi, „którzy jeszcze nie są na kanale”. Po naciśnięciu Inviteprzycisku wszyscy zostaną zaproszeni
źródło
Napisałem skrypt, który robi to samo.
Kroki:
1. Przejdź do strony kanału
2. Skopiuj / wklej kod do konsoli przeglądarki
Wszyscy użytkownicy zostaną dodani.
źródło
Jeśli nie jesteś programistą, istnieje chromowane rozszerzenie, które wykona zadanie. https://chrome.google.com/webstore/detail/slack-invite-all/okakcmghmbmdgbccjfclfkeednhhlpeg
źródło