【问题标题】:Slack DM to a user not in `im.list`Slack DM 给不在“im.list”中的用户
【发布时间】:2016-10-02 13:46:53
【问题描述】:

我正在实现一个 slack ops 机器人,它将在构建服务器上通知用户作业完成。它需要能够在作业完成时向用户发送消息。

我已经按照@https://api.slack.com/bot-users 的说明设置了一个机器人用户。要将 DM 发送给特定用户,chat.postMessage 将第一个参数(频道)作为 @username 或 IM 频道的 ID(根据文档 @https://api.slack.com/methods/chat.postMessage#channels)。要获取用户的IM频道ID,可以使用im.list。但是im.list 只提供了与机器人先前交互过的用户的 IM 频道 ID(或者用户已 ping 过机器人或机器人并且用户是任何频道的一部分)。

因此,该机器人似乎无法 DM 任何以前未与之交互的用户。我对机器人行为的理解是否正确?

这个用例有什么解决方法吗?

【问题讨论】:

    标签: slack-api slack


    【解决方案1】:

    我认为您正在寻找im.open。传入用户 ID,您将获得与该用户进行直接消息对话的频道 ID。

    【讨论】:

    • @Irshad - 你是对的。 im.list 仅显示有任何直接消息交互的用户的频道。使用调用im.open 的@smarx 解决方案有效地与该用户启动DM。在您与该用户调用 im.open 后,I'm.list 现在会将它们包含在结果中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-28
    • 1970-01-01
    • 2020-10-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多