Skip to content

Commit d01f8a0

Browse files
committed
Start of Helix endpoints accepting app tokens
1 parent dd91e00 commit d01f8a0

File tree

2 files changed

+147
-41
lines changed

2 files changed

+147
-41
lines changed

twitchio/http.py

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -603,19 +603,24 @@ def request_paginated(
603603

604604
### Ads ###
605605

606-
async def start_commercial(self, broadcaster_id: str | int, length: int, token_for: str) -> StartCommercialResponse:
606+
@handle_user_ids()
607+
async def start_commercial(
608+
self, broadcaster_id: str | int, length: int, token_for: str | None
609+
) -> StartCommercialResponse:
607610
data = {"broadcaster_id": broadcaster_id, "length": length}
608611

609612
route: Route = Route("POST", "channels/commercial", json=data, token_for=token_for)
610613
return await self.request_json(route)
611614

612-
async def get_ad_schedule(self, broadcaster_id: str | int, token_for: str) -> AdScheduleResponse:
615+
@handle_user_ids()
616+
async def get_ad_schedule(self, broadcaster_id: str | int, token_for: str | None) -> AdScheduleResponse:
613617
params = {"broadcaster_id": broadcaster_id}
614618

615619
route: Route = Route("GET", "channels/ads", params=params, token_for=token_for)
616620
return await self.request_json(route)
617621

618-
async def post_snooze_ad(self, broadcaster_id: str | int, token_for: str) -> SnoozeNextAdResponse:
622+
@handle_user_ids()
623+
async def post_snooze_ad(self, broadcaster_id: str | int, token_for: str | None) -> SnoozeNextAdResponse:
619624
params = {"broadcaster_id": broadcaster_id}
620625

621626
route: Route = Route("POST", "channels/ads/snooze", params=params, token_for=token_for)
@@ -1090,7 +1095,7 @@ def converter(data: CharityCampaignDonationsResponseData, *, raw: Any) -> Charit
10901095
@handle_user_ids()
10911096
async def get_chatters(
10921097
self,
1093-
token_for: str | PartialUser,
1098+
token_for: str | PartialUser | None,
10941099
broadcaster_id: str | int,
10951100
moderator_id: str | int | PartialUser,
10961101
first: int = 100,
@@ -1104,7 +1109,6 @@ def converter(data: ChattersResponseData, *, raw: Any) -> PartialUser:
11041109

11051110
iterator = self.request_paginated(route, converter=converter, max_results=max_results)
11061111
data = await self.request_json(route)
1107-
11081112
return Chatters(iterator, data)
11091113

11101114
@handle_user_ids()
@@ -1198,7 +1202,7 @@ async def patch_chat_settings(
11981202
self,
11991203
broadcaster_id: str | int,
12001204
moderator_id: str | int | PartialUser,
1201-
token_for: str | PartialUser,
1205+
token_for: str | PartialUser | None,
12021206
emote_mode: bool | None = None,
12031207
follower_mode: bool | None = None,
12041208
follower_mode_duration: int | None = None,
@@ -1631,7 +1635,7 @@ async def post_check_automod_status(
16311635
self,
16321636
broadcaster_id: str | int,
16331637
messages: list[AutomodCheckMessage],
1634-
token_for: str | PartialUser,
1638+
token_for: str | PartialUser | None,
16351639
) -> CheckAutomodStatusResponse:
16361640
params = {"broadcaster_id": broadcaster_id}
16371641
msg = [x._to_dict() for x in messages]
@@ -1645,7 +1649,7 @@ async def post_manage_automod_messages(
16451649
user_id: str | int,
16461650
msg_id: str,
16471651
action: Literal["ALLOW", "DENY"],
1648-
token_for: str,
1652+
token_for: str | PartialUser | None,
16491653
) -> None:
16501654
data = {"user_id": user_id, "msg_id": msg_id, "action": action}
16511655

@@ -1657,7 +1661,7 @@ async def get_automod_settings(
16571661
self,
16581662
broadcaster_id: str | int,
16591663
moderator_id: str | int | PartialUser,
1660-
token_for: str | PartialUser,
1664+
token_for: str | PartialUser | None,
16611665
) -> AutomodSettingsResponse:
16621666
params = {"broadcaster_id": broadcaster_id, "moderator_id": moderator_id}
16631667

0 commit comments

Comments
 (0)