pystreamerbot
Python client for interacting with the Streamer.bot WebSocket API.
Installation
pip install -U pystreamerbot
Basic Usage
import asyncio
from typing import Any
from pystreamerbot import Client
client = Client(events="Twitch.ChatMessage")
@client.event
async def on_ready() -> None:
print(f"Streamer.bot WebSocket ({client.ws.id}) is ready!")
@client.event
async def on_twitch_chatmessage(data: dict[str, Any]) -> None:
username = data.get("user", {}).get("name", "Unknown")
print(f"Hello, {username}!")
async def main() -> None:
await client.listen()
if __name__ == "__main__":
asyncio.run(main())
You can find more examples in the examples directory or alternatively you can look into the documentation.
Attribution
Thank you to:
- nate1280 for creating Streamer.bot.
- Whipstickgostop for creating the official TypeScript client for Streamer.bot.
- Rapptz & the discord.py team for creating the architecture and design that inspired this library.
Contributing
Thanks for your interest in contributing! We welcome contributions of all kinds, including bug fixes, new features, and documentation improvements.
By contributing to this repository, you agree to follow our Contributing Guidelines and Code of Conduct.
Getting Started
You can either fork or manually clone it by doing the following:
git clone https://github.com/miichom/pystreamerbot.git
cd pystreamerbot
This package uses Hatch for its development, you can install it by running pip install hatch in your terminal.
# Creates a new hatch environment
hatch env create dev
# Avaliable hatch scripts
hatch run dev:lint
hatch run dev:test
hatch run dev:types
License
pystreamerbot is distributed under the terms of the MIT license.
Metadata
Release files for pystreamerbot 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pystreamerbot-0.1.0.tar.gz | 13.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pystreamerbot-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 21.9 kB
Release files / pystreamerbot-0.1.0.tar.gz
| Download URL | pystreamerbot-0.1.0.tar.gz |
|---|---|
| Size | 13.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e02bd7766b66cc79c4a05c65a31ac49ad0ee87a4f7019c87e142c9df899c7849
|
|
BLAKE2b-256 checksum How to use checksums |
f54e6f844e04d40e62587f7504a8ab361dae369f0d28296ffdb6cd0ab1021eab
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 15, 2026.
Transparency logRelease files / pystreamerbot-0.1.0-py3-none-any.whl
| Download URL | pystreamerbot-0.1.0-py3-none-any.whl |
|---|---|
| Size | 8.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
69b3a0d6252a05caf7c65843b082fc5df6dbc7a5689d9346736c97b231d90ae8
|
|
BLAKE2b-256 checksum How to use checksums |
beaab03a2dcc2a9072765738a037df3558b3edcf18100c4b15374a75ec5b9c7d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 15, 2026.
Transparency log