Skip to content

Commit b1150ec

Browse files
committed
v2
1 parent f7ba81d commit b1150ec

File tree

4 files changed

+178
-181
lines changed

4 files changed

+178
-181
lines changed

twikit/client/client.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
from .._captcha import Capsolver
1616
from ..bookmark import BookmarkFolder
1717
from ..community import Community, CommunityMember
18+
from ..constants import TOKEN
1819
from ..errors import (
1920
AccountLocked,
2021
AccountSuspended,
@@ -42,7 +43,7 @@
4243
from ..trend import Location, PlaceTrend, PlaceTrends, Trend
4344
from ..tweet import CommunityNote, Poll, ScheduledTweet, Tweet, tweet_from_data
4445
from ..user import User
45-
from ..utils import TOKEN, Flow, Result, build_tweet_data, build_user_data, find_dict, httpx_transport_to_url
46+
from ..utils import Flow, Result, build_tweet_data, build_user_data, find_dict, httpx_transport_to_url
4647
from .gql import GQLClient
4748
from .v11 import V11Client
4849

twikit/client/gql.py

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
from typing import TYPE_CHECKING
44

5-
from ..utils import (
5+
from ..constants import (
66
BOOKMARK_FOLDER_TIMELINE_FEATURES,
77
COMMUNITY_NOTE_FEATURES,
88
COMMUNITY_TWEETS_FEATURES,
@@ -11,10 +11,9 @@
1111
LIST_FEATURES,
1212
NOTE_TWEET_FEATURES,
1313
SIMILAR_POSTS_FEATURES,
14-
USER_FEATURES,
15-
flatten_params,
16-
get_query_id
14+
USER_FEATURES
1715
)
16+
from ..utils import flatten_params, get_query_id
1817

1918
if TYPE_CHECKING:
2019
from .client import Client
@@ -112,7 +111,6 @@ async def gql_get(
112111
params |= extra_params
113112
if headers is None:
114113
headers = self.base._base_headers
115-
116114
return await self.base.get(url, params=flatten_params(params), headers=headers, **kwargs)
117115

118116
async def gql_post(
@@ -131,7 +129,6 @@ async def gql_post(
131129
data |= extra_data
132130
if headers is None:
133131
headers = self.base._base_headers
134-
135132
return await self.base.post(url, json=data, headers=headers, **kwargs)
136133

137134
async def search_timeline(

twikit/constants.py

Lines changed: 173 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,173 @@
1+
# This token is common to all accounts and does not need to be changed.
2+
TOKEN = 'AAAAAAAAAAAAAAAAAAAAANRILgAAAAAAnNwIzUejRCOuH5E6I8xnZz4puTs%3D1Zv7ttfk8LF81IUq16cHjhLTvJu4FA33AGWWjCpTnA'
3+
4+
FEATURES = {
5+
'creator_subscriptions_tweet_preview_api_enabled': True,
6+
'c9s_tweet_anatomy_moderator_badge_enabled': True,
7+
'tweetypie_unmention_optimization_enabled': True,
8+
'responsive_web_edit_tweet_api_enabled': True,
9+
'graphql_is_translatable_rweb_tweet_is_translatable_enabled': True,
10+
'view_counts_everywhere_api_enabled': True,
11+
'longform_notetweets_consumption_enabled': True,
12+
'responsive_web_twitter_article_tweet_consumption_enabled': True,
13+
'tweet_awards_web_tipping_enabled': False,
14+
'longform_notetweets_rich_text_read_enabled': True,
15+
'longform_notetweets_inline_media_enabled': True,
16+
'rweb_video_timestamps_enabled': True,
17+
'responsive_web_graphql_exclude_directive_enabled': True,
18+
'verified_phone_label_enabled': False,
19+
'freedom_of_speech_not_reach_fetch_enabled': True,
20+
'standardized_nudges_misinfo': True,
21+
'tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled': True,
22+
'responsive_web_media_download_video_enabled': False,
23+
'responsive_web_graphql_skip_user_profile_image_extensions_enabled': False,
24+
'responsive_web_graphql_timeline_navigation_enabled': True,
25+
'responsive_web_enhance_cards_enabled': False
26+
}
27+
28+
USER_FEATURES = {
29+
'hidden_profile_likes_enabled': True,
30+
'hidden_profile_subscriptions_enabled': True,
31+
'responsive_web_graphql_exclude_directive_enabled': True,
32+
'verified_phone_label_enabled': False,
33+
'subscriptions_verification_info_is_identity_verified_enabled': True,
34+
'subscriptions_verification_info_verified_since_enabled': True,
35+
'highlights_tweets_tab_ui_enabled': True,
36+
'responsive_web_twitter_article_notes_tab_enabled': False,
37+
'creator_subscriptions_tweet_preview_api_enabled': True,
38+
'responsive_web_graphql_skip_user_profile_image_extensions_enabled': False,
39+
'responsive_web_graphql_timeline_navigation_enabled': True
40+
}
41+
42+
LIST_FEATURES = {
43+
'responsive_web_graphql_exclude_directive_enabled': True,
44+
'verified_phone_label_enabled': False,
45+
'responsive_web_graphql_skip_user_profile_image_extensions_enabled': False,
46+
'responsive_web_graphql_timeline_navigation_enabled': True
47+
}
48+
49+
COMMUNITY_NOTE_FEATURES = {
50+
'responsive_web_birdwatch_media_notes_enabled': True,
51+
'responsive_web_graphql_timeline_navigation_enabled': True,
52+
'rweb_tipjar_consumption_enabled': False,
53+
'responsive_web_graphql_exclude_directive_enabled': True,
54+
'verified_phone_label_enabled': False,
55+
'responsive_web_graphql_skip_user_profile_image_extensions_enabled': False
56+
}
57+
58+
COMMUNITY_TWEETS_FEATURES = {
59+
'rweb_tipjar_consumption_enabled': True,
60+
'responsive_web_graphql_exclude_directive_enabled': True,
61+
'verified_phone_label_enabled': False,
62+
'creator_subscriptions_tweet_preview_api_enabled': True,
63+
'responsive_web_graphql_timeline_navigation_enabled': True,
64+
'responsive_web_graphql_skip_user_profile_image_extensions_enabled': False,
65+
'communities_web_enable_tweet_community_results_fetch': True,
66+
'c9s_tweet_anatomy_moderator_badge_enabled': True,
67+
'tweetypie_unmention_optimization_enabled': True,
68+
'responsive_web_edit_tweet_api_enabled': True,
69+
'graphql_is_translatable_rweb_tweet_is_translatable_enabled': True,
70+
'view_counts_everywhere_api_enabled': True,
71+
'longform_notetweets_consumption_enabled': True,
72+
'responsive_web_twitter_article_tweet_consumption_enabled': True,
73+
'tweet_awards_web_tipping_enabled': False,
74+
'creator_subscriptions_quote_tweet_preview_enabled': False,
75+
'freedom_of_speech_not_reach_fetch_enabled': True,
76+
'standardized_nudges_misinfo': True,
77+
'tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled': True,
78+
'rweb_video_timestamps_enabled': True,
79+
'longform_notetweets_rich_text_read_enabled': True,
80+
'longform_notetweets_inline_media_enabled': True,
81+
'responsive_web_enhance_cards_enabled': False
82+
}
83+
84+
JOIN_COMMUNITY_FEATURES = {
85+
'rweb_tipjar_consumption_enabled': True,
86+
'responsive_web_graphql_exclude_directive_enabled': True,
87+
'verified_phone_label_enabled': False,
88+
'responsive_web_graphql_skip_user_profile_image_extensions_enabled': False,
89+
'responsive_web_graphql_timeline_navigation_enabled': True
90+
}
91+
92+
NOTE_TWEET_FEATURES = {
93+
'communities_web_enable_tweet_community_results_fetch': True,
94+
'c9s_tweet_anatomy_moderator_badge_enabled': True,
95+
'tweetypie_unmention_optimization_enabled': True,
96+
'responsive_web_edit_tweet_api_enabled': True,
97+
'graphql_is_translatable_rweb_tweet_is_translatable_enabled': True,
98+
'view_counts_everywhere_api_enabled': True,
99+
'longform_notetweets_consumption_enabled': True,
100+
'responsive_web_twitter_article_tweet_consumption_enabled': True,
101+
'tweet_awards_web_tipping_enabled': False,
102+
'creator_subscriptions_quote_tweet_preview_enabled': False,
103+
'longform_notetweets_rich_text_read_enabled': True,
104+
'longform_notetweets_inline_media_enabled': True,
105+
'articles_preview_enabled': False,
106+
'rweb_video_timestamps_enabled': True,
107+
'rweb_tipjar_consumption_enabled': True,
108+
'responsive_web_graphql_exclude_directive_enabled': True,
109+
'verified_phone_label_enabled': False,
110+
'freedom_of_speech_not_reach_fetch_enabled': True,
111+
'standardized_nudges_misinfo': True,
112+
'tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled': True,
113+
'tweet_with_visibility_results_prefer_gql_media_interstitial_enabled': True,
114+
'responsive_web_graphql_skip_user_profile_image_extensions_enabled': False,
115+
'responsive_web_graphql_timeline_navigation_enabled': True,
116+
'responsive_web_enhance_cards_enabled': False
117+
}
118+
119+
SIMILAR_POSTS_FEATURES = {
120+
'rweb_tipjar_consumption_enabled': True,
121+
'responsive_web_graphql_exclude_directive_enabled': True,
122+
'verified_phone_label_enabled': False,
123+
'creator_subscriptions_tweet_preview_api_enabled': True,
124+
'responsive_web_graphql_timeline_navigation_enabled': True,
125+
'responsive_web_graphql_skip_user_profile_image_extensions_enabled': False,
126+
'communities_web_enable_tweet_community_results_fetch': True,
127+
'c9s_tweet_anatomy_moderator_badge_enabled': True,
128+
'articles_preview_enabled': False,
129+
'tweetypie_unmention_optimization_enabled': True,
130+
'responsive_web_edit_tweet_api_enabled': True,
131+
'graphql_is_translatable_rweb_tweet_is_translatable_enabled': True,
132+
'view_counts_everywhere_api_enabled': True,
133+
'longform_notetweets_consumption_enabled': True,
134+
'responsive_web_twitter_article_tweet_consumption_enabled': True,
135+
'tweet_awards_web_tipping_enabled': False,
136+
'creator_subscriptions_quote_tweet_preview_enabled': False,
137+
'freedom_of_speech_not_reach_fetch_enabled': True,
138+
'standardized_nudges_misinfo': True,
139+
'tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled': True,
140+
'tweet_with_visibility_results_prefer_gql_media_interstitial_enabled': True,
141+
'rweb_video_timestamps_enabled': True,
142+
'longform_notetweets_rich_text_read_enabled': True,
143+
'longform_notetweets_inline_media_enabled': True,
144+
'responsive_web_enhance_cards_enabled': False
145+
}
146+
147+
BOOKMARK_FOLDER_TIMELINE_FEATURES = {
148+
'rweb_tipjar_consumption_enabled': True,
149+
'responsive_web_graphql_exclude_directive_enabled': True,
150+
'verified_phone_label_enabled': False,
151+
'creator_subscriptions_tweet_preview_api_enabled': True,
152+
'responsive_web_graphql_timeline_navigation_enabled': True,
153+
'responsive_web_graphql_skip_user_profile_image_extensions_enabled': False,
154+
'communities_web_enable_tweet_community_results_fetch': True,
155+
'c9s_tweet_anatomy_moderator_badge_enabled': True,
156+
'articles_preview_enabled': False,
157+
'tweetypie_unmention_optimization_enabled': True,
158+
'responsive_web_edit_tweet_api_enabled': True,
159+
'graphql_is_translatable_rweb_tweet_is_translatable_enabled': True,
160+
'view_counts_everywhere_api_enabled': True,
161+
'longform_notetweets_consumption_enabled': True,
162+
'responsive_web_twitter_article_tweet_consumption_enabled': True,
163+
'tweet_awards_web_tipping_enabled': False,
164+
'creator_subscriptions_quote_tweet_preview_enabled': False,
165+
'freedom_of_speech_not_reach_fetch_enabled': True,
166+
'standardized_nudges_misinfo': True,
167+
'tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled': True,
168+
'tweet_with_visibility_results_prefer_gql_media_interstitial_enabled': True,
169+
'rweb_video_timestamps_enabled': True,
170+
'longform_notetweets_rich_text_read_enabled': True,
171+
'longform_notetweets_inline_media_enabled': True,
172+
'responsive_web_enhance_cards_enabled': False
173+
}

0 commit comments

Comments
 (0)