sigbot-client
Zero-dependency Python client for the sigbot service API. Each sigbot service is one Signal group chat with its own persona; an API key (minted in the sigbot dashboard) scopes this client to that group.
Install
pip install sigbot-client
(Or grab the wheel from the GitHub releases page, or build it from the repo
with bazel build //client:sigbot_client_wheel — the py_wheel target in
BUILD.bazel is the package's single source of metadata.)
Use
from sigbot_client import ServiceClient
bot = ServiceClient("http://myhost:8100", api_key="sb_...")
bot.service() # {'name': ..., 'label': ..., 'group_name': ...}
bot.send("deploy finished ✅") # post into the group as the bot
bot.send("raw text", prefix=False) # suppress the [label] prefix for this message
# Read the group's message log; poll incrementally with after_id:
msgs = bot.messages(limit=50)
newer = bot.messages(after_id=msgs[-1]["id"]) if msgs else []
# React to a message — acknowledge without adding to the transcript:
bot.react(msgs[-1]["id"], "👀") # seen it
bot.react(msgs[-1]["id"], "✅") # ...and done (replaces the 👀)
bot.unreact(msgs[-1]["id"]) # clear it — no emoji, there's only ever one
Only incoming messages can be reacted to. Signal addresses a reaction by the
target's author and timestamp, which sigbot records for messages it receives but
not for ones it sends, so reacting to the bot's own message raises
SigbotApiError with .status == 409.
Errors surface as SigbotApiError with .status and .message (e.g. 401 for
a revoked key).
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sigbot_client-0.3.0-py3-none-any.whl.
File metadata
- Download URL: sigbot_client-0.3.0-py3-none-any.whl
- Upload date:
- Size: 4.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9f2464c2c24a5f01b0c098bc96d003bea259fb57523c157d378c43de04cd4782
|
|
| MD5 |
144cc517c11cc7a778e3bbd2fe734ba5
|
|
| BLAKE2b-256 |
b2699e5b1f37650e07334bb0e89fd34f459b17f186fba1ae4be0b2ffa3140606
|
Provenance
The following attestation bundles were made for sigbot_client-0.3.0-py3-none-any.whl:
Publisher:
ci.yml on fughilli/sigbot
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sigbot_client-0.3.0-py3-none-any.whl -
Subject digest:
9f2464c2c24a5f01b0c098bc96d003bea259fb57523c157d378c43de04cd4782 - Sigstore transparency entry: 2341515964
- Sigstore integration time:
-
Permalink:
fughilli/sigbot@ded0198f251b32a1f2332050388f0f6628f6dcff -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/fughilli
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@ded0198f251b32a1f2332050388f0f6628f6dcff -
Trigger Event:
push
-
Statement type: