I think ppmessage suite with your requirement.
With PPMessage, you can chat with visitor or customer via Web or mobile App as open source Intercom alternative.
And also, it has Web SDK. And this is some ocassions :
Classic occasions: suppose you have a website with its own user system and you integrate PPCom with you website. Your website user can perform operations like sign in, change profile and log out. When user performs these operations, you should invoke Web SDK API to display PPCom correctly.
It has events :
- User open your website
- User sign in
- User modify his profile
- User sign out from your website
To install it, it's easy :
git clone https://github.com/PPMESSAGE/ppmessage.git
cd ppmessage
# mac
bash ppmessage/scripts/set-up-ppmessage-on-mac.sh
# linux
bash ppmessage/scripts/set-up-ppmessage-on-linux.sh
# watch the logs
./ppmessage.py
Then go to 127.0.0.1:8945, and follow the instruction. And here is interesting part, it has test function, to make sure everything is work, go to 127.0.0.1:8945/ppconsole/#/app/settings/integrate. You will see in the right bottom an icon to chat, that's for customer. And go to 127.0.0.1:8945/ppkefu/#/app/conversation-list as web administrator to reply the chat.
To sum it up :
It should be only open source code, I want to be able add changes
myself any time I want
You can check the code, it use python, sqlalchemy (mysql, postgresql, sqlite), and redis.
It may be free of charge or paid.
Check
Web socket / ajax technology
It use Tornado (www.tornadoweb.org/en/stable/)
I think I need a simple chat bot for the beginning
For bot part, after I check the api (https:// ppmessage.gitbooks.io/ppbook-en/content/part2/third-party-app/api/index.html), it has some properties like this :
'robot_user_uuid': None,
'robot_train_track': None,
'robot_train_click': None,
'robot_train_method': None,
'robot_train_chat': None,
Maybe it can be use.
I want to be able easy implement it with existing auth engine
It has event (above) you can try that.
Obviously, it should be secure as much as possible
Well, in my opinion, it is not strong enough, but you have the code, then you can improve it.
I don't need video conference support
I think it does not support
free or paid
, means not open source - What option have you viewed so that we dont suggest the same things? and do you need db integration or not? should the chat be stored? should it be encrypted?