A place for all our bot adventures.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

1.5 KiB

 _   _  _____        __  _____ ___    ____   ___ _____
| | | |/ _ \ \      / / |_   _/ _ \  | __ ) / _ \_   _|
| |_| | | | \ \ /\ / /    | || | | | |  _ \| | | || |
|  _  | |_| |\ V  V /     | || |_| | | |_) | |_| || |
|_| |_|\___/  \_/\_/      |_| \___/  |____/ \___/ |_|

status: experimental

Bots

The Varia XMPP botspace. These bots are written using slixmpp and sometimes also xbotlib.

Write your own

The idea is that you create a single python file and then using one of the above libraries, you write a single Python class which knows how to speak XMPP, join rooms, respond to commands etc. Probably the simplest place to start is by reading the xbotlib getting started guide.

Deploy it on the Varia server

Add a configuration entry to /etc/supervisor/conf.d/bots.conf like the following.

[program:whisperbot]
directory=/srv/gitea/clones/bots/whisperbot.xbotlib
user=bot
autostart=true
autorestart=true
environment=PATH="/srv/gitea/clones/bots/.venv/lib/python3.7/site-packages:%(ENV_PATH)s"
command=/srv/gitea/clones/bots/.venv/bin/python3 whisperbot.py --password <YOUR-PASSWORD>

Then systemctl restart supervisorctl and then check if it comes up with supervisorctl status bots:. Logs for all bots can be found in /var/log/supervisor/. Finally, when you git push your bot changes, a git hook will restart your bot.