机器人提及的松弛事件 API
Slack Event API for Bot Mentions
我正在使用 Slack 应用程序构建 Slack 机器人。我已成功通过事件 API.
授权并成功接收事件
我正在尝试了解如何只听直接提及机器人的内容。
因此,当有人向 public 或私人频道发送消息并且当机器人被直接标记为 @bot
时,它应该触发一个事件
Public/private 松弛通道示例:
Daniel: Hi there bot (does not trigger)
Jeremy: @bot hi there (triggers Event API)
是否有执行此操作的松弛事件?还是有另一种方法可以做到这一点?我不想将它硬编码到我的服务器端应用程序中,因为那样我会收到很多不必要的事件。
您可以在应用配置中选择订阅团队事件或机器人事件(事件订阅)。对于您的情况,我建议订阅机器人事件。
那么您需要订阅一个事件类型。由于您希望您的机器人收听您想要订阅的各种频道 message.channels, message.groups, message.im and message.mpim。不要忘记在安装 Slack 应用程序时请求相应的范围。
您的机器人现在将收到您的机器人所属的任何频道(public、私人、直接消息、直接消息组)中发布的所有消息的事件请求。
作为最后一步,您必须过滤和解析这些事件请求,以便您的机器人仅对 @-mentions 做出反应。
2018 年 10 月更新
Slack 现在还支持一种特殊的事件类型,让您仅订阅机器人提及:app_mention
因此,如果您只想接收机器人提及,则无需再订阅任何其他事件(message.channels
、message.groups、message.mpim
)。
但是,如果您还想直接向您的机器人发送消息,您仍然需要订阅 message.im
。
订阅 app_mention
活动而不是 message.channels
以接收提及您的 app/bot 的活动。
这是来自 slack 的示例负载:
{
"type": "app_mention",
"user": "U061F7AUR",
"text": "<@U0LAN0Z89> is it everything a river should be?",
"ts": "1515449522.000016",
"channel": "C0LAN2Q65",
"event_ts": "1515449522000016"
}
如果您想接收直接消息事件,也可以订阅 message.im
。
有关 app_mention
活动的更多信息 - https://api.slack.com/events/app_mention
希望对您有所帮助 :)
我正在使用 Slack 应用程序构建 Slack 机器人。我已成功通过事件 API.
授权并成功接收事件我正在尝试了解如何只听直接提及机器人的内容。
因此,当有人向 public 或私人频道发送消息并且当机器人被直接标记为 @bot
时,它应该触发一个事件Public/private 松弛通道示例:
Daniel: Hi there bot (does not trigger)
Jeremy: @bot hi there (triggers Event API)
是否有执行此操作的松弛事件?还是有另一种方法可以做到这一点?我不想将它硬编码到我的服务器端应用程序中,因为那样我会收到很多不必要的事件。
您可以在应用配置中选择订阅团队事件或机器人事件(事件订阅)。对于您的情况,我建议订阅机器人事件。
那么您需要订阅一个事件类型。由于您希望您的机器人收听您想要订阅的各种频道 message.channels, message.groups, message.im and message.mpim。不要忘记在安装 Slack 应用程序时请求相应的范围。
您的机器人现在将收到您的机器人所属的任何频道(public、私人、直接消息、直接消息组)中发布的所有消息的事件请求。
作为最后一步,您必须过滤和解析这些事件请求,以便您的机器人仅对 @-mentions 做出反应。
2018 年 10 月更新
Slack 现在还支持一种特殊的事件类型,让您仅订阅机器人提及:app_mention
因此,如果您只想接收机器人提及,则无需再订阅任何其他事件(message.channels
、message.groups、message.mpim
)。
但是,如果您还想直接向您的机器人发送消息,您仍然需要订阅 message.im
。
订阅 app_mention
活动而不是 message.channels
以接收提及您的 app/bot 的活动。
这是来自 slack 的示例负载:
{
"type": "app_mention",
"user": "U061F7AUR",
"text": "<@U0LAN0Z89> is it everything a river should be?",
"ts": "1515449522.000016",
"channel": "C0LAN2Q65",
"event_ts": "1515449522000016"
}
如果您想接收直接消息事件,也可以订阅 message.im
。
有关 app_mention
活动的更多信息 - https://api.slack.com/events/app_mention
希望对您有所帮助 :)