gpt4 book ai didi

slack - 如何添加 Slack 消息按钮以打开与用户的直接聊天?

转载 作者:行者123 更新时间:2023-12-02 01:50:31 25 4
gpt4 key购买 nike

我有一个 Slack 机器人,需要返回一条消息,其中包括 Slack 用户列表和一个向每个用户发送消息的按钮。

我希望用户的参与体验保持一致。如果用户通过桌面 Slack 应用程序与机器人交互,那么我希望用户留在应用程序中(不要被带到 Web 客户端——他们可能没有经过身份验证)。

类似于:

Results:

User A - click link to view User A's profile in Slack
[Message] - click button to open direct message with user A

User B - click link to view User B's profile in Slack
[Message] - click button to open direct message with user B

我陷入了几个问题:

  1. 如何链接到用户的个人资料,因为我不知道他们是否使用 Slack 应用程序或 Slack 网络(因此如何决定显示 slack://user?team=&id=. .domain.slack.com/team/{id} 方法?这是假设我使用 title_linkauthor_link属性(property)。

  2. 如何创建一个消息按钮来打开向用户发送的直接消息(甚至更好地打开它并预先填充消息)?我目前一直在尝试链接操作,但没有任何运气。

我想我可以通过让机器人发送 DM 然后@提及原始用户来解决这个问题。从用户体验的角度来看,这不太好。

更新

感谢 Adil 和 Erik 的评论,我认为我拥有最佳可能的解决方案。我最终为每个结果制作了一个消息附件,如下所示:

    {
"fallback": `${user['name']} likes pizza`,
"text": `<@${user['uid']}>`,
"actions": [
{
"type": "button",
"text": "View Pizza Profile",
"url": url(`/directory/${user['id']}`),
"style": "primary"
},
{
"type": "button",
"text": "Order Pizza",
"url": `https://slack.com/app_redirect?channel=${user['uid']}`
}
]
}

该解决方案提供:

  • 文本字段,其中包含对用户的@提及(单击它会在浏览器或 native 中显示个人资料)。它使用文本作为消息标题(并删除作者和标题字段)。
  • 链接操作按钮以通过 app_redirect 打开直接消息聊天

有一些严重的限制:

  1. 对于 native ,直接消息链接会导致浏览器打开,然后(如果用户决定)重定向回应用。
  2. 用户必须使用已通过与 native 客户端相同的工作区身份验证的浏览器窗口(这对于用户体验来说是一个巨大的问题,因为许多人打开了多个工作区,在这种情况下,重定向会失败并出现不明显的错误)错误消息)。

最佳答案

添加 Adil 关于链接到用户个人资料的精彩答案

以下是如何提供链接以打开当前用户与其他用户之间的直接消息:

您可以使用 Slack's channel redirect feature 创建将为用户打开任何 channel 的链接。通过提供目标用户的 ID,这也适用于直接消息 channel 。

用户U12345678示例:

https://slack.com/app_redirect?channel=U12345678

您可以通过链接按钮或文本链接提供此链接。

请注意,即使用户使用的是 Slack native 客户端,这也始终会打开一个新的浏览器选项卡/窗口(不,无法确定用户是否使用 native 客户端或浏览器) .

另一种方法是仅在消息中提供用户提及,并让用户单击它以获取包含“直接消息”的菜单。这适用于每个用户和每个平台/客户端类型:

只需在文本中提及标准用户,并向用户提供一些说明即可:

<@U12345678>

关于slack - 如何添加 Slack 消息按钮以打开与用户的直接聊天?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53303307/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com