主端

主端是 EFB 框架直接或间接与用户交互的界面。尽管 EFB 的第一个主端(EFB Telegram 主端)是用 Telegram Bot 的形式展现的,但主端的展现形式可能多重多样:

  • Web App

  • 提供 API 给专有桌面和移动客户端程序的服务端程序

  • 面向现有 IM 的 bot

  • 使用泛用型 IM 协议的服务器程序

  • CLI 客户端

  • 其他任何你能想到的形式…

设计指南

当主端在现有的协议或平台上实现时,在尽可能在考虑用户体验的同时也应当(SHOULD):

  • 为每一个会话提供一个专属的聊天串,标注其名称、来源信道和类型;

  • 尽可能支持框架所定义的所有消息类型,在用户和从端之间处理并传递消息;

  • 尽可能支持所有消息特性,包括直接回复消息、消息指向替换(通常用于 @ 引用用户)、消息指令等。主端应当(SHOULD)能够处理来自从端的具有此类特性的消息,并在适当的情况允许用户发送具有这些特性的消息到从端;

  • 能够调用和处理从端提供的「附加功能」。

另外,主端可以选择支持一些从端提供的「供应商特定」数据。

../_images/master-channel-0.png

理想的主端设计的例子,灵感来自 Telegram Desktop

取决于实现方式,主端可能需要维护一个完整的会话和消息列表,以展示给用户或用作其他用途。

消息传递

注意:有时用户可能在 EFB 进程之外发送消息,因此从端有可能传递发件人为「self」类型的消息到主端。

实现细节

参见 MasterChannel