Добавлен get_channel_chat_badges
This commit is contained in:
@ -822,3 +822,30 @@ class TwitchAPIClient(AioHTTPXClient):
|
|||||||
|
|
||||||
case _:
|
case _:
|
||||||
raise s.Error(req.status_code, 'Internal Server Error')
|
raise s.Error(req.status_code, 'Internal Server Error')
|
||||||
|
|
||||||
|
async def get_channel_chat_badges(
|
||||||
|
self,
|
||||||
|
access_token: str,
|
||||||
|
broadcaster_id: int | str,
|
||||||
|
cache_time: int | None = None,
|
||||||
|
):
|
||||||
|
req = await self.get(
|
||||||
|
'/chat/badges',
|
||||||
|
headers=self.clean_dict(
|
||||||
|
{
|
||||||
|
'Authorization': f'Bearer {access_token}',
|
||||||
|
'X-Cache-TTL': cache_time,
|
||||||
|
}
|
||||||
|
),
|
||||||
|
params={'broadcaster_id': broadcaster_id},
|
||||||
|
)
|
||||||
|
|
||||||
|
match req.status_code:
|
||||||
|
case st.OK:
|
||||||
|
return s.ChannelChatBadges.model_validate(req.json())
|
||||||
|
|
||||||
|
case st.BAD_REQUEST | st.UNAUTHORIZED:
|
||||||
|
raise s.Error(req.status_code, req.json()['message'])
|
||||||
|
|
||||||
|
case _:
|
||||||
|
raise s.Error(req.status_code, 'Internal Server Error')
|
||||||
|
|||||||
@ -511,3 +511,29 @@ class GlobalEmotes(ChannelEmotes):
|
|||||||
|
|
||||||
class EmoteSets(ChannelEmotes):
|
class EmoteSets(ChannelEmotes):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class ChannelChatBadgesVersion(BaseModel):
|
||||||
|
model_config = ConfigDict(extra='forbid')
|
||||||
|
|
||||||
|
id: str
|
||||||
|
image_url_1x: str
|
||||||
|
image_url_2x: str
|
||||||
|
image_url_4x: str
|
||||||
|
title: str
|
||||||
|
description: str
|
||||||
|
click_action: str | None
|
||||||
|
click_url: str | None
|
||||||
|
|
||||||
|
|
||||||
|
class ChannelChatBadgesData(BaseModel):
|
||||||
|
model_config = ConfigDict(extra='forbid')
|
||||||
|
|
||||||
|
set_id: str
|
||||||
|
versions: list[ChannelChatBadgesVersion]
|
||||||
|
|
||||||
|
|
||||||
|
class ChannelChatBadges(BaseModel):
|
||||||
|
model_config = ConfigDict(extra='forbid')
|
||||||
|
|
||||||
|
data: list[ChannelChatBadgesData]
|
||||||
|
|||||||
Reference in New Issue
Block a user