Sigurd is an example chatbot for Signal built on the signalbot
framework. Features:
- Responds quite rudely, especially to negative feedback.
- Caches responses so as never to repeat himself.
- Keeps quiet unless his name is mentioned, or unless he receives a
!
prefixed command. - Quotes random song lyrics on demand (e.g.
!lyrics Symphony X
). - Notifies you of new releases from artists that you wish to track
- Performs tasks according to a
cron
schedule.
-
Register a Signal account for Sigurd (you will need a dedicated phone number for this).
-
Install and configure
signal-cli
. -
Clone this repo:
git clone https://github.com/cycneuramus/sigurd
-
Populate the
.env
file:-
BOT_PHONE
: Phone number for Sigurd's Signal account. -
SELF_PHONE
: Phone number for your own Signal account, or any other phone number that Sigurd should respond to. -
GROUP_ID
: Signal group for Sigurd to participate in, if any. -
GENIUS_ACCESS_TOKEN
: Required for the!lyrics
command. See the Genius API docs. -
NTFY_URL
: ntfy server to use. Required for therelease_radar
task to send notifications. -
SPOTIFY_CLIENT_*
: Required for therelease_radar
task. See the Spotify API docs. -
SIGNAL_SERVICE
: Hostname for thesignal-cli
REST API service indocker-compose.yml
.
-
-
Spin up the Docker containers:
docker compose up -d