Skip to content

simple bot for "mailing lists" on Signal

Notifications You must be signed in to change notification settings

mathisdt/signal-multicast-bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Signal Multicast Bot

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 commands

Basic (everyone can send these commands to the bot)

bot help
bot subscribe <GROUPNAME> <PARTICIPANT NAME>
bot unsubscribe <GROUPNAME>

Administrative (only select people can use these commands)

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>

Examples

bot subscribe Testgroup Steven Miller
bot addgroup Testgroup
bot add Testgroup 017912345678 Some Dude
bot send Testgroup This message should be sent!

Get started

  1. If you don't have a Postgres instance yet, create one.
  2. If you don't run signal-cli as DBus service yet, set it up now.
  3. Checkout this project to your computer (or just copy main.py, database.py and config-template.ini).
  4. Copy config-template.ini to config.ini and edit it so it contains the phone number(s) you want to use and the correct database credentials.
  5. Call main.py with at least Python 3.6 installed.

About

simple bot for "mailing lists" on Signal

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Languages