TinyIM, an open source IM that supports chatbots

TinyIM

After six months of development work, the first version of TinyIM is finally complete. With so much IM, what makes it different?

1. Support chatbots

At present, the design of mainstream IM clients requires the interface to send and receive messages. We know that it is difficult to automate test GUI code. TinyIM separates GUI and Core for the client, and supports BOTH TCP and HTTP protocols in the Core part.

This has two advantages: 1. ImRobot can be written over the synchronous HTTP protocol; 2. Test code of business logic can be written by synchronous HTTP protocol.

It’s better to tell the truth than to tell the truth.

2. Main module cross-platform

A diverse society is also a colorful society, so cross-platform is a manifestation of diversity. TinyIM consists of four main programs, all of which are cross-platform except ClientGUI.

component Windows Linux MacOS
ClientCore support support Theoretical support, not tested yet
ClientGUI support It can be supported by Electron or something It can be supported by Electron or something
ChatServer support support Theoretical support, not tested yet
ImRobot support support Theoretical support, not tested yet

Actual testing: I have tested it on Windows and Ubunbu, and the program compiled and ran without problems. Parts of ClientGUI can be developed using cross-platform technologies such as QT or using technologies such as Electron.

3. Illustrated process with rich notes

For each major business process,TinyIM tries to use flow diagrams. From simple logic to complex processes, you can do —- “Chest map, code to success”.

Flowchart for sending pictures:

The worst thing about looking at code is that it doesn’t have comments. TinyIM doesn’t have this problem. TinyIM adds Doxygen style comments for almost every function, making it easy to read the code and fix bugs.

4. Contact the author

QQ group: 106350930 Email: [email protected] blog: Floating notes