共用方式為


IConnector interface

由 UniversalBot 的連接器外掛程式實作。

方法

delete(IAddress, (err: Error) => void)

(選擇性) 方法,可以呼叫以刪除先前使用 send() send() 傳送的訊息,

onEvent((events: IEvent[], callback?: (err: Error) => void) => void)

在註冊時由 UniversalBot 呼叫,以註冊處理程式以接收來自通道的傳入事件。

onInvoke((event: IEvent, callback?: (err: Error, body: any, status?: number) => void) => void)

(選擇性)在註冊時由 UniversalBot 呼叫,以註冊接收傳入叫用事件的處理程式。 叫用事件是特殊事件,預期會以內嵌方式傳回主體,做為接收要求的回應的一部分。

send(IMessage[], (err: Error, addresses?: IAddress[]) => void)

將傳出訊息傳送給使用者。 每當您呼叫 UniversalBot.send()Session.send()時,此方法最終都會呼叫 。 您可以使用 session.connector.send() 手動呼叫此方法,作為取得已傳送之訊息位址的便利方式。 然後,您可以儲存此位址,並在稍後的時間點使用它來更新或刪除訊息。 請記住的一件事是,如果您手動呼叫 session.connector.send() 您將略過傳出訊息通常會通過的任何中間件。 呼叫 session.send(msg).sendBatch(function (err, addresses) { }) 會執行相同動作,但可確保傳出訊息是透過中間件傳送。

startConversation(IAddress, (err: Error, address?: IAddress) => void)

當 UniversalBot 想要與用戶開始新的主動式交談時呼叫。 連接器應該會傳回格式正確 IAddress.conversation 欄位的位址。 當您呼叫 UniversalBot.beginDialog() 時,通常會呼叫這個值,但每次傳送訊息 IAddress.conversation 為 null 時也會呼叫。

update(IMessage, (err: Error, address?: IAddress) => void)

(選擇性) 方法,可以呼叫 來取代先前使用 send() send() 傳送的訊息

方法詳細資料

delete(IAddress, (err: Error) => void)

(選擇性) 方法,可以呼叫以刪除先前使用 send() send() 傳送的訊息,

function delete(address: IAddress, callback: (err: Error) => void)

參數

address
IAddress

要刪除之訊息的位址。

callback

(err: Error) => void

作業完成後要叫用的函式。

onEvent((events: IEvent[], callback?: (err: Error) => void) => void)

在註冊時由 UniversalBot 呼叫,以註冊處理程式以接收來自通道的傳入事件。

function onEvent(handler: (events: IEvent[], callback?: (err: Error) => void) => void)

參數

handler

(events: IEvent[], callback?: (err: Error) => void) => void

每當收到不是 「invoke」 類型的事件時,應該呼叫的函式。

onInvoke((event: IEvent, callback?: (err: Error, body: any, status?: number) => void) => void)

(選擇性)在註冊時由 UniversalBot 呼叫,以註冊接收傳入叫用事件的處理程式。 叫用事件是特殊事件,預期會以內嵌方式傳回主體,做為接收要求的回應的一部分。

function onInvoke(handler: (event: IEvent, callback?: (err: Error, body: any, status?: number) => void) => void)

參數

handler

(event: IEvent, callback?: (err: Error, body: any, status?: number) => void) => void

每當收到「叫用」事件時應該呼叫的函式。

send(IMessage[], (err: Error, addresses?: IAddress[]) => void)

將傳出訊息傳送給使用者。 每當您呼叫 UniversalBot.send()Session.send()時,此方法最終都會呼叫 。 您可以使用 session.connector.send() 手動呼叫此方法,作為取得已傳送之訊息位址的便利方式。 然後,您可以儲存此位址,並在稍後的時間點使用它來更新或刪除訊息。 請記住的一件事是,如果您手動呼叫 session.connector.send() 您將略過傳出訊息通常會通過的任何中間件。 呼叫 session.send(msg).sendBatch(function (err, addresses) { }) 會執行相同動作,但可確保傳出訊息是透過中間件傳送。

function send(messages: IMessage[], callback: (err: Error, addresses?: IAddress[]) => void)

參數

messages

IMessage[]

要傳送使用者的訊息陣列。

callback

(err: Error, addresses?: IAddress[]) => void

作業完成後要叫用的函式。

startConversation(IAddress, (err: Error, address?: IAddress) => void)

當 UniversalBot 想要與用戶開始新的主動式交談時呼叫。 連接器應該會傳回格式正確 IAddress.conversation 欄位的位址。 當您呼叫 UniversalBot.beginDialog() 時,通常會呼叫這個值,但每次傳送訊息 IAddress.conversation 為 null 時也會呼叫。

function startConversation(address: IAddress, callback: (err: Error, address?: IAddress) => void)

參數

address
IAddress

要為其啟動交談的用戶位址。 IAddress.conversation 欄位應該是 null。

callback

(err: Error, address?: IAddress) => void

作業完成後要叫用的函式。

update(IMessage, (err: Error, address?: IAddress) => void)

(選擇性) 方法,可以呼叫 來取代先前使用 send() send() 傳送的訊息

function update(message: IMessage, callback: (err: Error, address?: IAddress) => void)

參數

message
IMessage

要覆寫現有訊息的訊息。 message.address 欄位應包含從先前呼叫 send()傳回的位址。

callback

(err: Error, address?: IAddress) => void

作業完成後要叫用的函式。