mirror of
https://github.com/rangermix/TwitchDropsMiner.git
synced 2026-06-05 03:49:37 +00:00
Add exception-catchers that point out exactly which game or channel causes a crash
This commit is contained in:
@@ -244,9 +244,12 @@ class Channel:
|
||||
return URLType(match.group(1))
|
||||
|
||||
async def get_stream(self) -> Stream | None:
|
||||
response: JsonType = await self._twitch.gql_request(
|
||||
GQL_OPERATIONS["GetStreamInfo"].with_variables({"channel": self._login})
|
||||
)
|
||||
try:
|
||||
response: JsonType = await self._twitch.gql_request(
|
||||
GQL_OPERATIONS["GetStreamInfo"].with_variables({"channel": self._login})
|
||||
)
|
||||
except MinerException as exc:
|
||||
raise MinerException(f"Channel: {self._login}") from exc
|
||||
stream_data: JsonType | None = response["data"]["user"]
|
||||
if not stream_data:
|
||||
return None
|
||||
|
||||
23
twitch.py
23
twitch.py
@@ -1710,16 +1710,19 @@ class Twitch:
|
||||
return None
|
||||
|
||||
async def get_live_streams(self, game: Game, *, limit: int = 30) -> list[Channel]:
|
||||
response = await self.gql_request(
|
||||
GQL_OPERATIONS["GameDirectory"].with_variables({
|
||||
"limit": limit,
|
||||
"slug": game.slug,
|
||||
"options": {
|
||||
"includeRestricted": ["SUB_ONLY_LIVE"],
|
||||
"systemFilters": ["DROPS_ENABLED"],
|
||||
},
|
||||
})
|
||||
)
|
||||
try:
|
||||
response = await self.gql_request(
|
||||
GQL_OPERATIONS["GameDirectory"].with_variables({
|
||||
"limit": limit,
|
||||
"slug": game.slug,
|
||||
"options": {
|
||||
"includeRestricted": ["SUB_ONLY_LIVE"],
|
||||
"systemFilters": ["DROPS_ENABLED"],
|
||||
},
|
||||
})
|
||||
)
|
||||
except MinerException as exc:
|
||||
raise MinerException(f"Game: {game.slug}") from exc
|
||||
if "game" in response["data"]:
|
||||
return [
|
||||
Channel.from_directory(self, stream_channel_data["node"], drops_enabled=True)
|
||||
|
||||
Reference in New Issue
Block a user