直接消息的机器人用户事件 API
Bot User Events API for Direct Messages
我创建了一个带有机器人用户的 slack 应用程序,它使用事件 API 来收听机器人挂出的频道中的消息。
Oauth 范围:bot,chat:write:bot
我订阅了以下机器人事件:
- message.channels
- message.groups
- message.im
- message.mpim
当我邀请我的机器人加入频道时,我收到了一个 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 开头。
我创建了一个带有机器人用户的 slack 应用程序,它使用事件 API 来收听机器人挂出的频道中的消息。
Oauth 范围:bot,chat:write:bot
我订阅了以下机器人事件:
- message.channels
- message.groups
- message.im
- message.mpim
当我邀请我的机器人加入频道时,我收到了一个 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 开头。