CallSession class
管理與使用者的 Bot 交談。
建構函式
| Call |
建立工作階段的實例。 |
屬性
| conversation |
交談的所有成員都可以看到的共用交談數據。 |
| dialog |
只有目前對話框可以看到的數據。 |
| library | 對話的 Bot 根連結庫。 |
| message | 從使用者接收的訊息。 對於 Bot 產生的訊息,這只能包含 「to」 & 「from」 欄位。 |
| private |
使用者只能看見的私人交談數據。 |
| session |
工作階段目前的狀態資訊。 |
| user |
與 Bot 所有交談中保存的用戶數據。 |
方法
| answer() | 手動接聽通話。 Bot 採取動作時,會自動接聽呼叫。 |
| begin |
將交談的控制權傳遞至新的對話。 目前的對話框將會暫停,直到子對話完成為止。 子系結束之後,目前對話方塊將會收到呼叫 dialogResumed(),您可以在其中檢查從子系傳回的任何結果。 |
| dispatch(ISession |
分派訊息進行處理。 會話會先呼叫任何已安裝的中間件,再將訊息傳送至使用中對話框進行處理。 |
| end |
結束目前的交談,並選擇性地傳送訊息給使用者。 通話將會自動掛斷或拒絕。 |
| end |
結束目前的對話框,並選擇性地傳送訊息給使用者。 父系將會以 IDialogResult.resumed 繼續 完成 的原因。 |
| end |
結束目前的對話框,並選擇性地將結果傳回給對話框父代。 |
| error(Error) | 表示發生錯誤。 Bot 會透過 on('error', err) 事件發出錯誤訊號。 |
| gettext(string, any[]) | 載入訊息語言的當地語系化字串。 如果傳遞自變數,當地語系化字串將會被視為範本,並使用 sprintf-js 格式化 (如需詳細資訊,請參閱其檔。 |
| hangup() | 手動結束已建立的呼叫。 當 Bot 停止提示使用者輸入時,系統會自動結束呼叫。 |
| is |
如果會話已重設,則傳回 true。 |
| message |
如果已為此會話傳送訊息,則傳回 true。 |
| ngettext(string, string, number) | 載入訊息語言當地語系化字串的複數形式。 輸出字串會格式化為包含計數,方法是將字串中的 %d 取代為 count。 |
| 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
與 Bot 所有交談中保存的用戶數據。
userData: any
屬性值
any
方法詳細資料
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[])
參數
(選擇性)
- args
-
any[]
(選擇性) 自變數,當 訊息 為 {string|string[]}時,用來格式化最終輸出文字的自變數。
傳回
endDialog(string | string[] | IAction | IIsAction, any[])
結束目前的對話框,並選擇性地傳送訊息給使用者。 父系將會以 IDialogResult.resumed 繼續 完成 的原因。
function endDialog(action?: string | string[] | IAction | IIsAction, args: any[])
參數
(選擇性)
- 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()
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)
參數
- listener
-
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()
觸發 dialogData、userData、conversationdata或 [privateConversationData'(#privateconversationdata) 所做的變更儲存。
function save()
傳回
send(string | string[] | IAction | IIsAction, any[])
將 PlayPrompt 動作傳送給使用者。
function send(action: string | string[] | IAction | IIsAction, args: any[])
參數
- args
-
any[]
(選擇性) 自變數,當 動作 為 {string|string[]} 時,用來格式化最終輸出文字的自變數。
傳回
sendBatch()
立即結束目前的批次,並傳遞任何已排入佇列的訊息。
function sendBatch()