Canales principales

Los canales principales son la interfaces que interactúa directa o indirectamente con el usuario. A pesar del primer canal maestro de EFB (EFB telegrama maestro) está escrito en una forma de bot telegrama, los canales principales se pueden escribir en muchas formas, tales como:

  • Una aplicación Web

  • Un servidor que expone APIs a clientes de escritorio y móviles dedicados

  • Un bot chat en un IM existente

  • Un servidor que compila con un protocolo im genérico

  • Un cliente CLI

  • Cualquier otra cosa que puedas pensar…

Lineamientos de diseño

When the master channel is implemented on an existing protocol or platform, as far as possible, while considering the user experience, a master channel SHOULD:

  • maintain one conversation thread per chat, indicating its name, source channel and type;

  • soportar todos, o al menos la mayoría de los tipos de mensajes definidos en el framework, procesar y entregar los mensajes entre el usuario y los canales esclavos;

  • support all, if not most, features of messages, including: targeted message reply, chat substitution in text (usually used in @ references), commands, etc. Master channel SHOULD be able to process incoming messages with such features, and send messages with such features to slave channels if applicable;

  • ser capaz de invocar y procesar «características adicionales» ofrecidas por los canales esclavos.

Opcionalmente, un canal maestro puede soportar/identificar información específica del proveedor de algunos canales esclavos.

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

Ejemplo del diseño ideal de una canal maestro, inspirado por la aplicación de escritorio de Telegram

Dependiendo de la implementación, un canal maestro probablemente necesite mantener una lista de chats y mensajes para presentación u otros propósitos.

Entrega de mensajes

Note that sometimes the User may send messages outside of this EFB session, so that slave channels MAY provide a message with its author in the “self” type.

Implementation details

See MasterChannel.