gpt4 book ai didi

javascript - 如何在 Slack App 中将值从 Slack channel 传递到 `Options Load URL`

转载 作者:行者123 更新时间:2023-11-30 14:54:27 24 4
gpt4 key购买 nike

我有一个在 node.js 中实现的 Slack 应用程序,我在其中动态显示从 Options Load URL 到 Slack 组上的 channel 的下拉菜单。

下拉菜单根据我从外部 URL 返回的选项 JSON 正确显示,

但现在的问题是我需要根据用户在松弛 channel 上输入的内容在下拉菜单中有单独的项目。

例如:

如果用户说:给我选项 1 的选择:那么值 1 应该传递给 Options Load URL 和我在该 URL 上实现的代码将根据输入值 1 使用适当的 JSON 进行回复。

接下来,当用户说 give me choices for option 2 时:然后应该将值 2 传递给 Options Load URL 并且那里实现的代码将根据它收到的值 2 回复选项。

Options Load URL 处的代码已经实现。从用户消息中提取数字12的代码也已实现。

12 等值不是常量或固定值。这些值可以是随机的,Options Load URL 处的 API 将能够正确处理这些值。

我只需要想办法以某种方式将这些值发送到Options Load URL

是否可以在 Slack 中以某种方式执行此操作?

最佳答案

在请求中使用 name 属性将自定义值传递给处理来自 Slack 的选项请求的应用程序部分(“选项加载 URL”)。我通常使用它来选择要返回的预定义选项列表,但您也可以使用它根据值动态创建新的选项列表。

此处供引用的是创建动态菜单的示例 Slack 请求(来自 offical documentation ),您可以在其中看到正在运行的名称属性。在此示例中,它的值为 "bugs_list":

{
"text": "What's bugging you?",
"response_type": "in_channel",
"attachments": [
{
"fallback": "Upgrade your Slack client to use messages like these.",
"color": "3AA3E3",
"attachment_type": "default",
"callback_id": "select_remote_1234",
"actions": [
{
"name": "bugs_list",
"text": "Which random bug do you want to resolve?",
"type": "select",
"data_source": "external",
"min_query_length": 3,
}
]
}
]
}

这是您的选项加载 URL 将收到的内容。注意 name 参数。

{
"name": "bugs_list",
"value": "bot",
"callback_id": "select_remote_1234",
"team": {
"id": "T012AB0A1",
"domain": "pocket-calculator"
},
"channel": {
"id": "C012AB3CD",
"name": "general"
},
"user": {
"id": "U012A1BCJ",
"name": "bugcatcher"
},
"action_ts": "1481670445.010908",
"message_ts": "1481670439.000007",
"attachment_id": "1",
"token": "verification_token_string"
}

name 参数是 HTTP 请求中的一个常见参数,因此您可以将几乎所有内容放在那里,甚至数据结构,只要它们被编码为字符串即可。另见我的 other answer讨论了在 Slack 参数中传递数据的限制。

关于javascript - 如何在 Slack App 中将值从 Slack channel 传递到 `Options Load URL`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47543859/

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