31

我为松弛构建了一个机器人。当有新用户加入时,它会读取消息,我打算让它发布一条欢迎他们的消息:“欢迎@用户!你在建造什么!?”

当它发布@user 时实际的“标签”似乎并没有起作用。当我使用机器人而不是仅使用 @user 标记人时,是否需要标记他们的用户ID

fontebot 尝试标记 cristopher.bello,但标记不起作用

4

2 回答 2

38

正确的格式是 <@userID>

您只需从事件中获取用户 ID(在您的屏幕截图中为channel_join 事件

{
    "type": "message",
    "subtype": "channel_join",
    "ts": "1358877458.000011",
    "user": "U2147483828",
    "text": "<@U2147483828|cal> has joined the channel"
}

更新:( 我没有检查编辑中提出的解决方案)

在新的Bolt SDK中,您可以使用@NameOfUser. 所以上面的例子也可以是:

{
    "type": "message",
    "subtype": "channel_join",
    "ts": "1358877458.000011",
    "user": "U214####",
    "text": "<@NameOfUser> has joined the channel"
}

当然,您需要解析@Name消息中的内容。

于 2016-08-03T21:31:26.497 回答
7

您可以尝试在参数中添加 "parse"="full" 和 "link_names"=1 吗?对于快速测试,您可以使用他们的测试员chat.postMessage

于 2015-09-06T03:34:17.103 回答