This project makes use of a Postgres database and signal-cli to create a service similar to what moderated mailing lists provided some years ago, but on Signal:
- administrators create lists
- users subscribe to them or are added by administrators
- administrators send messages which are distributed to all subscribers
Signal already has groups, but this is made for announcement-like communication. The users don't know who else is on the list, and everyone gets the messages in a one-to-one chat.
bot help
bot subscribe <GROUPNAME> <PARTICIPANT NAME>
bot unsubscribe <GROUPNAME>
bot listgroups
bot addgroup <GROUPNAME>
bot removegroup <GROUPNAME>
bot list <GROUPNAME>
bot add <GROUPNAME> <PARTICIPANT PHONE NUMBER WITHOUT SPACES> <PARTICIPANT NAME>
bot remove <GROUPNAME> <PARTICIPANT NAME OR NUMBER>
bot send <GROUPNAME> <SOME TEXT>
bot subscribe Testgroup Steven Miller
bot addgroup Testgroup
bot add Testgroup 017912345678 Some Dude
bot send Testgroup This message should be sent!
- If you don't have a Postgres instance yet, create one.
- If you don't run signal-cli as DBus service yet, set it up now.
- Checkout this project to your computer (or just copy
main.py
,database.py
andconfig-template.ini
). - Copy
config-template.ini
toconfig.ini
and edit it so it contains the phone number(s) you want to use and the correct database credentials. - Call
main.py
with at least Python 3.6 installed.