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