如何邀请所有团队成员加入新的Slack频道


42

是否可以邀请所有用户(整个团队)加入新的Slack频道?似乎可以一次邀请的人数有限。


有关。(可能重复吗?)邀请多个Slack用户访问一个频道
ale

是的,这是相关的,但实际上不是重复的。这个问题不能解决我的问题。
亚伯兰

1
如果您使用的是多工作区解决方案(Slack Enterprise Grid),则用户列表中可能包含工作区之外的人员。如果您的#channel是特定于工作空间的,则这些解决方案可能会将所有用户添加到该通道。
Choovermonium

Answers:


3

最终,这是可以实现的/invite @listname/invite @与“邀请他人”链接相比,当您键入“ 自动建议”时,将为您提供更多选择。


42

由于@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
就像魅力一样,谢谢!
Pwdr

2
感谢您提供有效的答案。我将删除它,因为它已停止工作。
亚伯兰

1
小心,这也邀请了机器人在频道
Tib

是的,它确实。此外,由于某种原因,与大集团则需要两次运行它
约翰·亚历克西斯·格拉·戈麦斯

19

找到了更直接的解决方案。没有脚本,没有扩展名:

  1. /who在您要添加(最多)人的频道上键入命令。
  2. 复制输出
  3. 将其粘贴到您希望这些人被邀请到的频道中
  4. 按下Intro/Enter

Slack会问您如何处理所有“尚未进入渠道”的人。如果您按下Invite按钮,您将受到邀请


我实际上并未测试此答案,但假设它可行,则应将其标记为正确的解决方案。我已将此分配为解决方案,但希望其他人确认该解决方案有效。谢谢!
亚伯兰

它为我工作。它确实在新频道中发布了一个帖子,每个人都有@。但这对我来说很好。
davepreston

1
但是,这仅限于显示频道的前99个成员(您可以复制/粘贴)。
1

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.