直接向 Microsoft Bot 发送 API 消息
Directline API message to Microsoft Bot
我使用 LUIS 在 Azure 服务中创建了机器人,它用作聊天机器人,可以使用对话框创建对话。
在某些时候,我正在尝试使用 Direct Line API 3.0 将消息推送到聊天机器人,我正在使用 Postman 将消息发送到聊天机器人。
我可以作为 bot 向对话发送消息,下面是我从 Postman 发送消息并获得成功响应的图像。
但我的问题是,消息发送后,即使不是用户消息,机器人也会尝试分析。 Bot 开始从默认消息处理程序发送消息,如下所示,
即使在成功发送消息后,我的 bot 也会触发默认消息处理程序,预计这只会发生在用户消息上而不是 bot 消息上。
此外,我已经检查过网络聊天频道,它不会触发此默认消息处理程序。这仅在 DirectLine API 中发生,任何人都可以帮助我。
不应将消息作为 "message" 类型发送,而应将其作为 "event" 类型发送。
这样,您的 MessagesController 会将其视为 Event 而不是 Message 的 ActivityType,您可以根据需要进行处理,而无需对实际消息处理进行细化处理
如果您想发送不同类型的事件以使其更容易,那么您可以通过在 json 中为 'name' 字段提供一个值来 'name' 您的事件。
第三,如果您需要在消息中包含数据,您可以在 json.
的 'value' 字段中提供一个值
standard webchat client 的 github 页面有一些关于发送事件的重要信息。它可能会更清楚地说明 json.
您可以阅读有关 'event' activity type here
的更多信息
您的消息 json 看起来更像这样:
{
"type": "event",
"from": {
"id": "user1"
},
"name": "theEvent",
"value": "someDataMyBotNeeds"
}
我使用 LUIS 在 Azure 服务中创建了机器人,它用作聊天机器人,可以使用对话框创建对话。
在某些时候,我正在尝试使用 Direct Line API 3.0 将消息推送到聊天机器人,我正在使用 Postman 将消息发送到聊天机器人。
我可以作为 bot 向对话发送消息,下面是我从 Postman 发送消息并获得成功响应的图像。
但我的问题是,消息发送后,即使不是用户消息,机器人也会尝试分析。 Bot 开始从默认消息处理程序发送消息,如下所示,
即使在成功发送消息后,我的 bot 也会触发默认消息处理程序,预计这只会发生在用户消息上而不是 bot 消息上。
此外,我已经检查过网络聊天频道,它不会触发此默认消息处理程序。这仅在 DirectLine API 中发生,任何人都可以帮助我。
不应将消息作为 "message" 类型发送,而应将其作为 "event" 类型发送。 这样,您的 MessagesController 会将其视为 Event 而不是 Message 的 ActivityType,您可以根据需要进行处理,而无需对实际消息处理进行细化处理 如果您想发送不同类型的事件以使其更容易,那么您可以通过在 json 中为 'name' 字段提供一个值来 'name' 您的事件。 第三,如果您需要在消息中包含数据,您可以在 json.
的 'value' 字段中提供一个值standard webchat client 的 github 页面有一些关于发送事件的重要信息。它可能会更清楚地说明 json.
您可以阅读有关 'event' activity type here
的更多信息您的消息 json 看起来更像这样:
{
"type": "event",
"from": {
"id": "user1"
},
"name": "theEvent",
"value": "someDataMyBotNeeds"
}