Esempio n. 1
0
    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)
Esempio n. 2
0
    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)
Esempio n. 3
0
    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)
Esempio n. 4
0
    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())
Esempio n. 5
0
 def api(self) -> API:
     return API(Helix.BASE_URL,
                self.client_id,
                use_cache=self.use_cache,
                rate_limit=self.rate_limit)