def __init__(self, client_id: str, client_secret: str = None, use_cache: bool = False, cache_duration: Optional[timedelta] = None, bearer_token: Optional[str] = None): """ Helix API (New Twitch API) https://dev.twitch.tv/docs/api/ :param client_id: Twitch client ID :param client_secret: Twitch client secret :param use_cache: Cache API requests (recommended) :param cache_duration: Cache duration :param bearer_token: API bearer token """ self.client_secret: str = client_secret # Format bearer token if bearer_token: bearer_token = 'Bearer ' + bearer_token.lower().lstrip( 'bearer').strip() self.api = API(Helix.BASE_URL, client_id, use_cache=use_cache, cache_duration=cache_duration, bearer_token=bearer_token)
def __init__(self, client_id: str, client_secret: str = None, request_rate: int = None, use_cache: bool = False, cache_duration: timedelta = timedelta(minutes=30)): self.client_secret: str = client_secret self.scope: List[str] = [] self.api = API(V5.BASE_URL, client_id, use_cache=use_cache, cache_duration=cache_duration, request_rate=request_rate)
def __init__(self, client_id: str, client_secret: str = None, use_cache: bool = False, cache_duration: Optional[timedelta] = None, handle_rate_limit: bool = True, bearer_token: Optional[str] = None): # Format bearer token if bearer_token: bearer_token = 'Bearer ' + bearer_token.lower().lstrip( 'bearer').strip() self.api = API(TMI.BASE_URL, client_id=client_id, client_secret=client_secret, use_cache=use_cache, cache_duration=cache_duration, handle_rate_limit=handle_rate_limit, bearer_token=bearer_token)
def __init__(self, client_id: str, client_secret: str = None, use_cache: bool = False, cache_duration: Optional[timedelta] = None, handle_rate_limit: bool = True, bearer_token: Optional[str] = None): """ Helix API (New Twitch API) https://dev.twitch.tv/docs/api/ :param client_id: Twitch client ID :param client_secret: Twitch client secret :param use_cache: Cache API requests (recommended) :param cache_duration: Cache duration :param bearer_token: API bearer token """ self.client_secret: str = client_secret if bearer_token is None: if client_id is None and client_secret is None: print("Missing Twitch client id secret") bearer_token = requests.post( f"https://id.twitch.tv/oauth2/token" f"?client_id={client_id}" f"&client_secret={client_secret}" "&grant_type=client_credentials").json()['access_token'] if bearer_token.lower().startswith('bearer'): bearer_token = bearer_token[6:0] self.api = API(Helix.BASE_URL, client_id=client_id, client_secret=client_secret, use_cache=use_cache, cache_duration=cache_duration, handle_rate_limit=handle_rate_limit, bearer_token='Bearer ' + bearer_token.lower().strip())
def api(self) -> API: return API(Helix.BASE_URL, self.client_id, use_cache=self.use_cache, rate_limit=self.rate_limit)