机器人询问轮播

显示卡的轮播,并返回用户选择的卡。

命令可用性: 本地 IBM RPA SaaS 和 IBM RPA

脚本语法

IBM RPA 的专有脚本语言的语法与其他编程语言类似。 该脚本语法在脚本文件中定义命令的语法。 您可以在 IBM RPA Studio的 脚本 方式下使用此语法。

chatAskCarousel --cards(ICollection<CardItem>) [--retry(Boolean)] [--attempts(Numeric)] [--retrytext(String)] [--timeoutsub(String)] [--language(Language)] --text(String) [--textformat(String)] [--timeout(TimeSpan)] (String)=value (String)=utterance (Boolean)=timedout (Boolean)=success (String)=botHistoryMessageId

输入参数

下表显示了此命令中提供的输入参数的列表。 在表中,您可以看到在 IBM RPA Studio的脚本方式及其 Designer 方式等效标签中工作时的参数名称。

设计器方式标签 脚本方式名称 必需的 接受的变量类型 Description
卡 cards Required ICollection<Card Item> 在轮播中使用的卡的列表。

可以通过以下命令来获取此参数的必需卡: 将表映射到卡, 将表映射到卡按钮, 创建卡和 向交谈卡添加按钮。
重试 retry Optional Boolean 启用以允许机器人在第一次尝试后没有答案的情况下询问新问题。
尝试次数 attempts Optional Number Alternative text 参数问题重复出现的次数。
备选文本 retrytext Optional Text 第一次尝试但未获得答案时,将向用户询问的备选问题。
超时子例程 timeoutsub Optional Text 用户响应时间耗尽时运行的子例程。
语言 language Optional Language 用于机器人通信的语言。 使用创建语言 (createLanguage) 命令来获取语言变量。
文本 text Required Text 询问以获取轮播卡的第一个问题。
文本格式 textformat Optional Text, BotTextFormat 指定要发送到聊天的文本格式,纯文本或 Markdown(缺省值)。
超时 timeout Optional Time Span, Number, Text 用于等待用户响应的超时。

如果没有为 timeout 参数定义任何值,那么执行将使用 Set Timeout 命令定义的上下文超时。 如果脚本中未使用该命令,那么缺省超时为 5 秒。

输出参数

设计器方式标签 脚本方式名称 接受的变量类型 Description
值 value Text 包含所选按钮的值的列表。
话语 utterance Text 返回用户提供的文本。
已超时 timedout Boolean 如果运行时间已耗尽,那么返回“True”;否则,返回“False”。
成功 success Boolean 如果脚本成功运行,那么会返回“True”,否则会返回“False”。
历史消息 botHistoryMessageId Text 用于将其他命令的历史记录与此命令的历史记录一起保存的标识。

如果已通过 Connect to Chatbot or IVR 命令在 Storage Adapter 参数上设置了已保存历史记录的标识值,那么此字段将返回该标识值。 要使用此项,只需将此输出添加到要将其历史记录链接到此命令历史记录的特定于命令的输入参数即可。

示例

在此示例中,在映射数据表后,此信息将作为轮播选项进行编译,并且机器人询问轮播命令用于在交谈中发送这些选项作为选项轮播以及问题。

defVar --name excelTableButtons --type DataTable
defVar --name createdCards --type List --innertype CardItem
defVar --name excel --type Excel
defVar --name cultureEN --type Language
defVar --name selectedOption --type String
defVar --name result --type Boolean
// Opening and mapping of the data table whose information will make up the cards that will be demonstrated on the carousel.
excelOpen --file "tableButtonsCards.xlsx" excel=value
excelGetTable --file ${excel} --getfirstsheet  --fromrow 1 --fromcolumn 1 --torow 3 --tocolumn 10 --hasheaders  excelTableButtons=value
mapTableToCard --dataTable ${excelTableButtons} --titleColumn column0 --subtitleColumn 2 --textColumn 3 --thumbnailUrlColumn 4 --actionColumn 5 --actionValueColumn 6 createdCards=value
mapTableToCardButtons --dataTable ${excelTableButtons} --cardItems ${createdCards} --buttonActionColumn 7 --buttonTextColumn 8 --buttonValueColumn 9
createLanguage --culture en-US cultureEN=value
botConnect --type "Chat" --language ${cultureEN} --autoanswer  --timeout 00:05:00
    // Sends a question to the user along with a carousel of options.
    chatAskCarousel --text "Hello! What is your mood today?" --cards ${createdCards} --retry  --attempts 3 --retrytext "Sorry! What is you mood today?" --timeout 00:05:00 selectedOption=value result=success
    botSay --text "Humor successfully sent!"
botDisconnect
logMessage --message "Options available in the carousel: ${createdCards}\r\nOption chosen by the user: ${selectedOption}" --type "Info"

注:该示例中的 Excel 文件不存在。 您必须在此处提供您自己的 Excel 电子表格文件的路径。 请参阅在聊天机器人中使用卡以了解更多信息。

限制

  • 此命令仅可用于聊天通信。

  • 将此命令与 Microsoft Teams™ 配合使用时,如果将超过 10 个卡添加到卡的列表中,那么此命令仅选取前 10 个卡以在聊天中使用。

相关链接

  • 向聊天卡添加按钮
  • 机器人请求文件
  • 机器人发送媒体
  • 创建卡
  • 将表映射到卡按钮
  • 将表映射到卡
  • 重定向 Web 聊天