Как пригласить всех участников команды на новый канал Slack
42
Можно ли пригласить всех пользователей (всю команду) на новый канал Slack? Кажется, есть ограничения на количество людей, которые могут быть приглашены одновременно.
Да, это связано, но на самом деле не дубликат. Этот вопрос не дает решения моей проблемы.
Аврам
1
Если вы используете решение для нескольких рабочих пространств (Slack Enterprise Grid), в ваш список пользователей могут входить люди, не входящие в ваше рабочее пространство. Если ваш #channel зависит от рабочей области, эти решения потенциально могут добавить ВСЕХ пользователей в канал.
Choovermonium
Ответы:
3
Это, наконец, возможно с помощью /invite @listname- при вводе /invite @автоматического предложения вы получите больше возможностей, чем по ссылке «пригласить людей».
Поскольку решение @Abram перестало работать, я немного поиграл. Это работает частично для меня сейчас, возможно, вам придется запустить его пару раз, хотя
Его инструкции: просто перейдите к соответствующему каналу и вставьте этот скрипт (ниже) в консоль разработчика Chrome / Firefox и нажмите Enter. Затем дождитесь запуска сценария, пока он не завершится. Это может занять некоторое время, поскольку существует ограничение на количество пользователей, которые могут быть приглашены одновременно. Сценарий будет повторяться до тех пор, пока все члены команды не будут приглашены.
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
Это, однако, ограничено, чтобы показать первые 99 членов канала (которые вы можете скопировать / вставить).
Jan
4
Написал скрипт, который тоже делает то же самое.
Шаги:
1. Перейти на страницу канала
2. Скопировать / вставить код в консоль браузера
Все пользователи будут добавлены.
//////////////////////////////
// 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();
})
}
Ответы:
Это, наконец, возможно с помощью
/invite @listname
- при вводе/invite @
автоматического предложения вы получите больше возможностей, чем по ссылке «пригласить людей».источник
Поскольку решение @Abram перестало работать, я немного поиграл. Это работает частично для меня сейчас, возможно, вам придется запустить его пару раз, хотя
Его инструкции: просто перейдите к соответствующему каналу и вставьте этот скрипт (ниже) в консоль разработчика Chrome / Firefox и нажмите Enter. Затем дождитесь запуска сценария, пока он не завершится. Это может занять некоторое время, поскольку существует ограничение на количество пользователей, которые могут быть приглашены одновременно. Сценарий будет повторяться до тех пор, пока все члены команды не будут приглашены.
источник
Нашел более простое решение. Нет сценария, нет расширений:
/who
команду на канале, где у вас есть (большинство) людей, которых вы хотите добавить.Slack спросит вас, что делать со всеми теми людьми, «которых еще нет на канале». Если вы Inviteнажмете кнопку, вы будете приглашены все
источник
Написал скрипт, который тоже делает то же самое.
Шаги:
1. Перейти на страницу канала
2. Скопировать / вставить код в консоль браузера
Все пользователи будут добавлены.
источник
Если вы не программист, есть расширение Chrome, которое сделает эту работу. https://chrome.google.com/webstore/detail/slack-invite-all/okakcmghmbmdgbccjfclfkeednhhlpeg
источник