我想在我的Bot中使用建议的动作 - 所以用户有一个快速回复来回答问题,但也是一个输入字段.
所以Bot问的是:
"你喜欢吃披萨吗?" - > 是的!- > 不.
并且用户可能不会使用快速回复而是写道:"是的,还有汉堡 ".
现在我也需要" Burger " 作为实体--GitHub上的示例对我来说没有意义,因为他们将快速回复拉到选择提示 - 当用户只从建议的操作中选择时,这很好 - 但不是当他们在输入字段中输入自己的答案时.
bot.dialog('/', [
function (session) {
var msg = new builder.Message(session)
.text("Hi! What is your favorite color?")
.suggestedActions(
builder.SuggestedActions.create(
session,[
builder.CardAction.imBack(session, "green", "green"),
builder.CardAction.imBack(session, "blue", "blue"),
builder.CardAction.imBack(session, "red", "red")
]
)
);
builder.Prompts.choice(session, msg, ["green", "blue", "red"]);
},
function(session, results) {
session.send('I like ' + results.response.entity + ' too!');
}]);
Run Code Online (Sandbox Code Playgroud)
有解决方案吗?
我正在运行多个 Greengrass 核心,它们将数据发送到 MQTT 流。我在 GGC 上部署了 Lambda,读取传入的 SerialPort 并将其推送到 Stream。
但现在我想检查哪个设备正在发送数据 - 我尝试用这个来检查主机名
import socket
host = socket.gethostname()
Run Code Online (Sandbox Code Playgroud)
但核心发送值“沙箱”,所以我认为 lambda 无权读取主机名。
SDK没有这方面的文档: https://github.com/aws/aws-greengrass-core-sdk-python
我想将数据推送到 mqqt 流,如下所示:
response = client.publish(
topic='customer/events/{DEVICE-ID or UID or ARN}/',
payload=jsonData.encode())
Run Code Online (Sandbox Code Playgroud)