Skip to content
Open
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 5 additions & 4 deletions twikit/client/gql.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
BOOKMARK_FOLDER_TIMELINE_FEATURES,
COMMUNITY_NOTE_FEATURES,
COMMUNITY_TWEETS_FEATURES,
CREATE_TWEET_FEATURES,
FEATURES,
JOIN_COMMUNITY_FEATURES,
LIST_FEATURES,
Expand All @@ -31,10 +32,10 @@ class Endpoint:
def url(path):
return f'https://{DOMAIN}/i/api/graphql/{path}'

SEARCH_TIMELINE = url('flaR-PUMshxFWZWPNpq4zA/SearchTimeline')
SEARCH_TIMELINE = url('1BP5aKg8NvTNvRCyyCyq8g/SearchTimeline')
SIMILAR_POSTS = url('EToazR74i0rJyZYalfVEAQ/SimilarPosts')
CREATE_NOTE_TWEET = url('iCUB42lIfXf9qPKctjE5rQ/CreateNoteTweet')
CREATE_TWEET = url('SiM_cAu83R0wnrpmKQQSEw/CreateTweet')
CREATE_TWEET = url('UecQIuYzi2MCOah7-eOpcQ/CreateTweet')
CREATE_SCHEDULED_TWEET = url('LCVzRQGxOaGnOnYH01NQXg/CreateScheduledTweet')
DELETE_TWEET = url('VaenaVgh5q5ih7kvyVjgtg/DeleteTweet')
USER_BY_SCREEN_NAME = url('NimuplG1OB7Fd2btCLdBOw/UserByScreenName')
Expand All @@ -51,7 +52,7 @@ def url(path):
USER_MEDIA = url('2tLOJWwGuCTytDrGBg8VwQ/UserMedia')
USER_LIKES = url('IohM3gxQHfvWePH5E3KuNA/Likes')
USER_HIGHLIGHTS_TWEETS = url('tHFm_XZc_NNi-CfUThwbNw/UserHighlightsTweets')
HOME_TIMELINE = url('-X_hcgQzmHGl29-UXxz4sw/HomeTimeline')
HOME_TIMELINE = url('oW4ZYHSh434ZZuEs1Kp-xw/HomeTimeline')
HOME_LATEST_TIMELINE = url('U0cdisy7QFIoTfu3-Okw0A/HomeLatestTimeline')
FAVORITE_TWEET = url('lI07N6Otwv1PhnEgXILM7A/FavoriteTweet')
UNFAVORITE_TWEET = url('ZYKSe-w7KEslx3JhSIk5LA/UnfavoriteTweet')
Expand Down Expand Up @@ -220,7 +221,7 @@ async def create_tweet(
features = NOTE_TWEET_FEATURES
else:
endpoint = Endpoint.CREATE_TWEET
features = FEATURES
features = CREATE_TWEET_FEATURES
return await self.gql_post(endpoint, variables, features)

async def create_scheduled_tweet(self, scheduled_at, text, media_ids) -> str:
Expand Down
34 changes: 34 additions & 0 deletions twikit/constants.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
'responsive_web_graphql_skip_user_profile_image_extensions_enabled': False,
'responsive_web_graphql_timeline_navigation_enabled': True,
'responsive_web_enhance_cards_enabled': False

}

USER_FEATURES = {
Expand Down Expand Up @@ -258,3 +259,36 @@
'responsive_web_graphql_timeline_navigation_enabled': True,
'responsive_web_enhance_cards_enabled': False
}


CREATE_TWEET_FEATURES = {
'premium_content_api_read_enabled': False,
'communities_web_enable_tweet_community_results_fetch': True,
'c9s_tweet_anatomy_moderator_badge_enabled': True,
'responsive_web_grok_analyze_button_fetch_trends_enabled': False,
'responsive_web_grok_analyze_post_followups_enabled': True,
'responsive_web_jetfuel_frame': False,
'responsive_web_grok_share_attachment_enabled': True,
'responsive_web_edit_tweet_api_enabled': True,
'graphql_is_translatable_rweb_tweet_is_translatable_enabled': True,
'view_counts_everywhere_api_enabled': True,
'longform_notetweets_consumption_enabled': True,
'responsive_web_twitter_article_tweet_consumption_enabled': True,
'tweet_awards_web_tipping_enabled': False,
'creator_subscriptions_quote_tweet_preview_enabled': False,
'longform_notetweets_rich_text_read_enabled': True,
'longform_notetweets_inline_media_enabled': True,
'profile_label_improvements_pcf_label_in_post_enabled': True,
'rweb_tipjar_consumption_enabled': True,
'responsive_web_graphql_exclude_directive_enabled': True,
'verified_phone_label_enabled': False,
'articles_preview_enabled': True,
'rweb_video_timestamps_enabled': True,
'responsive_web_graphql_skip_user_profile_image_extensions_enabled': False,
'freedom_of_speech_not_reach_fetch_enabled': True,
'standardized_nudges_misinfo': True,
'tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled': True,
'responsive_web_grok_image_annotation_enabled': False,
'responsive_web_graphql_timeline_navigation_enabled': True,
'responsive_web_enhance_cards_enabled': False
}