streamlabs-socketio-py/examples/debug/__main__.py

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()