Matrix平台带UI卡片及可点击按钮的消息发送方案技术咨询
Matrix卡片消息功能实现方案解答
问题1:Inline Widgets是否已正式实现?
目前Inline Widgets对应的提案尚未纳入Matrix核心稳定规范,主流客户端未正式上线对该功能的生产级支持,暂时没有可用于商用开发的官方稳定参考文档,不建议在企业级项目中使用。
问题2:Room Widgets是否可满足需求?
Room Widgets本身是Matrix规范已稳定支持的功能,但无法匹配你的需求场景:Room Widgets属于嵌入整个房间的全局公共组件,不能和单条消息绑定展示,不符合你要将JSON数据转换为单条消息卡片的诉求,仅支持按钮交互回调的部分能力。
目前Matrix生态下匹配你的需求的成熟方案是通过Bot发送基于m.message扩展的自定义结构化消息事件,携带卡片配置和按钮参数,主流Matrix客户端(如Element)支持渲染该类消息为带交互按钮的卡片,用户点击按钮后会自动回发指定事件,你可以监听对应事件执行关联操作,能力对齐Teams的Adaptive Cards、Slack的Block Kit。
问题3:是否存在无需Bot的实现方案?
有两类不需要Bot即可落地的方案:
- 你可以直接使用普通用户账号发送上述的自定义结构化消息事件,只要卡片格式符合客户端的渲染规则,就能正常展示和响应按钮交互,不需要专门部署Bot账号
- 如果你们的项目使用自研封装的Matrix客户端,可以自行扩展消息渲染规则:约定好内部JSON数据的结构,客户端收到对应结构的消息时自动渲染为卡片和按钮,按钮交互逻辑直接在客户端本地实现,不需要额外的后端服务支撑
内容的提问来源于stack exchange,提问作者Abhigyan Kumar
相关产品推荐
相关产品推荐

