我不知道如何使用Slack的EventsAPI来实现它。
所以,我们的机器人做到了这一点:
当有人将公共频道转换为私有频道时,会出现问题。频道的ID发生变化,僵尸程序会收到错误{{1}}。
您是否知道如何自动跟踪此更改并更新系统ID? Bot仍然是频道的成员!
答案 0 :(得分:2)
我找到了一种方法,Slack帮助小组也证实了这一点。
基本上,当频道转换为私人频道时,您会收到以下事件:
channel_deleted
,其ID为您的公共频道member_joined_channel
,ID为新的私人频道和bot_id 当你得到member_joined_channel
时,从Slack中检索新频道的名称,如果它与你之前的公共频道相匹配,那么你知道它是同一个但现在是私有的。
Slack不允许创建具有相同名称的频道,因此这是指示符。
我刚用生产应用程序对它进行了测试,它确实有效! :)
答案 1 :(得分:1)
我认为目前不可能。
当然,当转换频道时,您会期望触发该案例的特定Slack event,但似乎没有。如果你需要这个,我建议写一个请求,为它添加一个事件。
您可以做的一件事是限制谁可以在您的Slack工作场所创建私人渠道,以限制意外使用的风险。
但是,您可以通过检查conversations.list
中存在哪些公开频道和私有频道以及机器人与conversations.member
成员的频道来阻止此错误发生。