mirror of
https://github.com/onyx-and-iris/streamlabs-socketio-py
synced 2024-11-21 06:50:48 +00:00
Get real time Twitch/Youtube events through Streamlabs Socket API
onyx-and-iris
5dc69cc655
raise SteamlabsSIOConnectionError on connection error Path.home() / ".config" / "streamlabsio" / "config.toml" added to config filepaths raw kwarg added. module level logger added. |
||
---|---|---|
streamlabsio | ||
__main__.py | ||
.gitignore | ||
LICENSE | ||
poetry.lock | ||
pyproject.toml | ||
README.md |
A Python client for Streamlabs Socket API
Requirements
- A Streamlabs Socket API key.
- You can acquire this by logging into your Streamlabs.com dashboard then
Settings->Api Settings->API Tokens
- You can acquire this by logging into your Streamlabs.com dashboard then
How to install using pip
pip install streamlabsio
How to Use
You may store your api key in a config.toml
file, its contents should resemble:
[streamlabs]
token = "<apikey>"
Place it next to your __main__.py
file.
Otherwise:
You may pass it as a keyword argument.
Example __main__.py
:
import streamlabsio
def on_twitch_event(event, msg):
print(f"{event}: {msg.attrs()}")
def main():
with streamlabsio.connect(token="<apikey>") as client:
client.obs.on("streamlabs", on_twitch_event)
client.obs.on("twitch_account", on_twitch_event)
# run for 30 seconds then disconnect client from server
client.sio.sleep(30)
if __name__ == "__main__":
main()
note
From the SocketIO docs, client.sio.wait()
may be used if your application has nothing to do in the main thread.
Attributes
For event messages you may inspect the available attributes using attrs()
.
example:
def on_twitch_event(event, msg):
print(f"{event}: {msg.attrs()}")