0

我的频道里有很多客人。

我希望我的机器人在 @ 提及中提及这些客人,但机器人似乎看不到频道客人。它发现其他完整用户很好,只是没有客人。

这是对 Slack 的有意限制还是机器人需要更多权限?

我正在使用slackclient模块(Python)并进行以下调用:

    sc.client.api_call(
        "chat.postMessage",
        channel="#channel",
        link_names=1,
        text="@aaron.layfield <-- Working @guest.name <-- Not working This is a message."
    )
4

2 回答 2

1

如果您想从消息内部链接到用户,最好使用的格式<@USERID>而不是@username. 这是因为 Slack 已经不再使用用户名,而转向更灵活的显示名称概念,不能保证是唯一的或不可变的。

所以在这种情况下,你会做类似的事情

curl --request 'POST' 'https://slack.com/api/chat.postMessage?token=xoxb-21321321-1231321321321-dsfasdgdsfaghsdfhsdfh&channel=C9UFK5F5S&text=Hey <@UFBKH3B63>'

这将呈现为

嘿@Colm Doyle

于 2019-01-16T10:54:28.180 回答
0

正如科尔姆的回答已经解释的那样,@username 语法已被贬低,您应该使用 ID 语法来代替提及。

要获取来宾用户的 ID,请调用users.list以获取工作区中所有用户的列表。然后遍历该列表以匹配客人姓名和 ID。

于 2019-01-16T13:23:04.477 回答