跳转到主要内容

category

此机器人是使用bot Framework创建的,它展示了如何创建一个简单的技能消费者(SimpleRootBot),该技能消费者将消息活动发送给技能(EchoSkillBot),技能会将其回复。

此示例是一个Spring Boot应用程序,使用Azure CLI和Azure webapp Maven插件部署到Azure。

先决条件

  • Java 1.8+
  • Install Maven
  • An account on Azure if you want to deploy to Azure.
     

本示例中的关键概念


该解决方案包括一个父机器人(SimpleRootBot)和一个技能机器人(EchoSkillBot),并显示了父机器人如何向技能机器人发布活动并将技能响应返回给用户。

  • SimpleRootBot:该项目展示了如何使用回声技能,包括:
    • 一个调用回声技能并保持对话活动的RootBot ,直到用户说“结束”或“停止”。RootBot还会跟踪与技能的对话,并处理从技能收到的EndOfConversation活动以终止对话
    • 基于内存映射的简单SkillConversationIdFactory ,创建并维护用于与技能交互的对话ID
    • 一个SkillsConfiguration类,可以从应用程序设置中加载技能定义
    • 处理技能反应的SkillController 
    • AllowedSkillsClaimsValidator 类,用于验证发送给机器人的响应是否来自配置的技能
    • 一个Application 类,显示如何注册不同的技能组件以进行依赖注入
  • EchoSkillBot:这个项目展示了一个简单的回声技能,它从父机器人接收消息活动,并回声用户所说的话。该项目包括:
    • 一个示例EchoBot,显示如何根据发送给技能的消息发送EndOfConversation,并将控制权交还给父机器人
    • 一个示例AllowedCallersClaimsValidator,显示如何验证该技能仅从允许的调用者列表中调用
    • 描述技能可以做什么的sample skill manifest 

尝试此示例

  • 在azure门户中为EchoSkillBot创建机器人注册,并使用新机器人注册的MicrosoftAppId和MicrosoftAppPassword更新EchoSkill bot/application.properties
  • 在azure门户中为SimpleRootBot创建一个机器人注册,并使用新机器人注册的MicrosoftAppId和MicrosoftAppPassword更新SimpleRootBot/application.properties
  • 使用您在上一步中创建的技能的应用程序ID更新SimpleRootBot/application.properties中的BotFrameworkSkills部分
  • (可选)将SimpleRootBot MicrosoftAppId添加到EchoSkillBot/application.properties中的AllowedCallers列表中
  • 打开SimpleBotToBot项目并启动它进行调试
  • 打开EchoSkillsBot项目并启动它进行调试

使用bot Framework模拟器测试机器人


Bot Framework Emulator是一个桌面应用程序,允许机器人开发人员在本地主机上测试和调试他们的机器人,或通过隧道远程运行。

  • 从此处安装Bot Framework Emulator 4.7.0或更高版本
     

使用bot Framework模拟器连接到机器人

  • 启动Bot框架模拟器
  • 文件->打开Bot
  • 输入Bot URL: http://localhost:3978/api/messages,SimpleRootBot的MicrosoftAppId和MicrosoftAppPassword


将机器人部署到Azure

  • 要了解有关将机器人部署到Azure的更多信息,请参阅将机器人部署至Azure以获取完整的部署说明列表。