直接消息的机器人用户事件 API

Bot User Events API for Direct Messages

我创建了一个带有机器人用户的 slack 应用程序,它使用事件 API 来收听机器人挂出的频道中的消息。

Oauth 范围:bot,chat:write:bot

我订阅了以下机器人事件:

当我邀请我的机器人加入频道时,我收到了一个 POST 请求,如下所示:

{
    [...]
    "event": {
        "user": "U24BYHV19",
        "inviter": "U03BN91GN",
        "text": "<@U24BYHV19|my_bot> has joined the channel",
        "type": "message",
        "subtype": "channel_join",
        "ts": "1472139425.000019",
        "channel": "C24UWQE85",
        "event_ts": "1472139425.000019"
    },
    "type": "event_callback",
    [...]
}

当我在机器人挂出的频道中发送消息时,我收到了一个POST请求如下:

{
    [...]
    "event": {
        "type": "message",
        "user": "U03BN91GN",
        "text": "hello <@U24BYHV19>",
        "ts": "1472139444.000021",
        "channel": "C24UWQE85",
        "event_ts": "1472139444.000021"
    },
    "type": "event_callback",
    [...]
}

当我向我的机器人发送直接消息时,我收到了一个 POST 请求,如下所示:

{
    [...]
    "event": {
        "type": "message",
        "user": "U03BN91GN",
        "text": "hello pager",
        "ts": "1472139450.000032",
        "channel": "D24DC8UTG",
        "event_ts": "1472139450.000032"
    },
    "type": "event_callback",
    [...]
}

问题是,我如何确定有人正在通过直接消息与我的机器人交谈? :) 因为如果有人与我的机器人交谈,我想回复。

直接消息的频道以 D 而不是 C 开头。