Praxis_Bot/standalone_twitch_pubsub.py
2021-04-23 05:33:46 -04:00

48 lines
1.4 KiB
Python

import credentials
import config
import twitchAPI
from twitchAPI.pubsub import PubSub
from twitchAPI.twitch import Twitch
from twitchAPI.types import AuthScope
from pprint import pprint
from uuid import UUID
class Twitch_Pubsub():
def __init__(self):
super().__init__()
self.credential : credentials.Twitch_Credential()
self.twitch : Twitch()
self.pubsub: PubSub()
def setup(self):
self.twitch.authenticate_app([])
self.twitch.set_user_authentication('my_user_auth_token', [AuthScope.WHISPERS_READ], 'my_user_auth_refresh_token')
def start(self):
self.pubsub = PubSub(self.twitch)
self.pubsub.start()
def next(self):
user_id = self.twitch.get_users(logins=['my_username'])['data'][0]['id']
uuid = self.pubsub.listen_whispers(user_id, self.callback_whisper)
input('press ENTER to close...')
def callback_whisper(self, uuid: UUID, data: dict) -> None:
print('got callback for UUID ' + str(uuid))
pprint(data)
if __name__ == "__main__":
testModule = Twitch_Pubsub()
credentials_manager = credentials.Credentials_Module()
credentials_manager.load_credentials()
testModule.credential = credentials_manager.find_Twitch_Credential(config.credentialsNickname)
testModule.twitch = Twitch(testModule.credential.pubsub_client_id, testModule.credential.pubsub_secret)
testModule.setup()
testModule.start()