slack - 如何判断一个频道是DM还是正常频道
问题描述
我有一个机器人,它可能:
- 当用户在 DM 中与机器人说一些话时开始交谈。
- 仅当用户在某个频道中提到该机器人时才开始交谈。
问题:
我怎么知道它是 DM 频道还是普通频道?
我猜https://api.slack.com/methods/channels.info可能会有所帮助,但我不确定哪个属性表明它。
解决方案
您最好的方法是使用conversations.info
API 方法。它会准确地告诉你它是什么类型的频道。它实际上取代了旧channels.info
方法(无论如何它只适用于公共频道)。
除其他外,您还可以获得:
"is_channel": true
"is_group": false
"is_im": false
以下是这些术语在 API 和(大部分)文档中的使用方式:
- 频道 = 公共频道
- 组 = 私人频道
- 我 = 直接消息。
- 对话 = 任何类型的频道
或者,您也可以根据其 ID 的第一个字母来猜测频道类型。但这不是 100%,因为通道可以在保留其 ID 的同时从一种类型转换为另一种类型。
- C:公共频道
- G:私人香奈儿/MPIM
- D:直接消息/IM
推荐阅读
- python - 我想使用 django 将图像保存在文件夹中,但出现此错误
- ionic-framework - Ionic 3 浏览器 (PWA) 平台是否有任何社交分享插件
- awk - 如何使用awk根据ID文件提取fasta序列数据
- laravel - 调用未定义的方法 App\Product::getProductStock()
- python - 保护python中正则表达式中的一个特定案例
- javascript - 为什么组件不能由自定义受保护的反应路由器呈现?
- python - Jupyter Notebook 未打开(ImportError:DLL 加载失败)
- google-sheets - ARRAYFORMULA 中仅针对过去日期的分组平均值
- android - 如何在屏幕底部添加取消问题
- javascript - Rails 5:用阅读更多和隐藏链接截断一些