Skip to content

Commit d7abca4

Browse files
authored
Remove duplicate fetch_channel and fix Chatter badges (#200)
* Removed duplicate fetch_channel Updated docstring fetch_channel * Changed badges to a property returns a dict * change to more obvious wording * fetch duplicate fetch_channel update docstring * added founder to is_subscriber
1 parent c57c35b commit d7abca4

File tree

2 files changed

+9
-22
lines changed

2 files changed

+9
-22
lines changed

twitchio/chatter.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,11 +105,11 @@ class Chatter(PartialChatter):
105105
def __init__(self, websocket: "WSConnection", **kwargs):
106106
super(Chatter, self).__init__(websocket, **kwargs)
107107
self._tags = kwargs.get("tags", None)
108-
self._badges = kwargs.get("badges", {})
109108
self._ws = websocket
110109

111110
if not self._tags:
112111
self.id = None
112+
self._badges = None
113113
self._turbo = None
114114
self._sub = None
115115
self._mod = None
@@ -118,6 +118,7 @@ def __init__(self, websocket: "WSConnection", **kwargs):
118118
return
119119

120120
self.id = self._tags.get("user-id")
121+
self._badges = self._tags.get("badges")
121122
self._turbo = self._tags.get("turbo")
122123
self._sub = self._tags["subscriber"]
123124
self._mod = int(self._tags["mod"])
@@ -140,6 +141,11 @@ def name(self) -> str:
140141
"""The users name. This may be formatted differently than display name."""
141142
return self._name or (self.display_name and self.display_name.lower())
142143

144+
@property
145+
def badges(self) -> dict:
146+
"""The users name. This may be formatted differently than display name."""
147+
return {k: v for k, v in [badge.split("/") for badge in self._badges.split(",")]}
148+
143149
@property
144150
def display_name(self) -> str:
145151
"""The users display name."""
@@ -176,7 +182,7 @@ def is_subscriber(self) -> Optional[bool]:
176182
177183
Could be None if no Tags were received.
178184
"""
179-
return self._sub
185+
return self._sub or 'founder' in self._tags
180186

181187
@property
182188
def prediction(self) -> Optional[PredictionEnum]:

twitchio/client.py

Lines changed: 1 addition & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -302,25 +302,6 @@ def get_channel(self, name: str) -> Optional[Channel]:
302302

303303
return Channel(name=name, websocket=self._connection)
304304

305-
async def fetch_channel(self, broadcaster: str) -> list:
306-
"""Retrieve a channel from the API.
307-
308-
Parameters
309-
-----------
310-
name: str
311-
The channel name or ID to request from API. Returns empty list if no channel was found.
312-
313-
Returns
314-
--------
315-
:class:`list`
316-
"""
317-
318-
if not broadcaster.isdigit():
319-
get_id = await self.fetch_users(names=[broadcaster.lower()])
320-
broadcaster = get_id[0].id
321-
322-
return await self._http.get_channels(broadcaster)
323-
324305
async def join_channels(self, channels: Union[List[str], Tuple[str]]):
325306
"""|coro|
326307
@@ -420,7 +401,7 @@ async def fetch_channel(self, broadcaster: str):
420401
421402
Parameters
422403
-----------
423-
name: str
404+
broadcaster: str
424405
The channel name or ID to request from API. Returns empty dict if no channel was found.
425406
426407
Returns

0 commit comments

Comments
 (0)