mirror of
https://github.com/onyx-and-iris/streamlabs-socketio-py
synced 2025-01-30 23:00:49 +00:00
57 lines
1.4 KiB
Python
57 lines
1.4 KiB
Python
from logging import config
|
|
|
|
import streamlabsio
|
|
|
|
config.dictConfig(
|
|
{
|
|
'version': 1,
|
|
'disable_existing_loggers': False,
|
|
'loggers': {
|
|
'streamlabsio.client': {
|
|
'level': 'DEBUG',
|
|
'handlers': ['console'],
|
|
'propagate': False,
|
|
}
|
|
},
|
|
'handlers': {
|
|
'console': {
|
|
'class': 'logging.StreamHandler',
|
|
'level': 'DEBUG',
|
|
'formatter': 'simple',
|
|
'stream': 'ext://sys.stdout',
|
|
}
|
|
},
|
|
'formatters': {
|
|
'simple': {'format': '%(asctime)s - %(name)s - %(levelname)s - %(message)s'}
|
|
},
|
|
}
|
|
)
|
|
|
|
|
|
def on_youtube_event(event, data):
|
|
print(f'{event}: {data.attrs()}')
|
|
|
|
|
|
def on_twitch_event(event, data):
|
|
if event == 'follow':
|
|
print(f'Received follow from {data.name}')
|
|
elif event == 'bits':
|
|
print(f'{data.name} donated {data.amount} bits! With message: {data.message}')
|
|
elif event == 'donation':
|
|
print(
|
|
f'{data.name} donated {data.formatted_amount}! With message: {data.message}'
|
|
)
|
|
|
|
|
|
def main():
|
|
with streamlabsio.connect() as client:
|
|
client.obs.on('streamlabs', on_twitch_event)
|
|
client.obs.on('twitch_account', on_twitch_event)
|
|
client.obs.on('youtube_account', on_youtube_event)
|
|
|
|
client.sio.sleep(30)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
main()
|