公司使用Office Communicator Server 2007作为内部即时通讯工具,员工每天早上上班打开电脑后,首先要做的通常是登陆Communicator和打开Outlook,能不能开发一个总是在线的帮助机器人呢?比如对机器人输入某位同事的员工号,就能获得其座机、手机、部门、职位等等信息,再比如对机器人输入某个内部系统的名称,就能得到改系统的访问地址、系统介绍等信息,所有的公司内部资料信息都可以通过帮助机器人获得。随着公司员工的不断增多,内部系统长时间使用后的大量数据信息,方便的查询更显得尤为重要。
实现原理:帮助机器人通过程序登录Office Communicator ,作为控制台应用程序一直运行。当收到信息时,根据信息的具体内容,获得查询结果,并将结果发送给查询者。
来看一下具体的实现过程。
首先创建 CollaborationPlatform。
然后创建代表机器人账户的UserEndPoint,通过TLS方式登录,并为其绑定事件处理程序,如下:
UserEndPoint.RegisterForIncomingCall<InstantMessagingCall>(On_InstantMessagingCall_Received);
通过字面不难理解。当收到消息时,在On_InstantMessagingCall_Received事件处理程序中,创建这次对话的InstantMessagingCall,并为其InstantMessagingFlowConfigurationRequested事件绑定处理程序,在InstantMessagingFlowConfigurationRequested的事件处理程序中,创建InstantMessagingFlow,负责对话文字流的传输,它有一个非常重要的事件MessageReceived,通过这个事件,能获得查询发送者的Uri地址及其发送的具体查询内容,根据具体的查询内容,程序去AD、系统数据库或其他资料信息存放处获得查询结果,并通过InstantMessagingFlow的BeginSendMessage方法将结果返回给查询的发送者,它需要三个参数,要发送给查询者的内容、发送结束后执行的回调函数和执行发送操作的InstantMessagingFlow对象,在回调函数中,主要通过EndSendMessage来结束发送及若产生错误进行异常处理。这样帮助机器人就完成了一次从收到查询信息到返回给查询者结果的过程。
帮助机器人就是通过不断循环执行这个过程来实现查询帮助操作。
- 相关阅读:
- ·ONF完成业界首个基于SDN的无线传输PoC
//net.zol.com.cn/545/5456103.html - ·没错是微软 推出基于Linux的交换机系统
//net.zol.com.cn/542/5425523.html - ·SDN和NFV帮助欧洲运营商节省390亿欧元
//net.zol.com.cn/522/5225002.html - ·思博伦推基于开放架构的SDN/NFV云测试平台
//net.zol.com.cn/455/4557044.html - ·"大数据改变未来"圆桌论坛:机遇挑战并存
//net.zol.com.cn/442/4423671.html
超稳定的双2.5G口高端路由性价比之王 中
解决家庭WiFi难题的救星 中兴巡天路由图
焕新出发 锐捷网络战略全面升级
锐捷+腾讯“威胁情报”战略合作发布会
2022年中小企业精选产品/方案评选
2021年华为全场景智慧生活新品发布会