CallSession class

管理与用户的机器人对话。

构造函数

CallSession(ICallSessionOptions)

创建会话的实例。

属性

conversationData

对聊天的所有成员可见的共享聊天数据。

dialogData

仅对当前对话框可见的数据。

library

机器人对话根库。

message

从用户接收的消息。 对于机器人发起的消息,这只能包含“to”&“from”字段。

privateConversationData

仅对用户可见的专用聊天数据。

sessionState

会话当前状态信息。

userData

与机器人的所有对话中持久保存的用户的数据。

方法

answer()

手动应答呼叫。 机器人执行操作时,将自动应答呼叫。

beginDialog<T>(string, T)

将对话的控制传递给新对话。 当前对话将挂起,直到子对话完成。 子级结束后,当前对话将收到对 dialogResumed() 的调用, 可在其中检查从子级返回的任何结果。

dispatch(ISessionState, IEvent)

调度消息进行处理。 会话将调用任何已安装的中间件,然后再将消息传递给活动对话框进行处理。

endConversation(string | string[] | IAction | IIsAction, any[])

结束当前对话,并选择性地向用户发送消息。 呼叫将自动挂起或拒绝。

endDialog(string | string[] | IAction | IIsAction, any[])

结束当前对话框,并选择性地向用户发送消息。 父级将以 IDialogResult.resumed 完成 的原因恢复。

endDialogWithResult(IDialogResult<any>)

结束当前对话,并选择性地将结果返回给对话父级。

error(Error)

指示发生了错误。 机器人将通过 on('error', err) 事件发出错误信号。

gettext(string, any[])

加载消息语言的本地化字符串。 如果传递参数,本地化字符串将被视为模板,并使用 sprintf-js 进行格式化(请参阅其文档了解详细信息)。

hangup()

手动结束已建立的呼叫。 当机器人停止提示用户输入时,将自动结束调用。

isReset()

如果会话已重置,则返回 true。

messageSent()

如果已为此会话发送消息,则返回 true。

ngettext(string, string, number)

加载消息语言的本地化字符串的复数形式。 输出字符串的格式将设置为包含计数,方法是将字符串中的 %d 替换为计数。

on(string, Function)

注册事件侦听器。

reject()

拒绝传入呼叫。

replaceDialog<T>(string, T)

结束当前对话框,并启动其位置的新对话。 在新对话完成之前,不会恢复父对话。

reset(string, any)

清除会话调用堆栈,并使用配置的 dialogId 重启会话。

save()

触发对 dialogDatauserDataconversationdata或 [privateConversationData'(#privateconversationdata)所做的更改的保存。

send(string | string[] | IAction | IIsAction, any[])

向用户发送 PlayPrompt 操作。

sendBatch()

立即结束当前批处理并传递任何排队的消息。

构造函数详细信息

CallSession(ICallSessionOptions)

创建会话的实例。

new CallSession(options: ICallSessionOptions)

参数

options
ICallSessionOptions

会话配置选项。

属性详细信息

conversationData

对聊天的所有成员可见的共享聊天数据。

conversationData: any

属性值

any

dialogData

仅对当前对话框可见的数据。

dialogData: any

属性值

any

library

机器人对话根库。

library: Library

属性值

message

从用户接收的消息。 对于机器人发起的消息,这只能包含“to”&“from”字段。

message: IEvent

属性值

privateConversationData

仅对用户可见的专用聊天数据。

privateConversationData: any

属性值

any

sessionState

会话当前状态信息。

sessionState: ISessionState

属性值

userData

与机器人的所有对话中持久保存的用户的数据。

userData: any

属性值

any

方法详细信息

answer()

手动应答呼叫。 机器人执行操作时,将自动应答呼叫。

function 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[])

参数

action

string | string[] | IAction | IIsAction

(可选)

  • 操作:{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[])

参数

action

string | string[] | IAction | IIsAction

(可选)

  • 操作:{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()

手动结束已建立的呼叫。 当机器人停止提示用户输入时,将自动结束调用。

function 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)

参数

event

string

事件的名称。 事件类型:

listener

Function

要调用的函数。

reject()

拒绝传入呼叫。

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()

触发对 dialogDatauserDataconversationdata或 [privateConversationData'(#privateconversationdata)所做的更改的保存。

function save()

返回

send(string | string[] | IAction | IIsAction, any[])

向用户发送 PlayPrompt 操作。

function send(action: string | string[] | IAction | IIsAction, args: any[])

参数

action

string | string[] | IAction | IIsAction

  • 操作:{string} - 要发送的消息的文本。 将使用配置的本地化程序会话来本地化消息。 如果在消息中传递参数,将使用 sprintf-js格式化。
  • 操作:{string[]} - 将从数组中随机选择发送的消息。
  • 操作:{IAction|IIsAction} - 要发送的操作。
args

any[]

(可选)参数,用于在 操作 为 {string|string[]}时设置最终输出文本的格式。

返回

sendBatch()

立即结束当前批处理并传递任何排队的消息。

function sendBatch()