变量可以十分灵活地用于用户当前对话流中,可以通过服务节点进行赋值,并在其他节点中使用${botVar.全局变量名}进行引用。
创建变量
路径:多轮对话>变量管理
操作:在变量管理内,创建和管理机器人全局变量
变量调用示例:
在输入框中输入“$”符号即可出现变量的提示信息,“botVars.”的前置符号即为全局变量。
表达式配置说明
在配置变量赋值时,可能需要一些系统设定的参数:环境参数、服务返回参数、系统参数。
这里主要说明一下每种参数的具体含义。
环境参数
${envVars['CURRENT_QUERY']}:用户QUERY。
${envVars['APP_ID']}:机器ID。
${envVars['SENDER_ID']}:C端用户ID。
${envVars['SENDER_NICK']}:C端用户名称。
${envVars['SESSION_ID']}:会话ID。
${envVars['CHAT_ID']}:请求 ID。
${envVars['VENDOR_PARAM']}:随路数据。
${envVars['EMOTION_POLARITY']}:情绪极性。
${envVars['EMOTION_NAME']}:情绪名称。
${envVars['CURRENT_DATE']}:当前日期。
${envVars['CURRENT_TIME']}:当前时间。
${envVars['CURRENT_TURN']}:当前对话轮数。
服务返回参数
${svcVars['functionOutput']}:全局服务返回结果。
系统函数
${sysGetRandom(n)}:返回指定范围[1,n]内的随机数字。
${sysFormatDate('format')}:按自定义格式输出时间。
${sysAddDate(day)}:基于当前时间增加若干天输出,格式yyyy-MM-dd。
${sysAddTime(second)}:基于当前时间增加若干秒输出,格式HH:mm:ss。
${sysUnescapeJson('str')}:解码JavaScript中被转义的字符串。
${sysIntervalDays('startDate','endDate')}:计算开始与结束时间间隔,格式yyyy-MM-dd。
${sysIntervalSeconds('startTime','endTime')}:计算开始与结束时间间隔,格式HH:mm:ss。
${sysFormatStrDate('source','format')}:时间格式转换,将原有yyyy-MM-dd HH:mm:ss格式的时间转换成自定义格式。