我把mention视为订阅发送给我的机器人的消息的一种机制,这些消息将由我的应用程序处理。
该页上的有效载荷示例如下所示:
{
"token": "ZZZZZZWSxiZZZ2yIvs3peJ",
"team_id": "T061EG9R6",
"api_app_id": "A0MDYCDME",
"event": {
"type": "app_mention",
"user": "U061F7AUR",
"text": "What is the hour of the pearl, <@U0LAN0Z89>?",
"ts": "1515449522.000016",
"channel": "C0LAN2Q65",
"event_ts": "1515449522000016"
},
"type": "event_callback",
"event_id": "Ev0LAN670R",
"event_time": 1515449522000016,
"authed_users": [
"U0LAN0Z89"
]
}我想去掉消息中的僵尸名称,在本例中是<@U0LAN0Z89>,但我不想简单地表示出任何<@mentions>,仅仅是机器人。
我可以指望属于机器人的ID在authed_users中吗?或者,我的应用程序是否有另一种方式来获取发送消息的机器人的ID?
发布于 2019-01-22 11:12:36
从我如何阅读你的信息,听起来你想从事件中得到几个不同的信息,所以我将尽可能地报道它们。只要忽略任何错误的假设就行了。
首先,authed_users字段。据我所知,你的假设是正确的,但我不能百分之百地理解这一点。
要完全确信您正在删除正确的ID,您可以解析event.text字段,并对每个值调用users.info。在users.info内部,您将看到一个user.profile.api_app_id字段。与你的应用程序ID相匹配的绝对是你的机器人。
你的第二个问题我不确定
获取正在发送消息的机器人的ID
假设您想获得创建触发事件的消息的人的UID,那么您想要的是event.user字段。
希望这能帮上忙!
发布于 2019-09-12 21:07:32
在authed_users事件中处理link_shared时,我遇到了同样的行为。无论有多少用户使用该应用程序进行身份验证,该列表都将只包含bot用户id。
然后我注意到link_shared事件在Bot 下。将其移动到应用程序配置页面中的Workspace events之后,现在它将获得没有bot id的通过身份验证的用户的实际列表。
希望这能对这一问题有所启发。
https://stackoverflow.com/questions/54294177
复制相似问题