Echo Bot Qiscus SDK
This repository is an example of simple implementation of creating bot in
any chat application that is built using Qiscus SDK. In this case, it just
an echo bot. It will reply with the same input you give in the chat. You can follow
the step-by-step process of creating this bot at TUTORIAL.md file.
This example is using Python Flask for bot webhook. Other example using other languages are
still on progress.
For more information about Qiscus SDK, please refer to the Qiscus SDK Official
Run the application:
And open it in the browser at http://127.0.0.1:5000/
This is built to be used with Python 3. Update
Makefile to switch to Python 2 if needed.
Some Flask dependencies are compiled during installation, so
gcc and Python header files need to be present.
For example, on Ubuntu:
apt install build-essential python3-dev
Development environment and release process
create virtualenv with Flask and Simple Bot installed into it (latter is installed in
develop mode which allows
modifying source code directly without a need to re-install the app):
run development server in debug mode:
make run; Flask will restart if source code is modified
make test(see also: Testing Flask Applications)
create source distribution:
make sdist(will run tests first)
to remove virtualenv and built distributions:
to add more python dependencies: add to
to modify configuration in development environment: edit file
settings.cfg; this is a local configuration file
and it is ignored by Git - make sure to put a proper configuration file to a production environment when
If you are interested in an out-of-the-box deployment automation, check out accompanying
Or, check out Deploying with Fabric on one of the
possible ways to automate the deployment.
In either case, generally the idea is to build a package (
make sdist), deliver it to a server (
install it (
pip install simplebot.tar.gz), ensure that configuration file exists and
SIMPLEBOT_SETTINGS environment variable points to it, ensure that user has access to the
working directory to create and write log files in it, and finally run a
WSGI container with the application.
And, most likely, it will also run behind a