TL; DR:通过Slack API,我如何区分通道中的消息与直接消息?
我有一个使用RTM API的工作Slack机器人,我们称之为Edi.只要所有命令都以"@edi"开头,它就能很好地工作; 例如"@edi help".它目前响应它所属的任何频道和直接消息.但是,我想更新僵尸程序,以便当它是直接消息时,不需要用"@edi"启动命令; 例如,频道中的"@edi help",但直接消息中的"帮助".我没有看到任何区别于两者的具体内容,但我确实尝试使用channel.info端点并计算"成员"中的人数; 但是,此方法仅适用于公共频道.对于专用通道和直接消息,端点返回"channel_not_found"错误.
提前致谢.
Rog*_*ger 37
我和斯拉克的詹姆斯谈过,他给了我一个简单的方法来确定一条消息是否是DM; 如果频道ID以以下内容开头:
但是,这些值并非一成不变,可能会在某些时候发生变化,或者会被添加到.
因此,如果该语法消失,另一种检测DM以使用channels.info和groups.info的方法.如果它们都为"ok"字段返回"false",那么你知道它是DM.
注意:
奖励信息:一旦您检测到消息是DM,请使用用户ID或频道ID并在im.list的结果中搜索它; 如果你找到它,那么你就会知道它是机器人的DM.
| 归档时间: |
|
| 查看次数: |
9137 次 |
| 最近记录: |