CallSession class

管理與使用者的 Bot 交談。

建構函式

CallSession(ICallSessionOptions)

建立工作階段的實例。

屬性

conversationData

交談的所有成員都可以看到的共用交談數據。

dialogData

只有目前對話框可以看到的數據。

library

對話的 Bot 根連結庫。

message

從使用者接收的訊息。 對於 Bot 產生的訊息,這只能包含 「to」 & 「from」 欄位。

privateConversationData

使用者只能看見的私人交談數據。

sessionState

工作階段目前的狀態資訊。

userData

與 Bot 所有交談中保存的用戶數據。

方法

answer()

手動接聽通話。 Bot 採取動作時,會自動接聽呼叫。

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)

表示發生錯誤。 Bot 會透過 on('error', err) 事件發出錯誤訊號。

gettext(string, any[])

載入訊息語言的當地語系化字串。 如果傳遞自變數,當地語系化字串將會被視為範本,並使用 sprintf-js 格式化 (如需詳細資訊,請參閱其檔。

hangup()

手動結束已建立的呼叫。 當 Bot 停止提示使用者輸入時,系統會自動結束呼叫。

isReset()

如果會話已重設,則傳回 true。

messageSent()

如果已為此會話傳送訊息,則傳回 true。

ngettext(string, string, number)

載入訊息語言當地語系化字串的複數形式。 輸出字串會格式化為包含計數,方法是將字串中的 %d 取代為 count。

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

對話的 Bot 根連結庫。

library: Library

屬性值

message

從使用者接收的訊息。 對於 Bot 產生的訊息,這只能包含 「to」 & 「from」 欄位。

message: IEvent

屬性值

privateConversationData

使用者只能看見的私人交談數據。

privateConversationData: any

屬性值

any

sessionState

工作階段目前的狀態資訊。

sessionState: ISessionState

屬性值

userData

與 Bot 所有交談中保存的用戶數據。

userData: any

屬性值

any

方法詳細資料

answer()

手動接聽通話。 Bot 採取動作時,會自動接聽呼叫。

function answer()

傳回

beginDialog<T>(string, T)

將交談的控制權傳遞至新的對話。 目前的對話框將會暫停,直到子對話完成為止。 子系結束之後,目前對話方塊將會收到呼叫 dialogResumed(),您可以在其中檢查從子系傳回的任何結果。

function beginDialog<T>(id: string, args?: T)

參數

id

string

要啟動之對話框的唯一標識符。

args

T

(選擇性) 自變數,以傳遞至 dialogs 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)

表示發生錯誤。 Bot 會透過 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()

手動結束已建立的呼叫。 當 Bot 停止提示使用者輸入時,系統會自動結束呼叫。

function hangup()

傳回

isReset()

如果會話已重設,則傳回 true。

function isReset()

傳回

boolean

messageSent()

如果已為此會話傳送訊息,則傳回 true。

function messageSent()

傳回

boolean

ngettext(string, string, number)

載入訊息語言當地語系化字串的複數形式。 輸出字串會格式化為包含計數,方法是將字串中的 %d 取代為 count。

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

要啟動之對話框的唯一標識符。

args

T

(選擇性) 自變數,以傳遞至 dialogs begin() 方法。

傳回

reset(string, any)

清除會話呼叫堆疊,並使用已設定的 dialogId 重新啟動交談。

function reset(dialogId?: string, dialogArgs?: any)

參數

dialogId

string

(選擇性)要啟動之對話框的識別碼。

dialogArgs

any

(選擇性) 自變數,以傳遞至 dialogs 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()