使用Python Botframework SDK开发的Teams Bot被误判为Skype Bot致消息发送失败求助
Teams Bot被识别为Skype应用导致消息发送失败的解决方案
检查Bot通道配置
登录Azure门户找到你的Bot资源,进入「通道」页面,只保留Microsoft Teams通道,关闭并移除Skype通道,保存配置后重新同步。修正应用清单配置
打开自定义应用的manifest.json,确保bots节点的channelId值为msteams,示例:"bots": [ { "botId": "<你的Bot ID>", "scopes": ["team", "personal", "groupchat"], "channelId": "msteams" } ]同时检查
validDomains仅包含Bot服务的域名,不要混入Skype相关域名。重新上传应用包
修改清单后重新打包成zip,删除Teams里已有的旧应用,再重新上传。上传时注意验证环节的提示,确认不再被识别为Skype应用。排查Conversation ID逻辑
检查Python代码中获取对话ID的部分:- 确保从Teams的活动对象中提取
activity.conversation.id,不要用Skype相关的活动数据。 - 直接通过Bot Framework的
TurnContext对象获取,比如turn_context.activity.conversation.id,避免手动拼接错误。
- 确保从Teams的活动对象中提取
确认Azure AD权限
检查Bot关联的Azure AD应用,添加Teams对应的权限(如ChannelMessage.Send、ChatMessage.Send)并完成管理员同意,不要使用仅针对Skype的权限。
内容的提问来源于stack exchange,提问作者Anesh
相关产品推荐
相关产品推荐

