48 lines
1.4 KiB
Python
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() |