Slack: способ быстро добавить большое количество пользователей в канал

Я активно использую Slack для взаимодействия с командой в повседневной работе. Slack удобен тем, что собирает в одном окне обсуждения в общих темах, приватных группах и личных сообщениях. Когда приходится взаимодействовать с десятками пользователей, становится сложным добавить всех из general-канала, за исключением, скажем, пары человек, в новый канал, т. к. Slack для такого сценария использования автоматизации не предоставляет. Но есть JavaScript...

Сразу оговорюсь: то, о чем речь пойдет ниже, — скорее развлекательный эксперимент, чем рецепт, который можно использовать в работе.

Поскольку Slack может отлично работать в браузере, есть возможность упростить процесс добавления пользователей в канал с помощью JavaScript. John Alexis Guerra Gómez приблизительно решил эту задачу. Делюсь его кодом и краткой инструкцией.

Как использовать?

  1. Откройте в браузере нужный канал, вставьте скрипт в консоль и запустите его.
  2. Подождите, пока скрипт завершит работу. Чем больше пользователей, тем дольше скрипт будет работать.

Код для консоли

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", "z"];
        selectAllByLetter(remainingLetters);
        if (foundAny) {
            inviteAllUsers();
        }
    }, 4000);
}

inviteAllUsers();

Есть что-то проще?

Посмотрите расширение для Chrome — Slack Invite All (платно).