Zulip is a real time messaging system. SUSI zulip bot integrates into a Zulip organisation and then users can chat with SUSI within that organisation. It fetches response from SUSI Server in the background and also has some added features for the Zulip platform.
According to the Zulip conventions of developing bots, all bots should reside in the python-zulip-api repository. Thus, this repository only serves to contain information and updates regarding the SUSI Zulip bot. The bot code resides in the official zulip bot repository (python-zulip-api/zulip_bots/susi).
The python-zulip-api repository is written in python3
. You are also required to have pip and virtualenv installed.
To setup the project locally and thus contribute to the bot, follow these steps:
1. git clone https://github.com/zulip/python-zulip-api.git
2. cd python-zulip-api
3. python3 ./tools/provision
4. The output of provision will end with a command of the form source .../activate; run that command to enter the new virtualenv.
5. The SUSI bot code can be found in /zulip_bots/zulip_bots/bots/susi.
For more info, checkout documentation for writing Zulip bots.
Zulip provides an easy way to test the bot's output in development from the terminal itself. After setting up locally, enter this command:
zulip-terminal converter
Then you can give an input to test the output. For more info, checkout documentation for Testing a bot's output.
To contribute to the SUSI Zulip bot, you need to follow the above process of setting up the python-zulip-api repository and then send Pull Requests to the python-zulip-api repository adding features to the susi bot. To align the developers and ensure that two developers don't work on the same feature, please create an issue here and mention that you are working on it.
Some of the screenshots of the SUSI Zulip bot:
These features are currently added to the bot:
- support for simple text response. (eg. "who are you?")
To learn more about developing bots for Zulip platform, refer the following links: