zoukankan      html  css  js  c++  java
  • 一个支持聊天机器人的开源IM

    0. 源码地址

    TinyIM

    经过6个月的开发工作,TinyIM的第一个版本终于完成了。IM这么多,它有哪些不一样的地方呢?

    1. 支持聊天机器人

    目前的主流IM客户端的设计上,收发消息都需要通过界面完成。我们知道GUI的代码做自动化测试比较困难,TinyIM对客户端采用了将GUI和Core分离的架构设计,并在Core部分同时支持TCP协议和HTTP协议。

    这样做的好处有两点:
    1、可以通过同步的HTTP协议编写ImRobot;
    2、可以通过同步的HTTP协议编写业务逻辑的测试代码。

    光说不练假把式,还是有图有真相的好。
    ImRobot

    2. 主模块跨平台

    多样化的社会也是丰富多彩的社会,那么跨平台就是多样化的一个体现。TinyIM一共有4个主要的程序组成,除ClientGUI以外,其他的模块都实现了跨平台。

    组件 Windows Linux MacOS
    ClientCore 支持 支持 理论支持,暂未测试
    ClientGUI 支持 可以通过Electron等技术支持 可以通过Electron等技术支持
    ChatServer 支持 支持 理论支持,暂未测试
    ImRobot 支持 支持 理论支持,暂未测试

    实际测试:
    在Windows平台和Ubunbu上我已经进行了测试,程序的编译和运行都没有问题。ClientGUI的部分,可以使用QT等跨平台技术开发,也可以使用Electron等技术。

    3. 图示流程,注释丰富

    对于每个主要的业务流程,TinyIM都力图使用流程图描述。从简单的逻辑到复杂的流程,都可以让您做到----“胸有成图,码到成功”。

    发送图片流程图:

    发送图片

    看代码最郁闷的就是没有注释了,TinyIM没有这个问题。TinyIM为几乎每一个函数都添加了Doxygen风格的注释,让您轻轻松松读代码,明明白白改bug。

    CodeComment

    4. 联系作者

    QQ群: 106350930
    邮箱: dennismi1024@gmail.com
    blog: 浮生笔记

  • 相关阅读:
    setUP和tearDown,setUpClass和tearDownClass
    执行代码提示:Ran 0 tests in 0.000s
    Python自动化测试执行用例
    Python+webdriver自动化脚本的封装调用
    SQL之INDEX
    SQL之WHERE,GROUP,HAVING,ORDER BY
    SQL之LIMIT
    python基础之字符编码、文件处理
    python基础之列表、元组、字典、布尔值、集合
    python基础之if条件判断、while循环及数据类型
  • 原文地址:https://www.cnblogs.com/Dennis-mi/p/12199980.html
Copyright © 2011-2022 走看看