我知道这似乎是以前被问到的-但我知道您可以通过检查activity.Conversation.IsGroup
来确定有人在Slack频道上讲话-我正在成功使用它。
这很好,只要该频道有两个以上的成员即可!但是,在一个令人烦恼的极端情况下,例如,新创建的频道或仅包含两个成员的频道必须体验自动程序试图响应那里的所有消息,直到将至少3个成员添加到该频道。
有人能找到方便的方法来检测到这一点吗?我检查了Activity
JSON是否既有直接发送给应用程序/机器人用户的消息,也有针对通道的消息,但是没有明显的方法可以区分通道消息和直接给机器人用户的消息。
答案 0 :(得分:1)
如果我还记得的话,频道和直接消息传递之间的Slack命名会有区别:这种区别可以在Conversation.Id
字段中看到:
示例:
Bxxxxxxxx:Tyyyyyyyy:Czzzzzzzz
Bxxxxxxxx:Tyyyyyyyy:Daaaaaaaa
Bxxxxxxxx:Tyyyyyyyy:Gbbbbbbbb
位置:
Bxxxxxxxx
是您的机器人Slack的ID Tyyyyyyyy
是您的Slack的工作区ID Czzzzzzzz
是当前频道的Slack的ID(使用网络版的Slack在URL中可见)您将可以通过查看对话ID来发现您的情况