An extensible Delta Chat bot.
To install the latest stable version of SimpleBot run the following command (preferably in a virtual environment):
pip install simplebot
To test unreleased version:
pip install git+https://github.com/simplebot-org/simplebot
⚠️ NOTE: If Delta Chat Python bindings package is not available for your platform you will need to compile and install the bindings manually, check deltachat documentation for more info.
# building image
docker build -t simplebot .
# running container with simplebot
# "/home/bot_volume" absolute path for storing bot data on host system
docker run -it -v /home/bot_volume:/root/.simplebot simplebot bash
In container bash you can do same bot running as in quick start section
(Replace variables $ADDR
and $PASSWORD
with the email and password for the account the bot will use)
-
Add an account to the bot:
simplebot init "$ADDR" "$PASSWORD"
-
Install some plugins:
pip install simplebot-echo
-
Start the bot:
simplebot serve
SimpleBot is a base bot that relies on plugins to add functionality.
Everyone can publish their own plugins, search in PyPI to discover cool SimpleBot plugins
⚠️ NOTE: Plugins installed as Python packages (for example withpip
) are global to all accounts you register in the bot, to separate plugins per account you need to run each account in its own virtual environment.
If you know how to code in Python, you can quickly create plugins and install them to tweak your bot.
Lets create an "echo bot", create a file named echo.py
and write inside:
import simplebot
@simplebot.filter
def echo(message, replies):
"""Echoes back received message."""
replies.add(text=message.text)
That is it! you have created a plugin that will transform simplebot in an "echo bot" that will echo back any text message you send to it. Now tell simplebot to register your plugin:
simplebot plugin --add ./echo.py
Now you can start the bot and write to it from Delta Chat app to see your new bot in action.
Check the examples
folder to see some examples about how to create plugins.
SimpleBot uses Autocrypt end-to-end encryption but note that the operator of the bot service can look into messages that are sent to it.
SimpleBot is based on deltabot
SimpleBot logo was created by Cuban designer "Dann".