cycneuramus / sigurd

A rude Signal chatbot with some musical capabilites

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Sigurd

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.

Installation

  1. Register a Signal account for Sigurd (you will need a dedicated phone number for this).

  2. Install and configure signal-cli.

  3. Clone this repo:

git clone https://github.com/cycneuramus/sigurd
  1. 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 the release_radar task to send notifications.

    • SPOTIFY_CLIENT_*: Required for the release_radar task. See the Spotify API docs.

    • SIGNAL_SERVICE: Hostname for the signal-cli REST API service in docker-compose.yml.

  2. Spin up the Docker containers:

docker compose up -d

About

A rude Signal chatbot with some musical capabilites


Languages

Language:Python 94.6%Language:Dockerfile 4.9%Language:Shell 0.6%