通过


IConnector interface

由 UniversalBot 的连接器插件实现。

方法

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

(可选)方法,可以调用以删除以前使用 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()发送的消息。

方法详细信息

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

(可选)方法,可以调用以删除以前使用 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

每当收到“invoke”事件时应调用的函数。

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()发送的消息。

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

参数

message
IMessage

要覆盖现有消息的消息。 message.address 字段应包含从上一次调用 send()返回的地址。

callback

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

完成操作后要调用的函数。