11# -*- encoding: utf-8 -*-
22# https://dev.twitch.tv/docs/v5/reference/users/
33
4- from twitch import keys
4+ from twitch import keys , methods
5+ from twitch .api .parameters import Boolean , Direction , SortBy
56from twitch .queries import V5Query as Qry
67from twitch .queries import query
7- from twitch .api .parameters import Boolean , Direction , SortBy
8- from twitch import methods
98
109
10+ # Needs Authentication
1111@query
12- def by_id (user_id ):
13- q = Qry ('users/{id}' )
14- q .add_urlkw (keys .ID , user_id )
12+ def get_user ():
13+ q = Qry ('user' )
1514 return q
1615
1716
18- # Needs Authentication
1917@query
20- def user ():
21- q = Qry ('user' )
18+ def get_user_by_id (user_id ):
19+ q = Qry ('users/{user_id}' )
20+ q .add_urlkw (keys .USER_ID , user_id )
21+ return q
22+
23+
24+ @query
25+ def get_user_emotes (user_id ):
26+ q = Qry ('users/{user_id}/emotes' )
27+ q .add_urlkw (keys .USER_ID , user_id )
2228 return q
2329
2430
25- # Needs Authentication
2631@query
27- def streams ():
28- raise NotImplementedError
32+ def check_subscription_by_channel (user_id , channel_id ):
33+ q = Qry ('users/{user_id}/subscriptions/{channel_id}' )
34+ q .add_urlkw (keys .USER_ID , user_id )
35+ q .add_urlkw (keys .CHANNEL_ID , channel_id )
36+ return q
2937
3038
3139@query
32- def follows (user_id , limit = 25 , offset = 0 , direction = Direction .DESC ,
33- sort_by = SortBy .CREATED_AT ):
34- q = Qry ('users/{id }/follows/channels' )
35- q .add_urlkw (keys .ID , user_id )
40+ def get_user_follows (user_id , limit = 25 , offset = 0 , direction = Direction .DESC ,
41+ sort_by = SortBy .CREATED_AT ):
42+ q = Qry ('users/{user_id }/follows/channels' )
43+ q .add_urlkw (keys .USER_ID , user_id )
3644 q .add_param (keys .LIMIT , limit , 25 )
3745 q .add_param (keys .OFFSET , offset , 0 )
3846 q .add_param (keys .DIRECTION , direction , Direction .DESC )
@@ -41,61 +49,74 @@ def follows(user_id, limit=25, offset=0, direction=Direction.DESC,
4149
4250
4351@query
44- def follow_status (user_id , target_id ):
45- q = Qry ('users/{id }/follows/channels/{target }' )
46- q .add_urlkw (keys .ID , user_id )
47- q .add_urlkw (keys .TARGET , target_id )
52+ def check_follows_by_channel (user_id , channel_id ):
53+ q = Qry ('users/{user_id }/follows/channels/{channel_id }' )
54+ q .add_urlkw (keys .USER_ID , user_id )
55+ q .add_urlkw (keys .CHANNEL_ID , channel_id )
4856 return q
4957
5058
5159# Needs Authentication, needs PUT
5260@query
53- def follow (user_id , target_id , notification = Boolean .FALSE ):
54- q = Qry ('users/{id }/follows/channels/{target }' , method = methods .PUT )
55- q .add_urlkw (keys .ID , user_id )
56- q .add_urlkw (keys .TARGET , target_id )
57- q .add_data (keys .NOTIFICATION , Boolean .validate (notification ), Boolean .FALSE )
61+ def follow_channel (user_id , channel_id , notifications = Boolean .FALSE ):
62+ q = Qry ('users/{user_id }/follows/channels/{channel_id }' , method = methods .PUT )
63+ q .add_urlkw (keys .USER_ID , user_id )
64+ q .add_urlkw (keys .CHANNEL_ID , channel_id )
65+ q .add_data (keys .NOTIFICATIONS , Boolean .validate (notifications ), Boolean .FALSE )
5866 return q
5967
6068
6169# Needs Authentication, needs DELETE
6270@query
63- def unfollow (user_id , target_id ):
64- q = Qry ('users/{id }/follows/channels/{target }' , method = methods .DELETE )
65- q .add_urlkw (keys .ID , user_id )
66- q .add_urlkw (keys .TARGET , target_id )
71+ def unfollow_channel (user_id , channel_id ):
72+ q = Qry ('users/{user_id }/follows/channels/{channel_id }' , method = methods .DELETE )
73+ q .add_urlkw (keys .USER_ID , user_id )
74+ q .add_urlkw (keys .CHANNEL_ID , channel_id )
6775 return q
6876
6977
7078# Needs Authentication
7179@query
72- def blocks (user_id , limit = 25 , offset = 0 ):
73- q = Qry ('users/{id }/blocks' )
74- q .add_urlkw (keys .ID , user_id )
80+ def get_user_blocks (user_id , limit = 25 , offset = 0 ):
81+ q = Qry ('users/{user_id }/blocks' )
82+ q .add_urlkw (keys .USER_ID , user_id )
7583 q .add_param (keys .LIMIT , limit , 25 )
7684 q .add_param (keys .OFFSET , offset , 0 )
7785 return q
7886
7987
8088# Needs Authentication, needs PUT
8189@query
82- def add_block (user_id , target_id ):
83- q = Qry ('users/{id }/blocks/{target }' , method = methods .PUT )
84- q .add_urlkw (keys .ID , user_id )
85- q .add_urlkw (keys .TARGET , target_id )
90+ def block_user (user_id , target_id ):
91+ q = Qry ('users/{user_id }/blocks/{target_id }' , method = methods .PUT )
92+ q .add_urlkw (keys .USER_ID , user_id )
93+ q .add_urlkw (keys .TARGET_ID , target_id )
8694 return q
8795
8896
8997# Needs Authentication, needs DELETE
9098@query
91- def del_block (user_id , target_id ):
92- q = Qry ('users/{id}/blocks/{target}' , method = methods .DELETE )
93- q .add_urlkw (keys .ID , user_id )
94- q .add_urlkw (keys .TARGET , target_id )
99+ def unblock_user (user_id , target_id ):
100+ q = Qry ('users/{user_id}/blocks/{target_id}' , method = methods .DELETE )
101+ q .add_urlkw (keys .USER_ID , user_id )
102+ q .add_urlkw (keys .TARGET_ID , target_id )
103+ return q
104+
105+
106+ @query
107+ def create_connection_to_vhs (identifier ):
108+ q = Qry ('user/vhs' , method = methods .PUT )
109+ q .add_data (keys .IDENTIFIER , identifier )
95110 return q
96111
97112
98- # Needs Authentication
99113@query
100- def subscription_status (user_id , channel_id ):
101- raise NotImplementedError
114+ def check_connection_to_vhs ():
115+ q = Qry ('user/vhs' )
116+ return q
117+
118+
119+ @query
120+ def delete_connection_to_vhs ():
121+ q = Qry ('user/vhs' , method = methods .DELETE )
122+ return q
0 commit comments