内容提要
Chat SDK的Microsoft Teams适配器现支持反应和临时消息,机器人可添加/移除反应,并通过postEphemeral发送仅目标用户可见的消息。新增功能包括作者邮箱、自定义令牌工厂、原生DM状态、改进对话路由和提及转换。感谢onmax的贡献。
延伸解读
跨适配器统一API的价值
此次更新让Teams适配器与其他适配器使用相同的API处理反应和临时消息,降低了开发者的学习成本。这意味着基于Chat SDK构建的机器人可以更轻松地在不同平台间迁移或同时运行,无需为Teams单独编写逻辑。对于维护多平台机器人的团队,这种一致性有助于减少代码分支和测试工作量。
临时消息的典型应用场景
临时消息(ephemeral message)仅对特定用户可见,非常适合用于权限请求、操作确认或个性化提示。例如,机器人可以在处理命令时向发起者发送“仅你可见”的进度更新,避免干扰群聊中的其他成员。文章中的示例展示了如何结合反应和临时消息,先发送可见消息,再通过临时消息提供私密反馈。
身份验证与路由改进的实践意义
自定义令牌工厂解决了无Azure IMDS环境下的身份验证难题,使机器人能在更多运行时部署。同时,修复群聊被误判为私聊的问题,确保对话路由正确,避免消息发送到错误的地方。这些改进虽不显眼,但对生产环境的稳定性和安全性至关重要。
Q&A
Chat SDK的Teams适配器现在支持哪些新功能?
支持反应和临时消息,以及作者邮箱、自定义令牌工厂、原生DM状态、改进对话路由和提及转换。
如何在Teams消息上添加或移除反应?
通过调用消息对象的addReaction和removeReaction方法,传入emoji参数即可。
如何发送仅对特定用户可见的临时消息?
调用thread.postEphemeral()或channel.postEphemeral()方法,并传入目标用户的标识和消息内容。
自定义令牌工厂有什么作用?
允许开发者通过TeamsAdapterConfig传入令牌函数,提供自己的访问令牌,使机器人无需Azure IMDS或静态客户端密钥即可进行身份验证。
这次更新对群组对话的处理有什么改进?
群组对话不再被误识别为直接消息,确保它们总是被正确处理。
提及转换功能解决了什么问题?
它确保电子邮件地址、URL中的@句柄和代码跨度内的提及不会被错误地转换为Teams提及。