python-zulip-api/zulip_botserver
PIG208 4fd29baf2b bot_server: Reuse import_module_from_source to load bot modules from paths.
This removes the need to have `load_module_from_file`.
2021-07-22 12:18:34 +08:00
..
tests zulip_botserver: Fix path finding for external bots. 2021-07-22 11:14:52 +08:00
zulip_botserver bot_server: Reuse import_module_from_source to load bot modules from paths. 2021-07-22 12:18:34 +08:00
README.md zulip-botserver: Document use of environment var in README.md 2021-01-07 00:31:26 -08:00
setup.py pyupgrade: Reformat with --py36-plus. 2021-06-02 18:45:57 -07:00
zulip-botserver-supervisord.conf botserver: Rename zulip-bot-server to zulip-botserver. 2018-06-04 10:14:17 -07:00

zulip-botserver --config-file <path to botserverrc> --hostname <address> --port <port>

Example: zulip-botserver --config-file ~/botserverrc

This program loads the bot configurations from the config file (botserverrc, here) and loads the bot modules. It then starts the server and fetches the requests to the above loaded modules and returns the success/failure result.

The --hostname and --port arguments are optional, and default to 127.0.0.1 and 5002 respectively.

The format for a configuration file is:

[helloworld]
key=value
email=helloworld-bot@zulip.com
site=http://localhost
token=abcd1234

Is passed --use-env-vars instead of --config-file, the configuration can instead be provided via the ZULIP_BOTSERVER_CONFIG environment variable. This should be a JSON-formatted dictionary of bot names to dictionary of their configuration; for example:

ZULIP_BOTSERVER_CONFIG='{"helloworld":{"email":"helloworld-bot@zulip.com","key":"value","site":"http://localhost","token":"abcd1234"}}' \
  zulip-botserver --use-env-vars