# Team Bot This bot connects your team to the outside and makes it addressable. Configure this bot with your team address (e.g. helpdesk@example.org), and add all your **team members** to the **crew**. Then, every time **an outsider** writes to your team address, the bot opens a new **relay group** with all of you; you can use the relay group to discuss the request in private and when you have come to a conclusion, **answer** the **request**. The bot will forward the answer to the outsider in the name of the team, hiding the identities of the team members. ## Setup To install this bot, run: ``` git clone https://github.com/deltachat-bot/team-bot cd team-bot pip install . ``` Now you can configure it with an email address you want to use as a team: ``` team-bot init --email helpdesk@example.org --password p455w0rD ``` This command will show a QR code; scan it with Delta Chat to become part of the "team", the verified group which manages the Team Bot. Now to run it, simply execute: ``` team-bot run -v ``` The bot only works as long as this command is running. Read more about [running bots on bots.delta.chat](https://bots.delta.chat/howto.html). ### Deploy with pyinfra If you use [pyinfra](https://pyinfra.com/) to manage a server, you can deploy this bot with it. Just import it into your [deploy.py file](https://docs.pyinfra.com/en/2.x/getting-started.html#create-a-deploy) like this: ``` from team_bot.pyinfra import deploy_team_bot deploy_team_bot( unix_user='root', # an existing UNIX user (doesn't need root or sudo privileges) bot_email='helpdesk@example.org', # the email address your team wants to use bot_passwd='p4ssw0rd', # the password to the email account ) ``` After you deployed it, you need to do two steps manually: First, to initialize the bot, create the crew, and join the crew, login to the user with ssh and run: ``` export $(cat ~/.env | xargs) && ~/.local/lib/team-bot.venv/bin/team-bot init ``` Then, to start the bot and keep it running in the background, run: ``` systemctl --user enable --now team-bot ``` You can view the log output with `journalctl --user -fu team-bot` to confirm that it works. ## Development Environment To get started with developing, run: ``` python3 -m venv venv . venv/bin/activate pip install pytest tox black pytest-xdist pytest-timeout pip install -e . tox ```