Teams Bot Manifest 1.21中scopes的maxItems限制是否为预期设计?
Teams Bot Manifest 1.21 Schema中scopes属性maxItems限制疑问
我查看了版本1.21的Teams manifest schema,发现bot配置里的scopes属性定义中maxItems被设置为3,但该属性的枚举值包含"team"、"personal"、"groupChat"、"copilot"共4个选项,导致无法同时定义全部4个值——例如scopes: ["team", "personal", "groupChat", "copilot"]这样的manifest定义会被判定为无效。想咨询这个限制是预期设计还是疏漏?
Schema定义摘录
"scopes": { "type": "array", "description": "Specifies whether the bot offers an experience in the context of a channel in a team, in a 1:1 or group chat, or in an experience scoped to an individual user alone. These options are non-exclusive.", "maxItems": 3, "items": { "enum": [ "team", "personal", "groupChat", "copilot" ] } }, "commandLists": { "type": "array", "maxItems": 3, "description": "The list of commands that the bot supplies, including their usage, description, and the scope for which the commands are valid. A separate command list should be used for each scope.", "items": { "type": "object", "additionalProperties": false, "properties": { "scopes": { "type": "array", "description": "Specifies the scopes for which the command list is valid", "maxItems": 3, "items": { "enum": [ "team", "personal", "groupChat", "copilot" ] } } } } }
解答
这个maxItems:3的限制属于疏漏,并非预期设计。
从schema的描述文字来看,scopes明确标注了“这些选项是非排他性的”,而copilot是Teams后续新增的作用域,schema中的maxItems限制未同步更新。
官方已经在1.22及更高版本的schema中修复了该问题,将maxItems调整为4,允许同时配置全部4个作用域。如果需要启用所有scopes,推荐升级manifest版本到1.22或以上;若必须使用1.21版本,可暂时跳过schema校验(部分部署工具支持该操作),Teams平台实际已支持同时启用这4个作用域,不会影响功能正常运行。
内容的提问来源于stack exchange,提问作者Bertold Kolics
相关产品推荐
相关产品推荐

