CallSession class
管理与用户的机器人对话。
构造函数
Call |
创建会话的实例。 |
属性
conversation |
对聊天的所有成员可见的共享聊天数据。 |
dialog |
仅对当前对话框可见的数据。 |
library | 机器人对话根库。 |
message | 从用户接收的消息。 对于机器人发起的消息,这只能包含“to”&“from”字段。 |
private |
仅对用户可见的专用聊天数据。 |
session |
会话当前状态信息。 |
user |
与机器人的所有对话中持久保存的用户的数据。 |
方法
answer() | 手动应答呼叫。 机器人执行操作时,将自动应答呼叫。 |
begin |
将对话的控制传递给新对话。 当前对话将挂起,直到子对话完成。 子级结束后,当前对话将收到对 dialogResumed() 的调用, 可在其中检查从子级返回的任何结果。 |
dispatch(ISession |
调度消息进行处理。 会话将调用任何已安装的中间件,然后再将消息传递给活动对话框进行处理。 |
end |
结束当前对话,并选择性地向用户发送消息。 呼叫将自动挂起或拒绝。 |
end |
结束当前对话框,并选择性地向用户发送消息。 父级将以 IDialogResult.resumed 完成 的原因恢复。 |
end |
结束当前对话,并选择性地将结果返回给对话父级。 |
error(Error) | 指示发生了错误。 机器人将通过 on('error', err) 事件发出错误信号。 |
gettext(string, any[]) | 加载消息语言的本地化字符串。 如果传递参数,本地化字符串将被视为模板,并使用 sprintf-js 进行格式化(请参阅其文档了解详细信息)。 |
hangup() | 手动结束已建立的呼叫。 当机器人停止提示用户输入时,将自动结束调用。 |
is |
如果会话已重置,则返回 true。 |
message |
如果已为此会话发送消息,则返回 true。 |
ngettext(string, string, number) | 加载消息语言的本地化字符串的复数形式。 输出字符串的格式将设置为包含计数,方法是将字符串中的 %d 替换为计数。 |
on(string, Function) | 注册事件侦听器。 |
reject() | 拒绝传入呼叫。 |
replace |
结束当前对话框,并启动其位置的新对话。 在新对话完成之前,不会恢复父对话。 |
reset(string, any) | 清除会话调用堆栈,并使用配置的 dialogId 重启会话。 |
save() | 触发对 dialogData、userData、conversationdata或 [privateConversationData'(#privateconversationdata)所做的更改的保存。 |
send(string | string[] | IAction | IIs |
向用户发送 PlayPrompt 操作。 |
send |
立即结束当前批处理并传递任何排队的消息。 |
构造函数详细信息
CallSession(ICallSessionOptions)
属性详细信息
conversationData
对聊天的所有成员可见的共享聊天数据。
conversationData: any
属性值
any
dialogData
仅对当前对话框可见的数据。
dialogData: any
属性值
any
library
message
privateConversationData
仅对用户可见的专用聊天数据。
privateConversationData: any
属性值
any
sessionState
userData
与机器人的所有对话中持久保存的用户的数据。
userData: any
属性值
any
方法详细信息
answer()
beginDialog<T>(string, T)
将对话的控制传递给新对话。 当前对话将挂起,直到子对话完成。 子级结束后,当前对话将收到对 dialogResumed() 的调用, 可在其中检查从子级返回的任何结果。
function beginDialog<T>(id: string, args?: T)
参数
- id
-
string
要启动的对话的唯一 ID。
- args
-
T
(可选)参数,用于传递给对话 begin() 方法。
返回
dispatch(ISessionState, IEvent)
调度消息进行处理。 会话将调用任何已安装的中间件,然后再将消息传递给活动对话框进行处理。
function dispatch(sessionState: ISessionState, message: IEvent)
参数
- sessionState
- ISessionState
当前会话状态。 如果 null 新会话将从配置的 dialogId开始。
- message
- IEvent
要调度的消息。
返回
endConversation(string | string[] | IAction | IIsAction, any[])
结束当前对话,并选择性地向用户发送消息。 呼叫将自动挂起或拒绝。
function endConversation(action?: string | string[] | IAction | IIsAction, args: any[])
参数
(可选)
-
操作:{string} - 要发送的消息的文本。 将使用配置的本地化程序会话来本地化消息。 如果在消息中传递参数,将使用 sprintf-js
格式化。 - 操作:{string[]} - 将从数组中随机选择发送的消息。
- 操作:{IAction|IIsAction} - 要发送的操作。
- args
-
any[]
(可选)参数,用于在 消息 为 {string|string[]}时设置最终输出文本的格式。
返回
endDialog(string | string[] | IAction | IIsAction, any[])
结束当前对话框,并选择性地向用户发送消息。 父级将以 IDialogResult.resumed 完成 的原因恢复。
function endDialog(action?: string | string[] | IAction | IIsAction, args: any[])
参数
(可选)
-
操作:{string} - 要发送的消息的文本。 将使用配置的本地化程序会话来本地化消息。 如果在消息中传递参数,将使用 sprintf-js
格式化。 - 操作:{string[]} - 将从数组中随机选择发送的消息。
- 操作:{IAction|IIsAction} - 要发送的操作。
- args
-
any[]
(可选)参数,用于在 消息 为 {string|string[]}时设置最终输出文本的格式。
返回
endDialogWithResult(IDialogResult<any>)
结束当前对话,并选择性地将结果返回给对话父级。
function endDialogWithResult(result?: IDialogResult<any>)
参数
- result
-
IDialogResult<any>
返回
error(Error)
指示发生了错误。 机器人将通过 on('error', err) 事件发出错误信号。
function error(err: Error)
参数
- err
-
Error
发生错误。
返回
gettext(string, any[])
加载消息语言的本地化字符串。 如果传递参数,本地化字符串将被视为模板,并使用 sprintf-js 进行格式化(请参阅其文档了解详细信息)。
function gettext(msgid: string, args: any[])
参数
- msgid
-
string
要用作本地化字符串表中键的字符串。 通常,这只是字符串的英文版本。
- args
-
any[]
(可选)用于设置最终输出字符串格式的参数。
返回
string
hangup()
isReset()
如果会话已重置,则返回 true。
function isReset()
返回
boolean
messageSent()
如果已为此会话发送消息,则返回 true。
function messageSent()
返回
boolean
ngettext(string, string, number)
加载消息语言的本地化字符串的复数形式。 输出字符串的格式将设置为包含计数,方法是将字符串中的 %d 替换为计数。
function ngettext(msgid: string, msgid_plural: string, count: number)
参数
- msgid
-
string
要用作本地化字符串表中键的字符串的单一形式。 使用 %d 指定计数应到的位置。
- msgid_plural
-
string
要用作本地化字符串表中键的字符串的复数形式。 使用 %d 指定计数应到的位置。
- count
-
number
确定是否应使用字符串的单数形式或复数形式时要使用的计数。
返回
string
on(string, Function)
注册事件侦听器。
function on(event: string, listener: Function)
参数
- listener
-
Function
要调用的函数。
reject()
replaceDialog<T>(string, T)
结束当前对话框,并启动其位置的新对话。 在新对话完成之前,不会恢复父对话。
function replaceDialog<T>(id: string, args?: T)
参数
- id
-
string
要启动的对话的唯一 ID。
- args
-
T
(可选)参数,用于传递给对话 begin() 方法。
返回
reset(string, any)
清除会话调用堆栈,并使用配置的 dialogId 重启会话。
function reset(dialogId?: string, dialogArgs?: any)
参数
- dialogId
-
string
(可选)要启动的对话框的 ID。
- dialogArgs
-
any
(可选)参数,用于传递给对话 begin() 方法。
返回
save()
触发对 dialogData、userData、conversationdata或 [privateConversationData'(#privateconversationdata)所做的更改的保存。
function save()
返回
send(string | string[] | IAction | IIsAction, any[])
向用户发送 PlayPrompt 操作。
function send(action: string | string[] | IAction | IIsAction, args: any[])
参数
-
操作:{string} - 要发送的消息的文本。 将使用配置的本地化程序会话来本地化消息。 如果在消息中传递参数,将使用 sprintf-js
格式化。 - 操作:{string[]} - 将从数组中随机选择发送的消息。
- 操作:{IAction|IIsAction} - 要发送的操作。
- args
-
any[]
(可选)参数,用于在
返回
sendBatch()
立即结束当前批处理并传递任何排队的消息。
function sendBatch()