forked from LeineLab-Public/lab-signal-bot
93 lines
2.2 KiB
Markdown
93 lines
2.2 KiB
Markdown
# Lab signal bot
|
|
|
|
## Starting
|
|
|
|
### Configuration
|
|
|
|
Create a config:
|
|
```
|
|
cp config.json.example config.json
|
|
vi config.json
|
|
```
|
|
|
|
(Inside the docker container, "http://signal-cli-rest-api:8080" can be resolved to the host of the other docker container. Outside not.)
|
|
|
|
### Link the signal-cli bot
|
|
|
|
Start containers:
|
|
|
|
```
|
|
docker compose up -d
|
|
```
|
|
|
|
In the beginning, this will only start the `signal-cli-rest-api` docker container. The other container will fail, since the `signal-cli` is not linked to the account. If you already activated the phone number with another signal device, you can register the new device.
|
|
|
|
Join the docker:
|
|
```
|
|
docker exec -it lab-signal-bot-signal-cli-rest-api-1 /bin/bash
|
|
```
|
|
|
|
Change user:
|
|
```
|
|
su signal-api
|
|
```
|
|
|
|
Link the new device:
|
|
```
|
|
signal-cli --config /home/.local/share/signal-cli link
|
|
```
|
|
|
|
Exit the docker shell.
|
|
|
|
Restart docker container:
|
|
```
|
|
docker restart lab-signal-bot-signal-cli-rest-api-1
|
|
```
|
|
|
|
### Configure lab_cleaning_signal_base_group
|
|
|
|
From host, list signal groups:
|
|
```
|
|
python list_signal_groups.py --api-url http://localhost:8080/ -i
|
|
```
|
|
|
|
Now, you can set the identifier of the group you want in the config.json:
|
|
```
|
|
vi config.json
|
|
```
|
|
|
|
Rebuild containers:
|
|
```
|
|
docker compose up --build -d
|
|
```
|
|
|
|
### Prepare host access (outside of docker)
|
|
|
|
Change the ownership of the db, such that the host user 1000 can write it:
|
|
```
|
|
sudo chown -R 1000 data/
|
|
```
|
|
|
|
Install venv outside of docker:
|
|
```
|
|
pip -m venv venv
|
|
. venv/bin/activate
|
|
pip install -r requirements.txt
|
|
```
|
|
|
|
## Creating a task
|
|
|
|
Create a task:
|
|
```
|
|
python create_task.py "Küche aufräumen" 3 "in 40 minutes" --pad-template-url "https://pad.leinelab.org/bEvDjtyyQIGgZso_B7RIpw"
|
|
```
|
|
|
|
This:
|
|
- Creates a task called "Küche aufräumen".
|
|
- Requests 3 people from the base group for it.
|
|
- The task starts in 40 minutes.
|
|
- A detailed description of the tasks is found in the hedgedoc pad with url https://pad.leinelab.org/bEvDjtyyQIGgZso_B7RIpw. It will be used as a template for a new pad.
|
|
|
|
Implicitly, this means:
|
|
- People have 1 day to answer their participation requests for the task until the next person is asked. If a different timeout is desired, `--timeout-seconds X` can be specified for the task creation.
|