使用 Bot Connector API 向消息添加输入提示

通过为消息指定输入提示,可以指示在将消息传送到客户端后,机器人是接受、预期还是忽略用户输入。 对于支持此字段的通道,这使客户端可以相应地设置用户输入控件的状态。 例如,如果消息的输入提示指示机器人忽略用户输入,则客户端可以关闭麦克风并禁用输入框以防止用户提供输入。

接受输入

要表示你的机器人已被动准备好输入,但没有等待用户的响应,请在表示消息的 Activity 对象中将 inputHint 属性设置为 acceptingInput。 在许多通道上,这将导致客户端的输入框启用并且麦克风关闭,但仍可供用户访问。

以下示例显示了发送消息并指定机器人正在接受输入的请求。 在此示例请求中,Direct Line 表示基本 URI;机器人发出的请求的基本 URI 可能不同。 有关设置基本 URI 的详细信息,请参阅 API 参考

POST https://smba.trafficmanager.net/teams/v3/conversations/abcd1234/activities/5d5cdc723
Authorization: Bearer ACCESS_TOKEN
Content-Type: application/json
{
    "type": "message",
    "from": {
        "id": "12345678",
        "name": "sender's name"
    },
    "conversation": {
        "id": "abcd1234",
        "name": "conversation's name"
   },
   "recipient": {
        "id": "1234abcd",
        "name": "recipient's name"
    },
    "text": "Here's a picture of the house I was telling you about.",
    "inputHint": "acceptingInput",
    "replyToId": "5d5cdc723"
}

期待输入

若要表明机器人在主动等待用户的响应,请在表示消息的 Activity 对象中将 inputHint 属性设置为 expectingInput 。 在支持它的通道上,这会导致客户端的输入框启用并且麦克风打开。

以下示例显示了发送消息并指定机器人期待输入的请求。 在此示例请求中,Direct Line 表示基本 URI;机器人发出的请求的基本 URI 可能不同。 有关设置基本 URI 的详细信息,请参阅 API 参考

POST https://smba.trafficmanager.net/teams/v3/conversations/abcd1234/activities/5d5cdc723
Authorization: Bearer ACCESS_TOKEN
Content-Type: application/json
{
    "type": "message",
    "from": {
        "id": "12345678",
        "name": "sender's name"
    },
    "conversation": {
        "id": "abcd1234",
        "name": "conversation's name"
   },
   "recipient": {
        "id": "1234abcd",
        "name": "recipient's name"
    },
    "text": "What is your favorite color?",
    "inputHint": "expectingInput",
    "replyToId": "5d5cdc723"
}

忽略输入

要表示你的机器人尚未准备好接收用户的输入,请在表示消息的 Activity 对象中将 inputHint 属性设置为 ignoringInput。 在支持它的通道上,这会导致客户端的输入框禁用并且麦克风关闭。

以下示例显示了发送消息并指定机器人忽略输入的请求。 在此示例请求中,Direct Line 表示基本 URI;机器人发出的请求的基本 URI 可能不同。 有关设置基本 URI 的详细信息,请参阅 API 参考

POST https://smba.trafficmanager.net/teams/v3/conversations/abcd1234/activities/5d5cdc723
Authorization: Bearer ACCESS_TOKEN
Content-Type: application/json
{
    "type": "message",
    "from": {
        "id": "12345678",
        "name": "sender's name"
    },
    "conversation": {
        "id": "abcd1234",
        "name": "conversation's name"
   },
   "recipient": {
        "id": "1234abcd",
        "name": "recipient's name"
    },
    "text": "Please hold while I perform the calculation.",
    "inputHint": "ignoringInput",
    "replyToId": "5d5cdc723"
}

其他资源