Skip to main content

Framework to create your own Signal bots

Project description

Signal Bot Framework

PyPI Downloads Version License CI codecov

Python package to build your own Signal bots.

Installation

See the getting started section in the documentation.

Minimal bot

This is what a minimal bot using signalbot looks like:

import os
import logging
from signalbot import SignalBot, Config, Command, Context, triggered, enable_console_logging


class PingCommand(Command):
    @triggered("Ping")
    async def handle(self, context: Context) -> None:
        await context.send("Pong")


if __name__ == "__main__":
    enable_console_logging(logging.INFO)

    bot = SignalBot(
        Config(
            signal_service=os.environ["SIGNAL_SERVICE"],
            phone_number=os.environ["PHONE_NUMBER"],
        )
    )
    bot.register(PingCommand()) # Run the command for all contacts and groups
    bot.start()

Help

See the documentation for more details.

Other Projects

There are a few other projects similar to this one. You may want to check them out and see if they fit your needs.

Project Description Language Maintained
https://github.com/AsamK/signal-cli A CLI and D-Bus interface for Signal Java
https://github.com/bbernhard/pysignalclirestapi Python Wrapper for REST API Python
https://github.com/bbernhard/signal-cli-rest-api REST API Wrapper for Signal CLI Go
https://github.com/signal-bot/signal-bot Bot Framework using Signal CLI Python
https://github.com/signalapp/libsignal-service-java Signal Library Java
https://github.com/aaronetz/signal-bot Bot Framework Java
https://gitlab.com/signald/signald A socket interface for Signal Java
https://codeberg.org/lazlo/semaphore signald Library / Bot Framework Python
https://git.sr.ht/~nicoco/aiosignald signald Library / Bot Framework Python
https://gitlab.com/stavros/pysignald signald Library / Bot Framework Python
https://gitlab.com/signald/signald-go signald Library Go

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

signalbot-1.0.1.tar.gz (19.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

signalbot-1.0.1-py3-none-any.whl (24.3 kB view details)

Uploaded Python 3

File details

Details for the file signalbot-1.0.1.tar.gz.

File metadata

  • Download URL: signalbot-1.0.1.tar.gz
  • Upload date:
  • Size: 19.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for signalbot-1.0.1.tar.gz
Algorithm Hash digest
SHA256 0c2fb0210abcef67143dd4a08424004a136dcf5a99b0b1b99ddc4ba8f78a8264
MD5 1e6a76609f6ad9493109185fd852ebbf
BLAKE2b-256 25a82961cf5408ddf4660cd9074c667f7cdf6f74559ee0672ba5928d28cd7a9e

See more details on using hashes here.

File details

Details for the file signalbot-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: signalbot-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 24.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for signalbot-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 367f3c01779eb4669191367cc856ec6345717c81e4280b247df7147095860b50
MD5 7f73189f96572e561b4006a56e8d3f6e
BLAKE2b-256 3a4ee14a4ebacbbf8504e75a556034a47b3ea70544cc173d0b263efeebae0dbe

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page