diff --git a/dist/compatible/openapi-3.0.yaml b/dist/compatible/openapi-3.0.yaml index f634fb7..9e460d8 100644 --- a/dist/compatible/openapi-3.0.yaml +++ b/dist/compatible/openapi-3.0.yaml @@ -104,6 +104,8 @@ paths: $ref: ./paths/timeline.yaml#/paths/~1graphql~1{pathQueryId}~1SearchTimeline /graphql/{pathQueryId}/TweetDetail: $ref: ./paths/tweet.yaml#/paths/~1graphql~1{pathQueryId}~1TweetDetail + /graphql/{pathQueryId}/TweetResultByRestId: + $ref: ./paths/tweet.yaml#/paths/~1graphql~1{pathQueryId}~1TweetResultByRestId /graphql/{pathQueryId}/UnfavoriteTweet: $ref: ./paths/post.yaml#/paths/~1graphql~1{pathQueryId}~1UnfavoriteTweet /graphql/{pathQueryId}/UserByRestId: diff --git a/dist/compatible/paths/tweet.yaml b/dist/compatible/paths/tweet.yaml index 54e8bd9..4039bd1 100644 --- a/dist/compatible/paths/tweet.yaml +++ b/dist/compatible/paths/tweet.yaml @@ -24,6 +24,18 @@ components: $ref: ./../schemas/timeline.yaml#/components/schemas/TimelineV2 required: - favoriters_timeline + TweetResultByRestIdData: + properties: + tweetResult: + $ref: ./../schemas/content.yaml#/components/schemas/ItemResult + required: + - tweetResult + TweetResultByRestIdResponse: + properties: + data: + $ref: '#/components/schemas/TweetResultByRestIdData' + required: + - data TweetRetweetersResponse: properties: data: @@ -301,3 +313,85 @@ paths: type: string tags: - tweet + /graphql/{pathQueryId}/TweetResultByRestId: + get: + description: get TweetResultByRestId + operationId: getTweetResultByRestId + parameters: + - in: path + name: pathQueryId + required: true + schema: + default: 0hWvDhmW8YQ-S_ib3azIrw + example: 0hWvDhmW8YQ-S_ib3azIrw + type: string + - in: query + name: variables + required: true + schema: + default: '{"tweetId": "1691730070669517096", "withCommunity": false, "includePromotedContent": + false, "withVoice": false}' + example: '{"tweetId": "1691730070669517096", "withCommunity": false, "includePromotedContent": + false, "withVoice": false}' + type: string + - in: query + name: features + required: true + schema: + default: '{"creator_subscriptions_tweet_preview_api_enabled": true, "tweetypie_unmention_optimization_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": false, + "tweet_awards_web_tipping_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, "longform_notetweets_rich_text_read_enabled": true, "longform_notetweets_inline_media_enabled": + true, "responsive_web_graphql_exclude_directive_enabled": true, "verified_phone_label_enabled": + false, "responsive_web_media_download_video_enabled": false, "responsive_web_graphql_skip_user_profile_image_extensions_enabled": + false, "responsive_web_graphql_timeline_navigation_enabled": true, "responsive_web_enhance_cards_enabled": + false}' + example: '{"creator_subscriptions_tweet_preview_api_enabled": true, "tweetypie_unmention_optimization_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": false, + "tweet_awards_web_tipping_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, "longform_notetweets_rich_text_read_enabled": true, "longform_notetweets_inline_media_enabled": + true, "responsive_web_graphql_exclude_directive_enabled": true, "verified_phone_label_enabled": + false, "responsive_web_media_download_video_enabled": false, "responsive_web_graphql_skip_user_profile_image_extensions_enabled": + false, "responsive_web_graphql_timeline_navigation_enabled": true, "responsive_web_enhance_cards_enabled": + false}' + type: string + responses: + '200': + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/TweetResultByRestIdResponse' + - $ref: ./../schemas/error.yaml#/components/schemas/Errors + description: Successful operation + headers: + x-connection-hash: + schema: + type: string + x-rate-limit-limit: + schema: + type: integer + x-rate-limit-remaining: + schema: + type: integer + x-rate-limit-reset: + schema: + type: integer + x-response-time: + schema: + type: integer + x-tfe-preserve-body: + schema: + type: boolean + x-transaction-id: + schema: + type: string + x-twitter-response-tags: + schema: + type: string diff --git a/dist/docs/openapi-3.0.yaml b/dist/docs/openapi-3.0.yaml index f634fb7..9e460d8 100644 --- a/dist/docs/openapi-3.0.yaml +++ b/dist/docs/openapi-3.0.yaml @@ -104,6 +104,8 @@ paths: $ref: ./paths/timeline.yaml#/paths/~1graphql~1{pathQueryId}~1SearchTimeline /graphql/{pathQueryId}/TweetDetail: $ref: ./paths/tweet.yaml#/paths/~1graphql~1{pathQueryId}~1TweetDetail + /graphql/{pathQueryId}/TweetResultByRestId: + $ref: ./paths/tweet.yaml#/paths/~1graphql~1{pathQueryId}~1TweetResultByRestId /graphql/{pathQueryId}/UnfavoriteTweet: $ref: ./paths/post.yaml#/paths/~1graphql~1{pathQueryId}~1UnfavoriteTweet /graphql/{pathQueryId}/UserByRestId: diff --git a/dist/docs/paths/tweet.yaml b/dist/docs/paths/tweet.yaml index fb1d27d..7ca37f8 100644 --- a/dist/docs/paths/tweet.yaml +++ b/dist/docs/paths/tweet.yaml @@ -24,6 +24,18 @@ components: $ref: ./../schemas/timeline.yaml#/components/schemas/TimelineV2 required: - favoriters_timeline + TweetResultByRestIdData: + properties: + tweetResult: + $ref: ./../schemas/content.yaml#/components/schemas/ItemResult + required: + - tweetResult + TweetResultByRestIdResponse: + properties: + data: + $ref: '#/components/schemas/TweetResultByRestIdData' + required: + - data TweetRetweetersResponse: properties: data: @@ -604,3 +616,182 @@ paths: type: string tags: - tweet + /graphql/{pathQueryId}/TweetResultByRestId: + get: + description: get TweetResultByRestId + operationId: getTweetResultByRestId + parameters: + - in: path + name: pathQueryId + required: true + schema: + default: 0hWvDhmW8YQ-S_ib3azIrw + example: 0hWvDhmW8YQ-S_ib3azIrw + type: string + - content: + application/json: + schema: + properties: + includePromotedContent: + default: false + example: false + type: boolean + tweetId: + default: '1691730070669517096' + example: '1691730070669517096' + type: string + withCommunity: + default: false + example: false + type: boolean + withVoice: + default: false + example: false + type: boolean + required: + - tweetId + - withCommunity + - includePromotedContent + - withVoice + type: object + in: query + name: variables + required: true + - content: + application/json: + schema: + properties: + creator_subscriptions_tweet_preview_api_enabled: + default: true + example: true + type: boolean + freedom_of_speech_not_reach_fetch_enabled: + default: true + example: true + type: boolean + graphql_is_translatable_rweb_tweet_is_translatable_enabled: + default: true + example: true + type: boolean + longform_notetweets_consumption_enabled: + default: true + example: true + type: boolean + longform_notetweets_inline_media_enabled: + default: true + example: true + type: boolean + longform_notetweets_rich_text_read_enabled: + default: true + example: true + type: boolean + responsive_web_edit_tweet_api_enabled: + default: true + example: true + type: boolean + responsive_web_enhance_cards_enabled: + default: false + example: false + type: boolean + responsive_web_graphql_exclude_directive_enabled: + default: true + example: true + type: boolean + responsive_web_graphql_skip_user_profile_image_extensions_enabled: + default: false + example: false + type: boolean + responsive_web_graphql_timeline_navigation_enabled: + default: true + example: true + type: boolean + responsive_web_media_download_video_enabled: + default: false + example: false + type: boolean + responsive_web_twitter_article_tweet_consumption_enabled: + default: false + example: false + type: boolean + standardized_nudges_misinfo: + default: true + example: true + type: boolean + tweet_awards_web_tipping_enabled: + default: false + example: false + type: boolean + tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled: + default: true + example: true + type: boolean + tweetypie_unmention_optimization_enabled: + default: true + example: true + type: boolean + verified_phone_label_enabled: + default: false + example: false + type: boolean + view_counts_everywhere_api_enabled: + default: true + example: true + type: boolean + required: + - creator_subscriptions_tweet_preview_api_enabled + - tweetypie_unmention_optimization_enabled + - responsive_web_edit_tweet_api_enabled + - graphql_is_translatable_rweb_tweet_is_translatable_enabled + - view_counts_everywhere_api_enabled + - longform_notetweets_consumption_enabled + - responsive_web_twitter_article_tweet_consumption_enabled + - tweet_awards_web_tipping_enabled + - freedom_of_speech_not_reach_fetch_enabled + - standardized_nudges_misinfo + - tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled + - longform_notetweets_rich_text_read_enabled + - longform_notetweets_inline_media_enabled + - responsive_web_graphql_exclude_directive_enabled + - verified_phone_label_enabled + - responsive_web_media_download_video_enabled + - responsive_web_graphql_skip_user_profile_image_extensions_enabled + - responsive_web_graphql_timeline_navigation_enabled + - responsive_web_enhance_cards_enabled + type: object + in: query + name: features + required: true + responses: + '200': + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/TweetResultByRestIdResponse' + - $ref: ./../schemas/error.yaml#/components/schemas/Errors + description: Successful operation + headers: + x-connection-hash: + schema: + type: string + x-rate-limit-limit: + schema: + type: integer + x-rate-limit-remaining: + schema: + type: integer + x-rate-limit-reset: + schema: + type: integer + x-response-time: + schema: + type: integer + x-tfe-preserve-body: + schema: + type: boolean + x-transaction-id: + schema: + type: string + x-twitter-response-tags: + schema: + type: string diff --git a/src/config/placeholder.json b/src/config/placeholder.json index 001bc66..37c98da 100644 --- a/src/config/placeholder.json +++ b/src/config/placeholder.json @@ -121,7 +121,9 @@ "UsersByRestIds": { "queryId": "GD4q8bBE2i6cqWw2iT74Gg", "variables": { - "userIds": ["44196397"] + "userIds": [ + "44196397" + ] }, "features": { "responsive_web_graphql_exclude_directive_enabled": true, @@ -365,6 +367,36 @@ "responsive_web_enhance_cards_enabled": false } }, + "TweetResultByRestId": { + "queryId": "0hWvDhmW8YQ-S_ib3azIrw", + "variables": { + "tweetId": "1691730070669517096", + "withCommunity": false, + "includePromotedContent": false, + "withVoice": false + }, + "features": { + "creator_subscriptions_tweet_preview_api_enabled": true, + "tweetypie_unmention_optimization_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": false, + "tweet_awards_web_tipping_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, + "longform_notetweets_rich_text_read_enabled": true, + "longform_notetweets_inline_media_enabled": true, + "responsive_web_graphql_exclude_directive_enabled": true, + "verified_phone_label_enabled": false, + "responsive_web_media_download_video_enabled": false, + "responsive_web_graphql_skip_user_profile_image_extensions_enabled": false, + "responsive_web_graphql_timeline_navigation_enabled": true, + "responsive_web_enhance_cards_enabled": false + } + }, "SearchTimeline": { "queryId": "L1VfBERtzc3VkBBT0YAYHA", "variables": { @@ -722,4 +754,4 @@ "include_ext_edit_control": true, "ext": "mediaStats,highlightedLabel,hasNftAvatar,voiceInfo,birdwatchPivot,enrichments,superFollowMetadata,unmentionInfo,editControl,vibe" } -} +} \ No newline at end of file diff --git a/src/openapi/paths/tweet.yaml b/src/openapi/paths/tweet.yaml index 87ddd4a..022bfdb 100644 --- a/src/openapi/paths/tweet.yaml +++ b/src/openapi/paths/tweet.yaml @@ -20,6 +20,22 @@ paths: tags: - "tweet" + /graphql/{pathQueryId}/TweetResultByRestId: + get: + operationId: getTweetResultByRestId + description: get TweetResultByRestId + responses: + "200": + description: Successful operation + content: + application/json: + schema: + oneOf: + - $ref: "#/components/schemas/TweetResultByRestIdResponse" + - $ref: "./../schemas/error.yaml#/components/schemas/Errors" + # tags: + # - "tweet" + /graphql/{pathQueryId}/Favoriters: get: operationId: getFavoriters @@ -68,6 +84,20 @@ components: threaded_conversation_with_injections_v2: $ref: "./../schemas/timeline.yaml#/components/schemas/Timeline" + TweetResultByRestIdResponse: + required: + - "data" + properties: + data: + $ref: "#/components/schemas/TweetResultByRestIdData" + + TweetResultByRestIdData: + required: + - "tweetResult" + properties: + tweetResult: + $ref: "./../schemas/content.yaml#/components/schemas/ItemResult" + TweetFavoritersResponse: required: - "data"