ignoring removal contact messages
adding delay_type to test in minutes the periodic messages
Signed-off-by: apentori <pentori.alexis@proton.me>
Status Bot
Description
This repository allow to run a Bot for the Status App. The bot can be used for multiple reason:
Setup
The recommanded deployement option is with docker compose.
Docker deployment
The docker compose deployement will spin 3 containers:
- Status Backend: to interract with the Logos Delivery network used by Status App.
- Status Bot: the instance of the bot
- A Postgres database
You can run it with:
docker-compose up -d --build
it will require a .env file for secrets and config.yaml. The configuration is detailed in the documentation.
Tests
The differents test suites can be run with:
pip install -e ".[dev]"
pytest test/
Backups
If you have already created a Status account and want to use it with it's current data, please make sure you export the .bkp file and put it in folder backups and have the following .env variables:
BOT_DISPLAY_NAMEBOT_PASSWORDBOT_MNEMONIC_PHRASE
Guidelines
Things to keep in mind when building projects:
-
Wrong recovery phrase can create a new account by accident. To recover the account you must correctly write the phrase.
-
Dynamic
chats,communitiesandcontactsproperties. If you log in to the account without a backup the properties will be empty but will be populated automatically if a message in a chat or community appears. -
Display name is not the same as username. In Status App a display name is the curent username of active account. This means that if you have the same profile logged in with Python, Status Desktop and Status Mobile you can have 3 different usernames based on your current device. If an account is logged in from more than one device, the display name will change based on the currently used one (when messaging). This feature can be handy to distinguish if a bot or an actual user is logged in to the account. Profile pictures work in a similar way to display names
-
Community join requests do not work properly due to
status-goissues. For latest updates, please monitorstatus-im/status-botissue #9. The fastest way to get in to a community is to manually log in with the Bot account and send a via Status App. Once the account is accepted, the bot can log in and start running. The community and chat information will appear in (2) as the messages come in. -
To monitor for new messages, the account must always be logged in. Log out of the account only if you do not want to receive messages.
-
Token gated chats have an impact on the entire community. You must provide an Infura Token and Coingecko API key during
login. If wallet credentials are left out, then the community will not appear in (2) properties instead of the token gated chats only.