зеркало из
				https://github.com/viginum-datalab/twscrape.git
				synced 2025-10-31 05:56:24 +02:00 
			
		
		
		
	update mocks; fix full context parsing for tweets with rt
Этот коммит содержится в:
		
							родитель
							
								
									462739b5d9
								
							
						
					
					
						Коммит
						99bf64028e
					
				
							
								
								
									
										4
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								Makefile
									
									
									
									
									
								
							| @ -44,7 +44,7 @@ test34: | |||||||
| 
 | 
 | ||||||
| update-mocks: | update-mocks: | ||||||
| 	twscrape user_by_id --raw 2244994945 | jq > ./tests/mocked-data/user_by_id_raw.json | 	twscrape user_by_id --raw 2244994945 | jq > ./tests/mocked-data/user_by_id_raw.json | ||||||
| 	twscrape user_by_login --raw twitterdev | jq > ./tests/mocked-data/user_by_login_raw.json | 	twscrape user_by_login --raw xdevelopers | jq > ./tests/mocked-data/user_by_login_raw.json | ||||||
| 	twscrape followers --raw --limit 10 2244994945 | jq > ./tests/mocked-data/followers_raw.json | 	twscrape followers --raw --limit 10 2244994945 | jq > ./tests/mocked-data/followers_raw.json | ||||||
| 	twscrape following --raw --limit 10  2244994945 | jq > ./tests/mocked-data/following_raw.json | 	twscrape following --raw --limit 10  2244994945 | jq > ./tests/mocked-data/following_raw.json | ||||||
| 	twscrape tweet_details --raw 1649191520250245121 | jq > ./tests/mocked-data/tweet_details_raw.json | 	twscrape tweet_details --raw 1649191520250245121 | jq > ./tests/mocked-data/tweet_details_raw.json | ||||||
| @ -53,3 +53,5 @@ update-mocks: | |||||||
| 	twscrape user_tweets --raw --limit 10 2244994945 | jq > ./tests/mocked-data/user_tweets_raw.json | 	twscrape user_tweets --raw --limit 10 2244994945 | jq > ./tests/mocked-data/user_tweets_raw.json | ||||||
| 	twscrape user_tweets_and_replies --raw --limit 10 2244994945 | jq > ./tests/mocked-data/user_tweets_and_replies_raw.json | 	twscrape user_tweets_and_replies --raw --limit 10 2244994945 | jq > ./tests/mocked-data/user_tweets_and_replies_raw.json | ||||||
| 	twscrape search --raw --limit 10 "elon musk lang:en" | jq > ./tests/mocked-data/search_raw.json | 	twscrape search --raw --limit 10 "elon musk lang:en" | jq > ./tests/mocked-data/search_raw.json | ||||||
|  | 	 | ||||||
|  | 	twscrape tweet_details --raw 1665951747842641921 | jq > ./tests/mocked-data/_issue_42_regr.json | ||||||
|  | |||||||
| @ -85,7 +85,7 @@ async def main(): | |||||||
|     await gather(api.favoriters(tweet_id, limit=20))  # list[User] |     await gather(api.favoriters(tweet_id, limit=20))  # list[User] | ||||||
| 
 | 
 | ||||||
|     # get user by login |     # get user by login | ||||||
|     user_login = "twitterdev" |     user_login = "xdevelopers" | ||||||
|     await api.user_by_login(user_login)  # User |     await api.user_by_login(user_login)  # User | ||||||
| 
 | 
 | ||||||
|     # user info |     # user info | ||||||
|  | |||||||
							
								
								
									
										791
									
								
								tests/mocked-data/_issue_42_regr.json
									
									
									
									
									
										Обычный файл
									
								
							
							
						
						
									
										791
									
								
								tests/mocked-data/_issue_42_regr.json
									
									
									
									
									
										Обычный файл
									
								
							| @ -0,0 +1,791 @@ | |||||||
|  | { | ||||||
|  |   "data": { | ||||||
|  |     "threaded_conversation_with_injections_v2": { | ||||||
|  |       "instructions": [ | ||||||
|  |         { | ||||||
|  |           "type": "TimelineAddEntries", | ||||||
|  |           "entries": [ | ||||||
|  |             { | ||||||
|  |               "entryId": "tweet-1665951747842641921", | ||||||
|  |               "sortIndex": "7557420289012133886", | ||||||
|  |               "content": { | ||||||
|  |                 "entryType": "TimelineTimelineItem", | ||||||
|  |                 "__typename": "TimelineTimelineItem", | ||||||
|  |                 "itemContent": { | ||||||
|  |                   "itemType": "TimelineTweet", | ||||||
|  |                   "__typename": "TimelineTweet", | ||||||
|  |                   "tweet_results": { | ||||||
|  |                     "result": { | ||||||
|  |                       "__typename": "Tweet", | ||||||
|  |                       "rest_id": "1665951747842641921", | ||||||
|  |                       "has_birdwatch_notes": false, | ||||||
|  |                       "core": { | ||||||
|  |                         "user_results": { | ||||||
|  |                           "result": { | ||||||
|  |                             "__typename": "User", | ||||||
|  |                             "id": "VXNlcjoxNTM5Nzc0OTEzOTY3NzE0MzA0", | ||||||
|  |                             "rest_id": "1539774913967714304", | ||||||
|  |                             "affiliates_highlighted_label": {}, | ||||||
|  |                             "has_graduated_access": true, | ||||||
|  |                             "is_blue_verified": false, | ||||||
|  |                             "profile_image_shape": "Square", | ||||||
|  |                             "legacy": { | ||||||
|  |                               "can_dm": false, | ||||||
|  |                               "can_media_tag": true, | ||||||
|  |                               "created_at": "Thu Jun 23 00:59:21 +0000 2022", | ||||||
|  |                               "default_profile": true, | ||||||
|  |                               "default_profile_image": false, | ||||||
|  |                               "description": "AVIC International Holding Corporation (AVIC INTL) is a global share-holding enterprise affiliated to Aviation Industry Corporation of China (AVIC).", | ||||||
|  |                               "entities": { | ||||||
|  |                                 "description": { | ||||||
|  |                                   "urls": [] | ||||||
|  |                                 } | ||||||
|  |                               }, | ||||||
|  |                               "fast_followers_count": 0, | ||||||
|  |                               "favourites_count": 145, | ||||||
|  |                               "followers_count": 11675, | ||||||
|  |                               "friends_count": 118, | ||||||
|  |                               "has_custom_timelines": true, | ||||||
|  |                               "is_translator": false, | ||||||
|  |                               "listed_count": 6, | ||||||
|  |                               "location": "", | ||||||
|  |                               "media_count": 195, | ||||||
|  |                               "name": "AVIC INTL", | ||||||
|  |                               "normal_followers_count": 11675, | ||||||
|  |                               "pinned_tweet_ids_str": [], | ||||||
|  |                               "possibly_sensitive": false, | ||||||
|  |                               "profile_banner_url": "https://pbs.twimg.com/profile_banners/1539774913967714304/1656380265", | ||||||
|  |                               "profile_image_url_https": "https://pbs.twimg.com/profile_images/1542841676573466625/Twwv8q0a_normal.jpg", | ||||||
|  |                               "profile_interstitial_type": "", | ||||||
|  |                               "screen_name": "_AVICINTL", | ||||||
|  |                               "statuses_count": 268, | ||||||
|  |                               "translator_type": "none", | ||||||
|  |                               "verified": false, | ||||||
|  |                               "verified_type": "Business", | ||||||
|  |                               "want_retweets": false, | ||||||
|  |                               "withheld_in_countries": [] | ||||||
|  |                             }, | ||||||
|  |                             "professional": { | ||||||
|  |                               "rest_id": "1565386974147387392", | ||||||
|  |                               "professional_type": "Business", | ||||||
|  |                               "category": [] | ||||||
|  |                             } | ||||||
|  |                           } | ||||||
|  |                         } | ||||||
|  |                       }, | ||||||
|  |                       "edit_control": { | ||||||
|  |                         "edit_tweet_ids": [ | ||||||
|  |                           "1665951747842641921" | ||||||
|  |                         ], | ||||||
|  |                         "editable_until_msecs": "1686032423229", | ||||||
|  |                         "is_edit_eligible": false, | ||||||
|  |                         "edits_remaining": "5" | ||||||
|  |                       }, | ||||||
|  |                       "is_translatable": false, | ||||||
|  |                       "views": { | ||||||
|  |                         "state": "Enabled" | ||||||
|  |                       }, | ||||||
|  |                       "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", | ||||||
|  |                       "legacy": { | ||||||
|  |                         "bookmark_count": 0, | ||||||
|  |                         "bookmarked": false, | ||||||
|  |                         "created_at": "Tue Jun 06 05:20:23 +0000 2023", | ||||||
|  |                         "conversation_id_str": "1665951747842641921", | ||||||
|  |                         "display_text_range": [ | ||||||
|  |                           0, | ||||||
|  |                           140 | ||||||
|  |                         ], | ||||||
|  |                         "entities": { | ||||||
|  |                           "user_mentions": [ | ||||||
|  |                             { | ||||||
|  |                               "id_str": "87775422", | ||||||
|  |                               "name": "China Daily", | ||||||
|  |                               "screen_name": "ChinaDaily", | ||||||
|  |                               "indices": [ | ||||||
|  |                                 3, | ||||||
|  |                                 14 | ||||||
|  |                               ] | ||||||
|  |                             } | ||||||
|  |                           ], | ||||||
|  |                           "urls": [], | ||||||
|  |                           "hashtags": [], | ||||||
|  |                           "symbols": [] | ||||||
|  |                         }, | ||||||
|  |                         "favorite_count": 0, | ||||||
|  |                         "favorited": false, | ||||||
|  |                         "full_text": "RT @ChinaDaily: Today marks the arrival of a traditional Chinese solar term called mangzhong, or Grain in Ear, signifying a busy farming pe…", | ||||||
|  |                         "is_quote_status": false, | ||||||
|  |                         "lang": "en", | ||||||
|  |                         "quote_count": 0, | ||||||
|  |                         "reply_count": 0, | ||||||
|  |                         "retweet_count": 10, | ||||||
|  |                         "retweeted": false, | ||||||
|  |                         "user_id_str": "1539774913967714304", | ||||||
|  |                         "id_str": "1665951747842641921", | ||||||
|  |                         "retweeted_status_result": { | ||||||
|  |                           "result": { | ||||||
|  |                             "__typename": "Tweet", | ||||||
|  |                             "rest_id": "1665863576060575744", | ||||||
|  |                             "has_birdwatch_notes": false, | ||||||
|  |                             "core": { | ||||||
|  |                               "user_results": { | ||||||
|  |                                 "result": { | ||||||
|  |                                   "__typename": "User", | ||||||
|  |                                   "id": "VXNlcjo4Nzc3NTQyMg==", | ||||||
|  |                                   "rest_id": "87775422", | ||||||
|  |                                   "affiliates_highlighted_label": {}, | ||||||
|  |                                   "has_graduated_access": true, | ||||||
|  |                                   "is_blue_verified": true, | ||||||
|  |                                   "profile_image_shape": "Circle", | ||||||
|  |                                   "legacy": { | ||||||
|  |                                     "can_dm": true, | ||||||
|  |                                     "can_media_tag": true, | ||||||
|  |                                     "created_at": "Thu Nov 05 20:30:10 +0000 2009", | ||||||
|  |                                     "default_profile": false, | ||||||
|  |                                     "default_profile_image": false, | ||||||
|  |                                     "description": "Start a conversation as we share news and analysis from #China and beyond. \nFB: China Daily \nTelegram: https://t.co/GxDi5xGRTF\nIns: chinadailynews", | ||||||
|  |                                     "entities": { | ||||||
|  |                                       "description": { | ||||||
|  |                                         "urls": [ | ||||||
|  |                                           { | ||||||
|  |                                             "display_url": "t.me/+043Tnnn4bd4yN…", | ||||||
|  |                                             "expanded_url": "https://t.me/+043Tnnn4bd4yNTll", | ||||||
|  |                                             "url": "https://t.co/GxDi5xGRTF", | ||||||
|  |                                             "indices": [ | ||||||
|  |                                               103, | ||||||
|  |                                               126 | ||||||
|  |                                             ] | ||||||
|  |                                           } | ||||||
|  |                                         ] | ||||||
|  |                                       } | ||||||
|  |                                     }, | ||||||
|  |                                     "fast_followers_count": 0, | ||||||
|  |                                     "favourites_count": 1157, | ||||||
|  |                                     "followers_count": 4160524, | ||||||
|  |                                     "friends_count": 156, | ||||||
|  |                                     "has_custom_timelines": false, | ||||||
|  |                                     "is_translator": false, | ||||||
|  |                                     "listed_count": 6973, | ||||||
|  |                                     "location": "Beijing, China", | ||||||
|  |                                     "media_count": 111985, | ||||||
|  |                                     "name": "China Daily", | ||||||
|  |                                     "normal_followers_count": 4160524, | ||||||
|  |                                     "pinned_tweet_ids_str": [ | ||||||
|  |                                       "1698671689515593958" | ||||||
|  |                                     ], | ||||||
|  |                                     "possibly_sensitive": false, | ||||||
|  |                                     "profile_banner_url": "https://pbs.twimg.com/profile_banners/87775422/1683168821", | ||||||
|  |                                     "profile_image_url_https": "https://pbs.twimg.com/profile_images/1598185470353022976/-KlKi0WI_normal.jpg", | ||||||
|  |                                     "profile_interstitial_type": "", | ||||||
|  |                                     "screen_name": "ChinaDaily", | ||||||
|  |                                     "statuses_count": 207165, | ||||||
|  |                                     "translator_type": "none", | ||||||
|  |                                     "verified": false, | ||||||
|  |                                     "want_retweets": false, | ||||||
|  |                                     "withheld_in_countries": [] | ||||||
|  |                                   }, | ||||||
|  |                                   "professional": { | ||||||
|  |                                     "rest_id": "1473187902209536003", | ||||||
|  |                                     "professional_type": "Creator", | ||||||
|  |                                     "category": [ | ||||||
|  |                                       { | ||||||
|  |                                         "id": 580, | ||||||
|  |                                         "name": "Media & News Company", | ||||||
|  |                                         "icon_name": "IconBriefcaseStroke" | ||||||
|  |                                       } | ||||||
|  |                                     ] | ||||||
|  |                                   } | ||||||
|  |                                 } | ||||||
|  |                               } | ||||||
|  |                             }, | ||||||
|  |                             "edit_control": { | ||||||
|  |                               "edit_tweet_ids": [ | ||||||
|  |                                 "1665863576060575744" | ||||||
|  |                               ], | ||||||
|  |                               "editable_until_msecs": "1686011401000", | ||||||
|  |                               "is_edit_eligible": true, | ||||||
|  |                               "edits_remaining": "5" | ||||||
|  |                             }, | ||||||
|  |                             "is_translatable": false, | ||||||
|  |                             "views": { | ||||||
|  |                               "count": "5229", | ||||||
|  |                               "state": "EnabledWithCount" | ||||||
|  |                             }, | ||||||
|  |                             "source": "<a href=\"http://erased21340332_45IhsckRBy.com\" rel=\"nofollow\">erased21340332_45IhsckRBy</a>", | ||||||
|  |                             "legacy": { | ||||||
|  |                               "bookmark_count": 0, | ||||||
|  |                               "bookmarked": false, | ||||||
|  |                               "created_at": "Mon Jun 05 23:30:01 +0000 2023", | ||||||
|  |                               "conversation_id_str": "1665863576060575744", | ||||||
|  |                               "display_text_range": [ | ||||||
|  |                                 0, | ||||||
|  |                                 128 | ||||||
|  |                               ], | ||||||
|  |                               "entities": { | ||||||
|  |                                 "media": [ | ||||||
|  |                                   { | ||||||
|  |                                     "display_url": "pic.twitter.com/SQMrX99bWr", | ||||||
|  |                                     "expanded_url": "https://twitter.com/ChinaDaily/status/1665863576060575744/video/1", | ||||||
|  |                                     "id_str": "1665861064259686400", | ||||||
|  |                                     "indices": [ | ||||||
|  |                                       129, | ||||||
|  |                                       152 | ||||||
|  |                                     ], | ||||||
|  |                                     "media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/1665861064259686400/pu/img/D1qkMrHVMTV_ifFk.jpg", | ||||||
|  |                                     "type": "photo", | ||||||
|  |                                     "url": "https://t.co/SQMrX99bWr", | ||||||
|  |                                     "features": {}, | ||||||
|  |                                     "sizes": { | ||||||
|  |                                       "large": { | ||||||
|  |                                         "h": 640, | ||||||
|  |                                         "w": 296, | ||||||
|  |                                         "resize": "fit" | ||||||
|  |                                       }, | ||||||
|  |                                       "medium": { | ||||||
|  |                                         "h": 640, | ||||||
|  |                                         "w": 296, | ||||||
|  |                                         "resize": "fit" | ||||||
|  |                                       }, | ||||||
|  |                                       "small": { | ||||||
|  |                                         "h": 640, | ||||||
|  |                                         "w": 296, | ||||||
|  |                                         "resize": "fit" | ||||||
|  |                                       }, | ||||||
|  |                                       "thumb": { | ||||||
|  |                                         "h": 150, | ||||||
|  |                                         "w": 150, | ||||||
|  |                                         "resize": "crop" | ||||||
|  |                                       } | ||||||
|  |                                     }, | ||||||
|  |                                     "original_info": { | ||||||
|  |                                       "height": 640, | ||||||
|  |                                       "width": 296 | ||||||
|  |                                     } | ||||||
|  |                                   } | ||||||
|  |                                 ], | ||||||
|  |                                 "user_mentions": [], | ||||||
|  |                                 "urls": [], | ||||||
|  |                                 "hashtags": [], | ||||||
|  |                                 "symbols": [] | ||||||
|  |                               }, | ||||||
|  |                               "extended_entities": { | ||||||
|  |                                 "media": [ | ||||||
|  |                                   { | ||||||
|  |                                     "display_url": "pic.twitter.com/SQMrX99bWr", | ||||||
|  |                                     "expanded_url": "https://twitter.com/ChinaDaily/status/1665863576060575744/video/1", | ||||||
|  |                                     "id_str": "1665861064259686400", | ||||||
|  |                                     "indices": [ | ||||||
|  |                                       129, | ||||||
|  |                                       152 | ||||||
|  |                                     ], | ||||||
|  |                                     "media_key": "7_1665861064259686400", | ||||||
|  |                                     "media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/1665861064259686400/pu/img/D1qkMrHVMTV_ifFk.jpg", | ||||||
|  |                                     "type": "video", | ||||||
|  |                                     "url": "https://t.co/SQMrX99bWr", | ||||||
|  |                                     "additional_media_info": { | ||||||
|  |                                       "monetizable": false | ||||||
|  |                                     }, | ||||||
|  |                                     "mediaStats": { | ||||||
|  |                                       "viewCount": 964 | ||||||
|  |                                     }, | ||||||
|  |                                     "ext_media_availability": { | ||||||
|  |                                       "status": "Available" | ||||||
|  |                                     }, | ||||||
|  |                                     "features": {}, | ||||||
|  |                                     "sizes": { | ||||||
|  |                                       "large": { | ||||||
|  |                                         "h": 640, | ||||||
|  |                                         "w": 296, | ||||||
|  |                                         "resize": "fit" | ||||||
|  |                                       }, | ||||||
|  |                                       "medium": { | ||||||
|  |                                         "h": 640, | ||||||
|  |                                         "w": 296, | ||||||
|  |                                         "resize": "fit" | ||||||
|  |                                       }, | ||||||
|  |                                       "small": { | ||||||
|  |                                         "h": 640, | ||||||
|  |                                         "w": 296, | ||||||
|  |                                         "resize": "fit" | ||||||
|  |                                       }, | ||||||
|  |                                       "thumb": { | ||||||
|  |                                         "h": 150, | ||||||
|  |                                         "w": 150, | ||||||
|  |                                         "resize": "crop" | ||||||
|  |                                       } | ||||||
|  |                                     }, | ||||||
|  |                                     "original_info": { | ||||||
|  |                                       "height": 640, | ||||||
|  |                                       "width": 296 | ||||||
|  |                                     }, | ||||||
|  |                                     "video_info": { | ||||||
|  |                                       "aspect_ratio": [ | ||||||
|  |                                         37, | ||||||
|  |                                         80 | ||||||
|  |                                       ], | ||||||
|  |                                       "duration_millis": 16000, | ||||||
|  |                                       "variants": [ | ||||||
|  |                                         { | ||||||
|  |                                           "content_type": "application/x-mpegURL", | ||||||
|  |                                           "url": "https://video.twimg.com/ext_tw_video/1665861064259686400/pu/pl/pPnoCo_jLID-udSS.m3u8?tag=12&container=fmp4" | ||||||
|  |                                         }, | ||||||
|  |                                         { | ||||||
|  |                                           "bitrate": 632000, | ||||||
|  |                                           "content_type": "video/mp4", | ||||||
|  |                                           "url": "https://video.twimg.com/ext_tw_video/1665861064259686400/pu/vid/296x640/qQVrB3CenvchQsuP.mp4?tag=12" | ||||||
|  |                                         } | ||||||
|  |                                       ] | ||||||
|  |                                     } | ||||||
|  |                                   } | ||||||
|  |                                 ] | ||||||
|  |                               }, | ||||||
|  |                               "favorite_count": 26, | ||||||
|  |                               "favorited": false, | ||||||
|  |                               "full_text": "Today marks the arrival of a traditional Chinese solar term called mangzhong, or Grain in Ear, signifying a busy farming period. https://t.co/SQMrX99bWr", | ||||||
|  |                               "is_quote_status": false, | ||||||
|  |                               "lang": "en", | ||||||
|  |                               "possibly_sensitive": false, | ||||||
|  |                               "possibly_sensitive_editable": true, | ||||||
|  |                               "quote_count": 5, | ||||||
|  |                               "reply_count": 4, | ||||||
|  |                               "retweet_count": 10, | ||||||
|  |                               "retweeted": false, | ||||||
|  |                               "user_id_str": "87775422", | ||||||
|  |                               "id_str": "1665863576060575744" | ||||||
|  |                             } | ||||||
|  |                           } | ||||||
|  |                         } | ||||||
|  |                       }, | ||||||
|  |                       "quick_promote_eligibility": { | ||||||
|  |                         "eligibility": "IneligibleNotProfessional" | ||||||
|  |                       } | ||||||
|  |                     } | ||||||
|  |                   }, | ||||||
|  |                   "tweetDisplayType": "Tweet", | ||||||
|  |                   "hasModeratedReplies": false | ||||||
|  |                 } | ||||||
|  |               } | ||||||
|  |             }, | ||||||
|  |             { | ||||||
|  |               "entryId": "tweetdetailrelatedtweets-1700101930339721300", | ||||||
|  |               "sortIndex": "1", | ||||||
|  |               "content": { | ||||||
|  |                 "entryType": "TimelineTimelineModule", | ||||||
|  |                 "__typename": "TimelineTimelineModule", | ||||||
|  |                 "items": [ | ||||||
|  |                   { | ||||||
|  |                     "entryId": "tweetdetailrelatedtweets-1700101930339721300-tweet-1700101930339721300", | ||||||
|  |                     "item": { | ||||||
|  |                       "itemContent": { | ||||||
|  |                         "itemType": "TimelineTweet", | ||||||
|  |                         "__typename": "TimelineTweet", | ||||||
|  |                         "tweet_results": { | ||||||
|  |                           "result": { | ||||||
|  |                             "__typename": "Tweet", | ||||||
|  |                             "rest_id": "1700101930339721300", | ||||||
|  |                             "has_birdwatch_notes": false, | ||||||
|  |                             "core": { | ||||||
|  |                               "user_results": { | ||||||
|  |                                 "result": { | ||||||
|  |                                   "__typename": "User", | ||||||
|  |                                   "id": "VXNlcjo4Nzc3NTQyMg==", | ||||||
|  |                                   "rest_id": "87775422", | ||||||
|  |                                   "affiliates_highlighted_label": {}, | ||||||
|  |                                   "has_graduated_access": true, | ||||||
|  |                                   "is_blue_verified": true, | ||||||
|  |                                   "profile_image_shape": "Circle", | ||||||
|  |                                   "legacy": { | ||||||
|  |                                     "can_dm": true, | ||||||
|  |                                     "can_media_tag": true, | ||||||
|  |                                     "created_at": "Thu Nov 05 20:30:10 +0000 2009", | ||||||
|  |                                     "default_profile": false, | ||||||
|  |                                     "default_profile_image": false, | ||||||
|  |                                     "description": "Start a conversation as we share news and analysis from #China and beyond. \nFB: China Daily \nTelegram: https://t.co/GxDi5xGRTF\nIns: chinadailynews", | ||||||
|  |                                     "entities": { | ||||||
|  |                                       "description": { | ||||||
|  |                                         "urls": [ | ||||||
|  |                                           { | ||||||
|  |                                             "display_url": "t.me/+043Tnnn4bd4yN…", | ||||||
|  |                                             "expanded_url": "https://t.me/+043Tnnn4bd4yNTll", | ||||||
|  |                                             "url": "https://t.co/GxDi5xGRTF", | ||||||
|  |                                             "indices": [ | ||||||
|  |                                               103, | ||||||
|  |                                               126 | ||||||
|  |                                             ] | ||||||
|  |                                           } | ||||||
|  |                                         ] | ||||||
|  |                                       } | ||||||
|  |                                     }, | ||||||
|  |                                     "fast_followers_count": 0, | ||||||
|  |                                     "favourites_count": 1157, | ||||||
|  |                                     "followers_count": 4160524, | ||||||
|  |                                     "friends_count": 156, | ||||||
|  |                                     "has_custom_timelines": false, | ||||||
|  |                                     "is_translator": false, | ||||||
|  |                                     "listed_count": 6973, | ||||||
|  |                                     "location": "Beijing, China", | ||||||
|  |                                     "media_count": 111985, | ||||||
|  |                                     "name": "China Daily", | ||||||
|  |                                     "normal_followers_count": 4160524, | ||||||
|  |                                     "pinned_tweet_ids_str": [ | ||||||
|  |                                       "1698671689515593958" | ||||||
|  |                                     ], | ||||||
|  |                                     "possibly_sensitive": false, | ||||||
|  |                                     "profile_banner_url": "https://pbs.twimg.com/profile_banners/87775422/1683168821", | ||||||
|  |                                     "profile_image_url_https": "https://pbs.twimg.com/profile_images/1598185470353022976/-KlKi0WI_normal.jpg", | ||||||
|  |                                     "profile_interstitial_type": "", | ||||||
|  |                                     "screen_name": "ChinaDaily", | ||||||
|  |                                     "statuses_count": 207165, | ||||||
|  |                                     "translator_type": "none", | ||||||
|  |                                     "verified": false, | ||||||
|  |                                     "want_retweets": false, | ||||||
|  |                                     "withheld_in_countries": [] | ||||||
|  |                                   }, | ||||||
|  |                                   "professional": { | ||||||
|  |                                     "rest_id": "1473187902209536003", | ||||||
|  |                                     "professional_type": "Creator", | ||||||
|  |                                     "category": [ | ||||||
|  |                                       { | ||||||
|  |                                         "id": 580, | ||||||
|  |                                         "name": "Media & News Company", | ||||||
|  |                                         "icon_name": "IconBriefcaseStroke" | ||||||
|  |                                       } | ||||||
|  |                                     ] | ||||||
|  |                                   } | ||||||
|  |                                 } | ||||||
|  |                               } | ||||||
|  |                             }, | ||||||
|  |                             "edit_control": { | ||||||
|  |                               "edit_tweet_ids": [ | ||||||
|  |                                 "1700101930339721300" | ||||||
|  |                               ], | ||||||
|  |                               "editable_until_msecs": "1694174461000", | ||||||
|  |                               "is_edit_eligible": true, | ||||||
|  |                               "edits_remaining": "5" | ||||||
|  |                             }, | ||||||
|  |                             "is_translatable": false, | ||||||
|  |                             "views": { | ||||||
|  |                               "count": "3840", | ||||||
|  |                               "state": "EnabledWithCount" | ||||||
|  |                             }, | ||||||
|  |                             "source": "<a href=\"https://socialabs.net/\" rel=\"nofollow\">OneSight</a>", | ||||||
|  |                             "legacy": { | ||||||
|  |                               "bookmark_count": 0, | ||||||
|  |                               "bookmarked": false, | ||||||
|  |                               "created_at": "Fri Sep 08 11:01:01 +0000 2023", | ||||||
|  |                               "conversation_id_str": "1700101930339721300", | ||||||
|  |                               "display_text_range": [ | ||||||
|  |                                 0, | ||||||
|  |                                 46 | ||||||
|  |                               ], | ||||||
|  |                               "entities": { | ||||||
|  |                                 "media": [ | ||||||
|  |                                   { | ||||||
|  |                                     "display_url": "pic.twitter.com/EuKz00kTRC", | ||||||
|  |                                     "expanded_url": "https://twitter.com/ChinaDaily/status/1700101930339721300/photo/1", | ||||||
|  |                                     "id_str": "1700099245465022464", | ||||||
|  |                                     "indices": [ | ||||||
|  |                                       47, | ||||||
|  |                                       70 | ||||||
|  |                                     ], | ||||||
|  |                                     "media_url_https": "https://pbs.twimg.com/media/F5f3QZjaMAAG_tC.jpg", | ||||||
|  |                                     "type": "photo", | ||||||
|  |                                     "url": "https://t.co/EuKz00kTRC", | ||||||
|  |                                     "features": { | ||||||
|  |                                       "large": { | ||||||
|  |                                         "faces": [ | ||||||
|  |                                           { | ||||||
|  |                                             "x": 518, | ||||||
|  |                                             "y": 76, | ||||||
|  |                                             "h": 91, | ||||||
|  |                                             "w": 91 | ||||||
|  |                                           } | ||||||
|  |                                         ] | ||||||
|  |                                       }, | ||||||
|  |                                       "medium": { | ||||||
|  |                                         "faces": [ | ||||||
|  |                                           { | ||||||
|  |                                             "x": 518, | ||||||
|  |                                             "y": 76, | ||||||
|  |                                             "h": 91, | ||||||
|  |                                             "w": 91 | ||||||
|  |                                           } | ||||||
|  |                                         ] | ||||||
|  |                                       }, | ||||||
|  |                                       "small": { | ||||||
|  |                                         "faces": [ | ||||||
|  |                                           { | ||||||
|  |                                             "x": 379, | ||||||
|  |                                             "y": 55, | ||||||
|  |                                             "h": 66, | ||||||
|  |                                             "w": 66 | ||||||
|  |                                           } | ||||||
|  |                                         ] | ||||||
|  |                                       }, | ||||||
|  |                                       "orig": { | ||||||
|  |                                         "faces": [ | ||||||
|  |                                           { | ||||||
|  |                                             "x": 518, | ||||||
|  |                                             "y": 76, | ||||||
|  |                                             "h": 91, | ||||||
|  |                                             "w": 91 | ||||||
|  |                                           } | ||||||
|  |                                         ] | ||||||
|  |                                       } | ||||||
|  |                                     }, | ||||||
|  |                                     "sizes": { | ||||||
|  |                                       "large": { | ||||||
|  |                                         "h": 606, | ||||||
|  |                                         "w": 929, | ||||||
|  |                                         "resize": "fit" | ||||||
|  |                                       }, | ||||||
|  |                                       "medium": { | ||||||
|  |                                         "h": 606, | ||||||
|  |                                         "w": 929, | ||||||
|  |                                         "resize": "fit" | ||||||
|  |                                       }, | ||||||
|  |                                       "small": { | ||||||
|  |                                         "h": 444, | ||||||
|  |                                         "w": 680, | ||||||
|  |                                         "resize": "fit" | ||||||
|  |                                       }, | ||||||
|  |                                       "thumb": { | ||||||
|  |                                         "h": 150, | ||||||
|  |                                         "w": 150, | ||||||
|  |                                         "resize": "crop" | ||||||
|  |                                       } | ||||||
|  |                                     }, | ||||||
|  |                                     "original_info": { | ||||||
|  |                                       "height": 606, | ||||||
|  |                                       "width": 929, | ||||||
|  |                                       "focus_rects": [ | ||||||
|  |                                         { | ||||||
|  |                                           "x": 0, | ||||||
|  |                                           "y": 0, | ||||||
|  |                                           "w": 929, | ||||||
|  |                                           "h": 520 | ||||||
|  |                                         }, | ||||||
|  |                                         { | ||||||
|  |                                           "x": 276, | ||||||
|  |                                           "y": 0, | ||||||
|  |                                           "w": 606, | ||||||
|  |                                           "h": 606 | ||||||
|  |                                         }, | ||||||
|  |                                         { | ||||||
|  |                                           "x": 313, | ||||||
|  |                                           "y": 0, | ||||||
|  |                                           "w": 532, | ||||||
|  |                                           "h": 606 | ||||||
|  |                                         }, | ||||||
|  |                                         { | ||||||
|  |                                           "x": 428, | ||||||
|  |                                           "y": 0, | ||||||
|  |                                           "w": 303, | ||||||
|  |                                           "h": 606 | ||||||
|  |                                         }, | ||||||
|  |                                         { | ||||||
|  |                                           "x": 0, | ||||||
|  |                                           "y": 0, | ||||||
|  |                                           "w": 929, | ||||||
|  |                                           "h": 606 | ||||||
|  |                                         } | ||||||
|  |                                       ] | ||||||
|  |                                     } | ||||||
|  |                                   } | ||||||
|  |                                 ], | ||||||
|  |                                 "user_mentions": [], | ||||||
|  |                                 "urls": [], | ||||||
|  |                                 "hashtags": [ | ||||||
|  |                                   { | ||||||
|  |                                     "indices": [ | ||||||
|  |                                       28, | ||||||
|  |                                       46 | ||||||
|  |                                     ], | ||||||
|  |                                     "text": "ChinaDailyCartoon" | ||||||
|  |                                   } | ||||||
|  |                                 ], | ||||||
|  |                                 "symbols": [] | ||||||
|  |                               }, | ||||||
|  |                               "extended_entities": { | ||||||
|  |                                 "media": [ | ||||||
|  |                                   { | ||||||
|  |                                     "display_url": "pic.twitter.com/EuKz00kTRC", | ||||||
|  |                                     "expanded_url": "https://twitter.com/ChinaDaily/status/1700101930339721300/photo/1", | ||||||
|  |                                     "id_str": "1700099245465022464", | ||||||
|  |                                     "indices": [ | ||||||
|  |                                       47, | ||||||
|  |                                       70 | ||||||
|  |                                     ], | ||||||
|  |                                     "media_key": "3_1700099245465022464", | ||||||
|  |                                     "media_url_https": "https://pbs.twimg.com/media/F5f3QZjaMAAG_tC.jpg", | ||||||
|  |                                     "type": "photo", | ||||||
|  |                                     "url": "https://t.co/EuKz00kTRC", | ||||||
|  |                                     "ext_media_availability": { | ||||||
|  |                                       "status": "Available" | ||||||
|  |                                     }, | ||||||
|  |                                     "features": { | ||||||
|  |                                       "large": { | ||||||
|  |                                         "faces": [ | ||||||
|  |                                           { | ||||||
|  |                                             "x": 518, | ||||||
|  |                                             "y": 76, | ||||||
|  |                                             "h": 91, | ||||||
|  |                                             "w": 91 | ||||||
|  |                                           } | ||||||
|  |                                         ] | ||||||
|  |                                       }, | ||||||
|  |                                       "medium": { | ||||||
|  |                                         "faces": [ | ||||||
|  |                                           { | ||||||
|  |                                             "x": 518, | ||||||
|  |                                             "y": 76, | ||||||
|  |                                             "h": 91, | ||||||
|  |                                             "w": 91 | ||||||
|  |                                           } | ||||||
|  |                                         ] | ||||||
|  |                                       }, | ||||||
|  |                                       "small": { | ||||||
|  |                                         "faces": [ | ||||||
|  |                                           { | ||||||
|  |                                             "x": 379, | ||||||
|  |                                             "y": 55, | ||||||
|  |                                             "h": 66, | ||||||
|  |                                             "w": 66 | ||||||
|  |                                           } | ||||||
|  |                                         ] | ||||||
|  |                                       }, | ||||||
|  |                                       "orig": { | ||||||
|  |                                         "faces": [ | ||||||
|  |                                           { | ||||||
|  |                                             "x": 518, | ||||||
|  |                                             "y": 76, | ||||||
|  |                                             "h": 91, | ||||||
|  |                                             "w": 91 | ||||||
|  |                                           } | ||||||
|  |                                         ] | ||||||
|  |                                       } | ||||||
|  |                                     }, | ||||||
|  |                                     "sizes": { | ||||||
|  |                                       "large": { | ||||||
|  |                                         "h": 606, | ||||||
|  |                                         "w": 929, | ||||||
|  |                                         "resize": "fit" | ||||||
|  |                                       }, | ||||||
|  |                                       "medium": { | ||||||
|  |                                         "h": 606, | ||||||
|  |                                         "w": 929, | ||||||
|  |                                         "resize": "fit" | ||||||
|  |                                       }, | ||||||
|  |                                       "small": { | ||||||
|  |                                         "h": 444, | ||||||
|  |                                         "w": 680, | ||||||
|  |                                         "resize": "fit" | ||||||
|  |                                       }, | ||||||
|  |                                       "thumb": { | ||||||
|  |                                         "h": 150, | ||||||
|  |                                         "w": 150, | ||||||
|  |                                         "resize": "crop" | ||||||
|  |                                       } | ||||||
|  |                                     }, | ||||||
|  |                                     "original_info": { | ||||||
|  |                                       "height": 606, | ||||||
|  |                                       "width": 929, | ||||||
|  |                                       "focus_rects": [ | ||||||
|  |                                         { | ||||||
|  |                                           "x": 0, | ||||||
|  |                                           "y": 0, | ||||||
|  |                                           "w": 929, | ||||||
|  |                                           "h": 520 | ||||||
|  |                                         }, | ||||||
|  |                                         { | ||||||
|  |                                           "x": 276, | ||||||
|  |                                           "y": 0, | ||||||
|  |                                           "w": 606, | ||||||
|  |                                           "h": 606 | ||||||
|  |                                         }, | ||||||
|  |                                         { | ||||||
|  |                                           "x": 313, | ||||||
|  |                                           "y": 0, | ||||||
|  |                                           "w": 532, | ||||||
|  |                                           "h": 606 | ||||||
|  |                                         }, | ||||||
|  |                                         { | ||||||
|  |                                           "x": 428, | ||||||
|  |                                           "y": 0, | ||||||
|  |                                           "w": 303, | ||||||
|  |                                           "h": 606 | ||||||
|  |                                         }, | ||||||
|  |                                         { | ||||||
|  |                                           "x": 0, | ||||||
|  |                                           "y": 0, | ||||||
|  |                                           "w": 929, | ||||||
|  |                                           "h": 606 | ||||||
|  |                                         } | ||||||
|  |                                       ] | ||||||
|  |                                     } | ||||||
|  |                                   } | ||||||
|  |                                 ] | ||||||
|  |                               }, | ||||||
|  |                               "favorite_count": 42, | ||||||
|  |                               "favorited": false, | ||||||
|  |                               "full_text": "Freedom of speech in the US #ChinaDailyCartoon https://t.co/EuKz00kTRC", | ||||||
|  |                               "is_quote_status": false, | ||||||
|  |                               "lang": "en", | ||||||
|  |                               "possibly_sensitive": false, | ||||||
|  |                               "possibly_sensitive_editable": true, | ||||||
|  |                               "quote_count": 4, | ||||||
|  |                               "reply_count": 11, | ||||||
|  |                               "retweet_count": 13, | ||||||
|  |                               "retweeted": false, | ||||||
|  |                               "user_id_str": "87775422", | ||||||
|  |                               "id_str": "1700101930339721300" | ||||||
|  |                             }, | ||||||
|  |                             "quick_promote_eligibility": { | ||||||
|  |                               "eligibility": "IneligibleNotProfessional" | ||||||
|  |                             } | ||||||
|  |                           } | ||||||
|  |                         }, | ||||||
|  |                         "tweetDisplayType": "Tweet" | ||||||
|  |                       }, | ||||||
|  |                       "clientEventInfo": { | ||||||
|  |                         "component": "related_tweet", | ||||||
|  |                         "details": { | ||||||
|  |                           "conversationDetails": { | ||||||
|  |                             "conversationSection": "RelatedTweet" | ||||||
|  |                           } | ||||||
|  |                         } | ||||||
|  |                       } | ||||||
|  |                     } | ||||||
|  |                   } | ||||||
|  |                 ], | ||||||
|  |                 "displayType": "Vertical", | ||||||
|  |                 "header": { | ||||||
|  |                   "displayType": "Classic", | ||||||
|  |                   "text": "Discover more", | ||||||
|  |                   "socialContext": { | ||||||
|  |                     "type": "TimelineGeneralContext", | ||||||
|  |                     "contextType": "TextOnly", | ||||||
|  |                     "text": "Sourced from across Twitter" | ||||||
|  |                   }, | ||||||
|  |                   "sticky": true | ||||||
|  |                 }, | ||||||
|  |                 "clientEventInfo": { | ||||||
|  |                   "component": "related_tweet", | ||||||
|  |                   "details": { | ||||||
|  |                     "conversationDetails": { | ||||||
|  |                       "conversationSection": "RelatedTweet" | ||||||
|  |                     } | ||||||
|  |                   } | ||||||
|  |                 } | ||||||
|  |               } | ||||||
|  |             } | ||||||
|  |           ] | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |           "type": "TimelineTerminateTimeline", | ||||||
|  |           "direction": "Top" | ||||||
|  |         } | ||||||
|  |       ] | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
										
											
												Разница между файлами не показана из-за своего большого размера
												Загрузить разницу
											
										
									
								
							
										
											
												Разница между файлами не показана из-за своего большого размера
												Загрузить разницу
											
										
									
								
							
										
											
												Разница между файлами не показана из-за своего большого размера
												Загрузить разницу
											
										
									
								
							| @ -6,6 +6,83 @@ | |||||||
|           { |           { | ||||||
|             "type": "TimelineAddEntries", |             "type": "TimelineAddEntries", | ||||||
|             "entries": [ |             "entries": [ | ||||||
|  |               { | ||||||
|  |                 "entryId": "user-3068516278", | ||||||
|  |                 "sortIndex": "1776242831014883601", | ||||||
|  |                 "content": { | ||||||
|  |                   "entryType": "TimelineTimelineItem", | ||||||
|  |                   "__typename": "TimelineTimelineItem", | ||||||
|  |                   "itemContent": { | ||||||
|  |                     "itemType": "TimelineUser", | ||||||
|  |                     "__typename": "TimelineUser", | ||||||
|  |                     "user_results": { | ||||||
|  |                       "result": { | ||||||
|  |                         "__typename": "UserUnavailable", | ||||||
|  |                         "reason": "NoReason" | ||||||
|  |                       } | ||||||
|  |                     }, | ||||||
|  |                     "userDisplayType": "User" | ||||||
|  |                   } | ||||||
|  |                 } | ||||||
|  |               }, | ||||||
|  |               { | ||||||
|  |                 "entryId": "user-1647526256831787009", | ||||||
|  |                 "sortIndex": "1771863597721837233", | ||||||
|  |                 "content": { | ||||||
|  |                   "entryType": "TimelineTimelineItem", | ||||||
|  |                   "__typename": "TimelineTimelineItem", | ||||||
|  |                   "itemContent": { | ||||||
|  |                     "itemType": "TimelineUser", | ||||||
|  |                     "__typename": "TimelineUser", | ||||||
|  |                     "user_results": { | ||||||
|  |                       "result": { | ||||||
|  |                         "__typename": "User", | ||||||
|  |                         "id": "VXNlcjoxNjQ3NTI2MjU2ODMxNzg3MDA5", | ||||||
|  |                         "rest_id": "1647526256831787009", | ||||||
|  |                         "affiliates_highlighted_label": {}, | ||||||
|  |                         "has_graduated_access": true, | ||||||
|  |                         "is_blue_verified": false, | ||||||
|  |                         "profile_image_shape": "Circle", | ||||||
|  |                         "legacy": { | ||||||
|  |                           "can_dm": false, | ||||||
|  |                           "can_media_tag": true, | ||||||
|  |                           "created_at": "Sun Apr 16 09:04:28 +0000 2023", | ||||||
|  |                           "default_profile": true, | ||||||
|  |                           "default_profile_image": false, | ||||||
|  |                           "description": "", | ||||||
|  |                           "entities": { | ||||||
|  |                             "description": { | ||||||
|  |                               "urls": [] | ||||||
|  |                             } | ||||||
|  |                           }, | ||||||
|  |                           "fast_followers_count": 0, | ||||||
|  |                           "favourites_count": 54, | ||||||
|  |                           "followers_count": 54, | ||||||
|  |                           "friends_count": 284, | ||||||
|  |                           "has_custom_timelines": false, | ||||||
|  |                           "is_translator": false, | ||||||
|  |                           "listed_count": 3, | ||||||
|  |                           "location": "", | ||||||
|  |                           "media_count": 1, | ||||||
|  |                           "name": "Дмитрий Штепа", | ||||||
|  |                           "normal_followers_count": 54, | ||||||
|  |                           "pinned_tweet_ids_str": [], | ||||||
|  |                           "possibly_sensitive": true, | ||||||
|  |                           "profile_image_url_https": "https://pbs.twimg.com/profile_images/1647526604346671105/QtPvr52X_normal.jpg", | ||||||
|  |                           "profile_interstitial_type": "", | ||||||
|  |                           "screen_name": "stepadmitrij76", | ||||||
|  |                           "statuses_count": 13, | ||||||
|  |                           "translator_type": "none", | ||||||
|  |                           "verified": false, | ||||||
|  |                           "want_retweets": false, | ||||||
|  |                           "withheld_in_countries": [] | ||||||
|  |                         } | ||||||
|  |                       } | ||||||
|  |                     }, | ||||||
|  |                     "userDisplayType": "User" | ||||||
|  |                   } | ||||||
|  |                 } | ||||||
|  |               }, | ||||||
|               { |               { | ||||||
|                 "entryId": "user-269941330", |                 "entryId": "user-269941330", | ||||||
|                 "sortIndex": "1768654313616779183", |                 "sortIndex": "1768654313616779183", | ||||||
| @ -50,16 +127,16 @@ | |||||||
|                             } |                             } | ||||||
|                           }, |                           }, | ||||||
|                           "fast_followers_count": 0, |                           "fast_followers_count": 0, | ||||||
|                           "favourites_count": 182605, |                           "favourites_count": 187076, | ||||||
|                           "followers_count": 1894, |                           "followers_count": 1929, | ||||||
|                           "friends_count": 2009, |                           "friends_count": 2043, | ||||||
|                           "has_custom_timelines": true, |                           "has_custom_timelines": true, | ||||||
|                           "is_translator": false, |                           "is_translator": false, | ||||||
|                           "listed_count": 1, |                           "listed_count": 1, | ||||||
|                           "location": "India", |                           "location": "India", | ||||||
|                           "media_count": 1318, |                           "media_count": 1331, | ||||||
|                           "name": "𝙎𝙖𝙘𝙝𝙞𝙣 𝙍𝙖𝙜𝙝𝙖𝙫 | 🇮🇳 | सचिन राघव |", |                           "name": "𝙎𝙖𝙘𝙝𝙞𝙣 𝙍𝙖𝙜𝙝𝙖𝙫 | 🇮🇳 | सचिन राघव |", | ||||||
|                           "normal_followers_count": 1894, |                           "normal_followers_count": 1929, | ||||||
|                           "pinned_tweet_ids_str": [ |                           "pinned_tweet_ids_str": [ | ||||||
|                             "1346128867824599041" |                             "1346128867824599041" | ||||||
|                           ], |                           ], | ||||||
| @ -68,7 +145,7 @@ | |||||||
|                           "profile_image_url_https": "https://pbs.twimg.com/profile_images/1665323140568977408/ovr3QdTs_normal.jpg", |                           "profile_image_url_https": "https://pbs.twimg.com/profile_images/1665323140568977408/ovr3QdTs_normal.jpg", | ||||||
|                           "profile_interstitial_type": "", |                           "profile_interstitial_type": "", | ||||||
|                           "screen_name": "TheSachinR", |                           "screen_name": "TheSachinR", | ||||||
|                           "statuses_count": 141017, |                           "statuses_count": 144847, | ||||||
|                           "translator_type": "none", |                           "translator_type": "none", | ||||||
|                           "url": "https://t.co/UUC9fG9xhC", |                           "url": "https://t.co/UUC9fG9xhC", | ||||||
|                           "verified": false, |                           "verified": false, | ||||||
| @ -124,15 +201,15 @@ | |||||||
|                           }, |                           }, | ||||||
|                           "fast_followers_count": 0, |                           "fast_followers_count": 0, | ||||||
|                           "favourites_count": 806, |                           "favourites_count": 806, | ||||||
|                           "followers_count": 58, |                           "followers_count": 46, | ||||||
|                           "friends_count": 742, |                           "friends_count": 738, | ||||||
|                           "has_custom_timelines": false, |                           "has_custom_timelines": false, | ||||||
|                           "is_translator": false, |                           "is_translator": false, | ||||||
|                           "listed_count": 5, |                           "listed_count": 3, | ||||||
|                           "location": "Calabarzon, Republic of the Ph", |                           "location": "Calabarzon, Republic of the Ph", | ||||||
|                           "media_count": 18, |                           "media_count": 18, | ||||||
|                           "name": "Maximo Zarsuelo", |                           "name": "Maximo Zarsuelo", | ||||||
|                           "normal_followers_count": 58, |                           "normal_followers_count": 46, | ||||||
|                           "pinned_tweet_ids_str": [], |                           "pinned_tweet_ids_str": [], | ||||||
|                           "possibly_sensitive": false, |                           "possibly_sensitive": false, | ||||||
|                           "profile_banner_url": "https://pbs.twimg.com/profile_banners/1564827719367806981/1664200434", |                           "profile_banner_url": "https://pbs.twimg.com/profile_banners/1564827719367806981/1664200434", | ||||||
| @ -162,50 +239,8 @@ | |||||||
|                     "__typename": "TimelineUser", |                     "__typename": "TimelineUser", | ||||||
|                     "user_results": { |                     "user_results": { | ||||||
|                       "result": { |                       "result": { | ||||||
|                         "__typename": "User", |                         "__typename": "UserUnavailable", | ||||||
|                         "id": "VXNlcjoxNTQyMzg5MzI3NzExNDIwNDE2", |                         "reason": "NoReason" | ||||||
|                         "rest_id": "1542389327711420416", |  | ||||||
|                         "affiliates_highlighted_label": {}, |  | ||||||
|                         "has_graduated_access": true, |  | ||||||
|                         "is_blue_verified": false, |  | ||||||
|                         "profile_image_shape": "Circle", |  | ||||||
|                         "legacy": { |  | ||||||
|                           "can_dm": false, |  | ||||||
|                           "can_media_tag": true, |  | ||||||
|                           "created_at": "Thu Jun 30 06:07:39 +0000 2022", |  | ||||||
|                           "default_profile": true, |  | ||||||
|                           "default_profile_image": false, |  | ||||||
|                           "description": "", |  | ||||||
|                           "entities": { |  | ||||||
|                             "description": { |  | ||||||
|                               "urls": [] |  | ||||||
|                             } |  | ||||||
|                           }, |  | ||||||
|                           "fast_followers_count": 0, |  | ||||||
|                           "favourites_count": 1640, |  | ||||||
|                           "followers_count": 432, |  | ||||||
|                           "friends_count": 4994, |  | ||||||
|                           "has_custom_timelines": false, |  | ||||||
|                           "is_translator": false, |  | ||||||
|                           "listed_count": 10, |  | ||||||
|                           "location": "", |  | ||||||
|                           "media_count": 6, |  | ||||||
|                           "name": "NA&NEW", |  | ||||||
|                           "normal_followers_count": 432, |  | ||||||
|                           "pinned_tweet_ids_str": [ |  | ||||||
|                             "1635095769538764801" |  | ||||||
|                           ], |  | ||||||
|                           "possibly_sensitive": false, |  | ||||||
|                           "profile_banner_url": "https://pbs.twimg.com/profile_banners/1542389327711420416/1683606648", |  | ||||||
|                           "profile_image_url_https": "https://pbs.twimg.com/profile_images/1677557581873844226/rfmjcs6E_normal.jpg", |  | ||||||
|                           "profile_interstitial_type": "", |  | ||||||
|                           "screen_name": "NA_N_NEW", |  | ||||||
|                           "statuses_count": 34008, |  | ||||||
|                           "translator_type": "none", |  | ||||||
|                           "verified": false, |  | ||||||
|                           "want_retweets": false, |  | ||||||
|                           "withheld_in_countries": [] |  | ||||||
|                         } |  | ||||||
|                       } |                       } | ||||||
|                     }, |                     }, | ||||||
|                     "userDisplayType": "User" |                     "userDisplayType": "User" | ||||||
| @ -240,26 +275,40 @@ | |||||||
|                           "entities": { |                           "entities": { | ||||||
|                             "description": { |                             "description": { | ||||||
|                               "urls": [] |                               "urls": [] | ||||||
|  |                             }, | ||||||
|  |                             "url": { | ||||||
|  |                               "urls": [ | ||||||
|  |                                 { | ||||||
|  |                                   "display_url": "ogbonnaChristian.com", | ||||||
|  |                                   "expanded_url": "http://ogbonnaChristian.com", | ||||||
|  |                                   "url": "https://t.co/uizzoMYKu0", | ||||||
|  |                                   "indices": [ | ||||||
|  |                                     0, | ||||||
|  |                                     23 | ||||||
|  |                                   ] | ||||||
|  |                                 } | ||||||
|  |                               ] | ||||||
|                             } |                             } | ||||||
|                           }, |                           }, | ||||||
|                           "fast_followers_count": 0, |                           "fast_followers_count": 0, | ||||||
|                           "favourites_count": 510, |                           "favourites_count": 755, | ||||||
|                           "followers_count": 297, |                           "followers_count": 319, | ||||||
|                           "friends_count": 2290, |                           "friends_count": 2425, | ||||||
|                           "has_custom_timelines": false, |                           "has_custom_timelines": false, | ||||||
|                           "is_translator": false, |                           "is_translator": false, | ||||||
|                           "listed_count": 7, |                           "listed_count": 5, | ||||||
|                           "location": "", |                           "location": "Lagos, Nigeria", | ||||||
|                           "media_count": 229, |                           "media_count": 318, | ||||||
|                           "name": "MAKOCHUKWU Ogbonna", |                           "name": "MAKOCHUKWU Ogbonna", | ||||||
|                           "normal_followers_count": 297, |                           "normal_followers_count": 319, | ||||||
|                           "pinned_tweet_ids_str": [], |                           "pinned_tweet_ids_str": [], | ||||||
|                           "possibly_sensitive": false, |                           "possibly_sensitive": false, | ||||||
|                           "profile_image_url_https": "https://pbs.twimg.com/profile_images/1607160599904919552/NR9xwaDx_normal.png", |                           "profile_image_url_https": "https://pbs.twimg.com/profile_images/1607160599904919552/NR9xwaDx_normal.png", | ||||||
|                           "profile_interstitial_type": "", |                           "profile_interstitial_type": "", | ||||||
|                           "screen_name": "MakochukwuO", |                           "screen_name": "MakochukwuO", | ||||||
|                           "statuses_count": 1789, |                           "statuses_count": 2471, | ||||||
|                           "translator_type": "none", |                           "translator_type": "none", | ||||||
|  |                           "url": "https://t.co/uizzoMYKu0", | ||||||
|                           "verified": false, |                           "verified": false, | ||||||
|                           "want_retweets": false, |                           "want_retweets": false, | ||||||
|                           "withheld_in_countries": [] |                           "withheld_in_countries": [] | ||||||
| @ -312,25 +361,25 @@ | |||||||
|                             } |                             } | ||||||
|                           }, |                           }, | ||||||
|                           "fast_followers_count": 0, |                           "fast_followers_count": 0, | ||||||
|                           "favourites_count": 2685, |                           "favourites_count": 2784, | ||||||
|                           "followers_count": 323, |                           "followers_count": 299, | ||||||
|                           "friends_count": 3324, |                           "friends_count": 3430, | ||||||
|                           "has_custom_timelines": true, |                           "has_custom_timelines": true, | ||||||
|                           "is_translator": false, |                           "is_translator": false, | ||||||
|                           "listed_count": 7, |                           "listed_count": 3, | ||||||
|                           "location": "Gainesville, GA", |                           "location": "Gainesville, GA", | ||||||
|                           "media_count": 373, |                           "media_count": 377, | ||||||
|                           "name": "Alexander Antonio Velasquez", |                           "name": "Alexander Antonio Velasquez", | ||||||
|                           "normal_followers_count": 323, |                           "normal_followers_count": 299, | ||||||
|                           "pinned_tweet_ids_str": [ |                           "pinned_tweet_ids_str": [ | ||||||
|                             "1614696753583751170" |                             "1614696753583751170" | ||||||
|                           ], |                           ], | ||||||
|                           "possibly_sensitive": false, |                           "possibly_sensitive": false, | ||||||
|                           "profile_banner_url": "https://pbs.twimg.com/profile_banners/1594850010436452356/1685877329", |                           "profile_banner_url": "https://pbs.twimg.com/profile_banners/1594850010436452356/1691014064", | ||||||
|                           "profile_image_url_https": "https://pbs.twimg.com/profile_images/1669369737397035010/eNEO0s6J_normal.jpg", |                           "profile_image_url_https": "https://pbs.twimg.com/profile_images/1669369737397035010/eNEO0s6J_normal.jpg", | ||||||
|                           "profile_interstitial_type": "", |                           "profile_interstitial_type": "", | ||||||
|                           "screen_name": "Alexand68866652", |                           "screen_name": "Alexand68866652", | ||||||
|                           "statuses_count": 3165, |                           "statuses_count": 3235, | ||||||
|                           "translator_type": "none", |                           "translator_type": "none", | ||||||
|                           "verified": false, |                           "verified": false, | ||||||
|                           "want_retweets": false, |                           "want_retweets": false, | ||||||
| @ -384,22 +433,22 @@ | |||||||
|                             } |                             } | ||||||
|                           }, |                           }, | ||||||
|                           "fast_followers_count": 0, |                           "fast_followers_count": 0, | ||||||
|                           "favourites_count": 33342, |                           "favourites_count": 33204, | ||||||
|                           "followers_count": 78, |                           "followers_count": 64, | ||||||
|                           "friends_count": 45, |                           "friends_count": 45, | ||||||
|                           "has_custom_timelines": false, |                           "has_custom_timelines": false, | ||||||
|                           "is_translator": false, |                           "is_translator": false, | ||||||
|                           "listed_count": 2, |                           "listed_count": 4, | ||||||
|                           "location": "", |                           "location": "", | ||||||
|                           "media_count": 0, |                           "media_count": 0, | ||||||
|                           "name": "Maricel Imeno Guerra", |                           "name": "Maricel Imeno Guerra", | ||||||
|                           "normal_followers_count": 78, |                           "normal_followers_count": 64, | ||||||
|                           "pinned_tweet_ids_str": [], |                           "pinned_tweet_ids_str": [], | ||||||
|                           "possibly_sensitive": false, |                           "possibly_sensitive": false, | ||||||
|                           "profile_image_url_https": "https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", |                           "profile_image_url_https": "https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", | ||||||
|                           "profile_interstitial_type": "", |                           "profile_interstitial_type": "", | ||||||
|                           "screen_name": "ImenoGuerra", |                           "screen_name": "ImenoGuerra", | ||||||
|                           "statuses_count": 33567, |                           "statuses_count": 33429, | ||||||
|                           "translator_type": "none", |                           "translator_type": "none", | ||||||
|                           "verified": false, |                           "verified": false, | ||||||
|                           "want_retweets": false, |                           "want_retweets": false, | ||||||
| @ -442,23 +491,23 @@ | |||||||
|                             } |                             } | ||||||
|                           }, |                           }, | ||||||
|                           "fast_followers_count": 0, |                           "fast_followers_count": 0, | ||||||
|                           "favourites_count": 60, |                           "favourites_count": 78, | ||||||
|                           "followers_count": 11, |                           "followers_count": 20, | ||||||
|                           "friends_count": 185, |                           "friends_count": 230, | ||||||
|                           "has_custom_timelines": false, |                           "has_custom_timelines": false, | ||||||
|                           "is_translator": false, |                           "is_translator": false, | ||||||
|                           "listed_count": 1, |                           "listed_count": 1, | ||||||
|                           "location": "", |                           "location": "", | ||||||
|                           "media_count": 0, |                           "media_count": 0, | ||||||
|                           "name": "nikstan", |                           "name": "nikstan", | ||||||
|                           "normal_followers_count": 11, |                           "normal_followers_count": 20, | ||||||
|                           "pinned_tweet_ids_str": [], |                           "pinned_tweet_ids_str": [], | ||||||
|                           "possibly_sensitive": false, |                           "possibly_sensitive": false, | ||||||
|                           "profile_banner_url": "https://pbs.twimg.com/profile_banners/1651439701042032640/1683221648", |                           "profile_banner_url": "https://pbs.twimg.com/profile_banners/1651439701042032640/1683221648", | ||||||
|                           "profile_image_url_https": "https://pbs.twimg.com/profile_images/1654175248345096193/aSBMbTGx_normal.jpg", |                           "profile_image_url_https": "https://pbs.twimg.com/profile_images/1654175248345096193/aSBMbTGx_normal.jpg", | ||||||
|                           "profile_interstitial_type": "", |                           "profile_interstitial_type": "", | ||||||
|                           "screen_name": "nikstan915411", |                           "screen_name": "nikstan915411", | ||||||
|                           "statuses_count": 60, |                           "statuses_count": 78, | ||||||
|                           "translator_type": "none", |                           "translator_type": "none", | ||||||
|                           "verified": false, |                           "verified": false, | ||||||
|                           "want_retweets": false, |                           "want_retweets": false, | ||||||
| @ -494,7 +543,7 @@ | |||||||
|                           "created_at": "Tue Apr 05 02:36:13 +0000 2022", |                           "created_at": "Tue Apr 05 02:36:13 +0000 2022", | ||||||
|                           "default_profile": true, |                           "default_profile": true, | ||||||
|                           "default_profile_image": false, |                           "default_profile_image": false, | ||||||
|                           "description": "とにかく思った事をツイートしまくります。 まぁ簡単に言うならみんなに報告するとかが近いかな? ちなみにYouTubeやってるぜ。 分かりづらい? すまんな、私の語彙力だと自信持たないんだ()", |                           "description": "とにかく思った事をツイートしまくります。 分かりづらい? 私の語彙力だと自信持たないんだ() ur_next.error←一応こちらがDiscord垢です。 後(自称)あんまりスペースに人が来ない人代表です。 FA→ #おらテストお前が好きなFAやぞ UR_NEXTですがTest_Alpheと呼んで", | ||||||
|                           "entities": { |                           "entities": { | ||||||
|                             "description": { |                             "description": { | ||||||
|                               "urls": [] |                               "urls": [] | ||||||
| @ -514,25 +563,25 @@ | |||||||
|                             } |                             } | ||||||
|                           }, |                           }, | ||||||
|                           "fast_followers_count": 0, |                           "fast_followers_count": 0, | ||||||
|                           "favourites_count": 92819, |                           "favourites_count": 93739, | ||||||
|                           "followers_count": 1469, |                           "followers_count": 1458, | ||||||
|                           "friends_count": 2169, |                           "friends_count": 2149, | ||||||
|                           "has_custom_timelines": true, |                           "has_custom_timelines": true, | ||||||
|                           "is_translator": false, |                           "is_translator": false, | ||||||
|                           "listed_count": 26, |                           "listed_count": 18, | ||||||
|                           "location": "", |                           "location": "彼女と付き合ってるけど何か?", | ||||||
|                           "media_count": 9355, |                           "media_count": 9760, | ||||||
|                           "name": "TesAl(私的超低浮上)", |                           "name": "UR_NEXT(低浮上 low floating)", | ||||||
|                           "normal_followers_count": 1469, |                           "normal_followers_count": 1458, | ||||||
|                           "pinned_tweet_ids_str": [ |                           "pinned_tweet_ids_str": [ | ||||||
|                             "1651209658500272129" |                             "1696760262953721947" | ||||||
|                           ], |                           ], | ||||||
|                           "possibly_sensitive": false, |                           "possibly_sensitive": false, | ||||||
|                           "profile_banner_url": "https://pbs.twimg.com/profile_banners/1511170661263511555/1688560143", |                           "profile_banner_url": "https://pbs.twimg.com/profile_banners/1511170661263511555/1693474330", | ||||||
|                           "profile_image_url_https": "https://pbs.twimg.com/profile_images/1675641230053769217/XKQj_TCM_normal.jpg", |                           "profile_image_url_https": "https://pbs.twimg.com/profile_images/1680550763226107904/P_44WuH1_normal.jpg", | ||||||
|                           "profile_interstitial_type": "", |                           "profile_interstitial_type": "", | ||||||
|                           "screen_name": "delete_is_tesal", |                           "screen_name": "delete_is_tesal", | ||||||
|                           "statuses_count": 76055, |                           "statuses_count": 78222, | ||||||
|                           "translator_type": "none", |                           "translator_type": "none", | ||||||
|                           "url": "https://t.co/Eb6A9p9Pkh", |                           "url": "https://t.co/Eb6A9p9Pkh", | ||||||
|                           "verified": false, |                           "verified": false, | ||||||
| @ -594,16 +643,16 @@ | |||||||
|                             } |                             } | ||||||
|                           }, |                           }, | ||||||
|                           "fast_followers_count": 0, |                           "fast_followers_count": 0, | ||||||
|                           "favourites_count": 139631, |                           "favourites_count": 138576, | ||||||
|                           "followers_count": 1782, |                           "followers_count": 1716, | ||||||
|                           "friends_count": 4897, |                           "friends_count": 4852, | ||||||
|                           "has_custom_timelines": true, |                           "has_custom_timelines": true, | ||||||
|                           "is_translator": false, |                           "is_translator": false, | ||||||
|                           "listed_count": 12, |                           "listed_count": 7, | ||||||
|                           "location": "Lafayette, IN", |                           "location": "Lafayette, IN", | ||||||
|                           "media_count": 13203, |                           "media_count": 13203, | ||||||
|                           "name": "🧡 Jay Knick 💙💗👾 ✞ Fly☮️Jacob 💕🐾🩷♊️🥇❄️💟💸", |                           "name": "🧡 Jay Knick 💙💗👾 ✞ Fly☮️Jacob 💕🐾🩷♊️🥇❄️💟💸", | ||||||
|                           "normal_followers_count": 1782, |                           "normal_followers_count": 1716, | ||||||
|                           "pinned_tweet_ids_str": [ |                           "pinned_tweet_ids_str": [ | ||||||
|                             "1605320037086085120" |                             "1605320037086085120" | ||||||
|                           ], |                           ], | ||||||
| @ -612,7 +661,7 @@ | |||||||
|                           "profile_image_url_https": "https://pbs.twimg.com/profile_images/1640130649351757824/NDcfRogG_normal.jpg", |                           "profile_image_url_https": "https://pbs.twimg.com/profile_images/1640130649351757824/NDcfRogG_normal.jpg", | ||||||
|                           "profile_interstitial_type": "", |                           "profile_interstitial_type": "", | ||||||
|                           "screen_name": "WattersJacob98", |                           "screen_name": "WattersJacob98", | ||||||
|                           "statuses_count": 132984, |                           "statuses_count": 132258, | ||||||
|                           "translator_type": "none", |                           "translator_type": "none", | ||||||
|                           "url": "https://t.co/7fWq99yksg", |                           "url": "https://t.co/7fWq99yksg", | ||||||
|                           "verified": false, |                           "verified": false, | ||||||
| @ -670,21 +719,21 @@ | |||||||
|                           }, |                           }, | ||||||
|                           "fast_followers_count": 0, |                           "fast_followers_count": 0, | ||||||
|                           "favourites_count": 4, |                           "favourites_count": 4, | ||||||
|                           "followers_count": 186, |                           "followers_count": 196, | ||||||
|                           "friends_count": 518, |                           "friends_count": 524, | ||||||
|                           "has_custom_timelines": false, |                           "has_custom_timelines": false, | ||||||
|                           "is_translator": false, |                           "is_translator": false, | ||||||
|                           "listed_count": 51, |                           "listed_count": 51, | ||||||
|                           "location": "", |                           "location": "", | ||||||
|                           "media_count": 645, |                           "media_count": 644, | ||||||
|                           "name": "take-ash", |                           "name": "take-ash", | ||||||
|                           "normal_followers_count": 186, |                           "normal_followers_count": 196, | ||||||
|                           "pinned_tweet_ids_str": [], |                           "pinned_tweet_ids_str": [], | ||||||
|                           "possibly_sensitive": false, |                           "possibly_sensitive": false, | ||||||
|                           "profile_image_url_https": "https://pbs.twimg.com/profile_images/1050898230894944256/cavDbCPg_normal.jpg", |                           "profile_image_url_https": "https://pbs.twimg.com/profile_images/1050898230894944256/cavDbCPg_normal.jpg", | ||||||
|                           "profile_interstitial_type": "", |                           "profile_interstitial_type": "", | ||||||
|                           "screen_name": "TakeAsh68k", |                           "screen_name": "TakeAsh68k", | ||||||
|                           "statuses_count": 73423, |                           "statuses_count": 73565, | ||||||
|                           "translator_type": "none", |                           "translator_type": "none", | ||||||
|                           "url": "http://t.co/fiJx71jtUR", |                           "url": "http://t.co/fiJx71jtUR", | ||||||
|                           "verified": false, |                           "verified": false, | ||||||
| @ -741,16 +790,16 @@ | |||||||
|                             } |                             } | ||||||
|                           }, |                           }, | ||||||
|                           "fast_followers_count": 0, |                           "fast_followers_count": 0, | ||||||
|                           "favourites_count": 91940, |                           "favourites_count": 94524, | ||||||
|                           "followers_count": 863, |                           "followers_count": 868, | ||||||
|                           "friends_count": 2573, |                           "friends_count": 2593, | ||||||
|                           "has_custom_timelines": true, |                           "has_custom_timelines": true, | ||||||
|                           "is_translator": false, |                           "is_translator": false, | ||||||
|                           "listed_count": 39, |                           "listed_count": 38, | ||||||
|                           "location": "マブイはコザに置いてきた(体は東京)", |                           "location": "マブイはコザに置いてきた(体は東京)", | ||||||
|                           "media_count": 11242, |                           "media_count": 11409, | ||||||
|                           "name": "おーとり@旧API不可後発信専用垢", |                           "name": "おーとり@旧API不可後発信専用垢", | ||||||
|                           "normal_followers_count": 863, |                           "normal_followers_count": 868, | ||||||
|                           "pinned_tweet_ids_str": [ |                           "pinned_tweet_ids_str": [ | ||||||
|                             "1677135198989996032" |                             "1677135198989996032" | ||||||
|                           ], |                           ], | ||||||
| @ -759,7 +808,7 @@ | |||||||
|                           "profile_image_url_https": "https://pbs.twimg.com/profile_images/766679205119524864/2b1wk3Xn_normal.jpg", |                           "profile_image_url_https": "https://pbs.twimg.com/profile_images/766679205119524864/2b1wk3Xn_normal.jpg", | ||||||
|                           "profile_interstitial_type": "", |                           "profile_interstitial_type": "", | ||||||
|                           "screen_name": "Penpen55", |                           "screen_name": "Penpen55", | ||||||
|                           "statuses_count": 255075, |                           "statuses_count": 257978, | ||||||
|                           "translator_type": "none", |                           "translator_type": "none", | ||||||
|                           "url": "https://t.co/nivgJAXN5c", |                           "url": "https://t.co/nivgJAXN5c", | ||||||
|                           "verified": false, |                           "verified": false, | ||||||
| @ -826,16 +875,16 @@ | |||||||
|                             } |                             } | ||||||
|                           }, |                           }, | ||||||
|                           "fast_followers_count": 0, |                           "fast_followers_count": 0, | ||||||
|                           "favourites_count": 411, |                           "favourites_count": 424, | ||||||
|                           "followers_count": 557, |                           "followers_count": 554, | ||||||
|                           "friends_count": 658, |                           "friends_count": 666, | ||||||
|                           "has_custom_timelines": false, |                           "has_custom_timelines": false, | ||||||
|                           "is_translator": false, |                           "is_translator": false, | ||||||
|                           "listed_count": 48, |                           "listed_count": 48, | ||||||
|                           "location": "川崎の中くらい", |                           "location": "川崎の中くらい", | ||||||
|                           "media_count": 16867, |                           "media_count": 17109, | ||||||
|                           "name": "黒江 蒼", |                           "name": "黒江 蒼", | ||||||
|                           "normal_followers_count": 557, |                           "normal_followers_count": 554, | ||||||
|                           "pinned_tweet_ids_str": [ |                           "pinned_tweet_ids_str": [ | ||||||
|                             "1157684697792598017" |                             "1157684697792598017" | ||||||
|                           ], |                           ], | ||||||
| @ -844,7 +893,7 @@ | |||||||
|                           "profile_image_url_https": "https://pbs.twimg.com/profile_images/1563859805923598337/drnbuN6Z_normal.jpg", |                           "profile_image_url_https": "https://pbs.twimg.com/profile_images/1563859805923598337/drnbuN6Z_normal.jpg", | ||||||
|                           "profile_interstitial_type": "", |                           "profile_interstitial_type": "", | ||||||
|                           "screen_name": "xlazulite", |                           "screen_name": "xlazulite", | ||||||
|                           "statuses_count": 650489, |                           "statuses_count": 656043, | ||||||
|                           "translator_type": "none", |                           "translator_type": "none", | ||||||
|                           "url": "https://t.co/ZUf3EHM2ww", |                           "url": "https://t.co/ZUf3EHM2ww", | ||||||
|                           "verified": false, |                           "verified": false, | ||||||
| @ -857,67 +906,6 @@ | |||||||
|                   } |                   } | ||||||
|                 } |                 } | ||||||
|               }, |               }, | ||||||
|               { |  | ||||||
|                 "entryId": "user-249802981", |  | ||||||
|                 "sortIndex": "1764435287358783107", |  | ||||||
|                 "content": { |  | ||||||
|                   "entryType": "TimelineTimelineItem", |  | ||||||
|                   "__typename": "TimelineTimelineItem", |  | ||||||
|                   "itemContent": { |  | ||||||
|                     "itemType": "TimelineUser", |  | ||||||
|                     "__typename": "TimelineUser", |  | ||||||
|                     "user_results": { |  | ||||||
|                       "result": { |  | ||||||
|                         "__typename": "User", |  | ||||||
|                         "id": "VXNlcjoyNDk4MDI5ODE=", |  | ||||||
|                         "rest_id": "249802981", |  | ||||||
|                         "affiliates_highlighted_label": {}, |  | ||||||
|                         "has_graduated_access": true, |  | ||||||
|                         "is_blue_verified": false, |  | ||||||
|                         "profile_image_shape": "Circle", |  | ||||||
|                         "legacy": { |  | ||||||
|                           "can_dm": false, |  | ||||||
|                           "can_media_tag": false, |  | ||||||
|                           "created_at": "Wed Feb 09 20:26:40 +0000 2011", |  | ||||||
|                           "default_profile": false, |  | ||||||
|                           "default_profile_image": false, |  | ||||||
|                           "description": "We're not that strength which in old days moved earth and heaven.", |  | ||||||
|                           "entities": { |  | ||||||
|                             "description": { |  | ||||||
|                               "urls": [] |  | ||||||
|                             } |  | ||||||
|                           }, |  | ||||||
|                           "fast_followers_count": 0, |  | ||||||
|                           "favourites_count": 2839, |  | ||||||
|                           "followers_count": 310, |  | ||||||
|                           "friends_count": 346, |  | ||||||
|                           "has_custom_timelines": true, |  | ||||||
|                           "is_translator": false, |  | ||||||
|                           "listed_count": 26, |  | ||||||
|                           "location": "Sur la mer salée", |  | ||||||
|                           "media_count": 134, |  | ||||||
|                           "name": "Carib Crypto Cat", |  | ||||||
|                           "normal_followers_count": 310, |  | ||||||
|                           "pinned_tweet_ids_str": [ |  | ||||||
|                             "621248227510239232" |  | ||||||
|                           ], |  | ||||||
|                           "possibly_sensitive": false, |  | ||||||
|                           "profile_banner_url": "https://pbs.twimg.com/profile_banners/249802981/1394873466", |  | ||||||
|                           "profile_image_url_https": "https://pbs.twimg.com/profile_images/1373574502106423296/7haUcZ4j_normal.jpg", |  | ||||||
|                           "profile_interstitial_type": "", |  | ||||||
|                           "screen_name": "CaribCryptoCat", |  | ||||||
|                           "statuses_count": 4581, |  | ||||||
|                           "translator_type": "none", |  | ||||||
|                           "verified": false, |  | ||||||
|                           "want_retweets": false, |  | ||||||
|                           "withheld_in_countries": [] |  | ||||||
|                         } |  | ||||||
|                       } |  | ||||||
|                     }, |  | ||||||
|                     "userDisplayType": "User" |  | ||||||
|                   } |  | ||||||
|                 } |  | ||||||
|               }, |  | ||||||
|               { |               { | ||||||
|                 "entryId": "user-2898060684", |                 "entryId": "user-2898060684", | ||||||
|                 "sortIndex": "1764415959003797368", |                 "sortIndex": "1764415959003797368", | ||||||
| @ -972,25 +960,25 @@ | |||||||
|                             } |                             } | ||||||
|                           }, |                           }, | ||||||
|                           "fast_followers_count": 0, |                           "fast_followers_count": 0, | ||||||
|                           "favourites_count": 383, |                           "favourites_count": 386, | ||||||
|                           "followers_count": 63, |                           "followers_count": 58, | ||||||
|                           "friends_count": 51, |                           "friends_count": 56, | ||||||
|                           "has_custom_timelines": true, |                           "has_custom_timelines": true, | ||||||
|                           "is_translator": false, |                           "is_translator": false, | ||||||
|                           "listed_count": 5, |                           "listed_count": 5, | ||||||
|                           "location": "IT園児ニア", |                           "location": "IT園児ニア", | ||||||
|                           "media_count": 2505, |                           "media_count": 2514, | ||||||
|                           "name": "📚もこふぃん🍅", |                           "name": "📚もこふぃん🍅", | ||||||
|                           "normal_followers_count": 63, |                           "normal_followers_count": 58, | ||||||
|                           "pinned_tweet_ids_str": [ |                           "pinned_tweet_ids_str": [ | ||||||
|                             "1287026470804549633" |                             "1287026470804549633" | ||||||
|                           ], |                           ], | ||||||
|                           "possibly_sensitive": false, |                           "possibly_sensitive": false, | ||||||
|                           "profile_banner_url": "https://pbs.twimg.com/profile_banners/2898060684/1685160543", |                           "profile_banner_url": "https://pbs.twimg.com/profile_banners/2898060684/1692538118", | ||||||
|                           "profile_image_url_https": "https://pbs.twimg.com/profile_images/1662309998079377408/ehuJ40zL_normal.jpg", |                           "profile_image_url_https": "https://pbs.twimg.com/profile_images/1693254152020008960/MF5APPYp_normal.jpg", | ||||||
|                           "profile_interstitial_type": "", |                           "profile_interstitial_type": "", | ||||||
|                           "screen_name": "mocoffin", |                           "screen_name": "mocoffin", | ||||||
|                           "statuses_count": 115757, |                           "statuses_count": 117051, | ||||||
|                           "translator_type": "none", |                           "translator_type": "none", | ||||||
|                           "url": "https://t.co/2v4v7DW3pa", |                           "url": "https://t.co/2v4v7DW3pa", | ||||||
|                           "verified": false, |                           "verified": false, | ||||||
| @ -1027,7 +1015,7 @@ | |||||||
|                           "created_at": "Wed Mar 30 18:45:44 +0000 2016", |                           "created_at": "Wed Mar 30 18:45:44 +0000 2016", | ||||||
|                           "default_profile": false, |                           "default_profile": false, | ||||||
|                           "default_profile_image": false, |                           "default_profile_image": false, | ||||||
|                           "description": "", |                           "description": "Lorem Ipsum", | ||||||
|                           "entities": { |                           "entities": { | ||||||
|                             "description": { |                             "description": { | ||||||
|                               "urls": [] |                               "urls": [] | ||||||
| @ -1035,9 +1023,9 @@ | |||||||
|                             "url": { |                             "url": { | ||||||
|                               "urls": [ |                               "urls": [ | ||||||
|                                 { |                                 { | ||||||
|                                   "display_url": "linktr.ee/UMSfess", |                                   "display_url": "instagram.com/sebelah.jalan", | ||||||
|                                   "expanded_url": "https://linktr.ee/UMSfess", |                                   "expanded_url": "http://instagram.com/sebelah.jalan", | ||||||
|                                   "url": "https://t.co/daIHWwx2sG", |                                   "url": "https://t.co/HRuPxsy0Za", | ||||||
|                                   "indices": [ |                                   "indices": [ | ||||||
|                                     0, |                                     0, | ||||||
|                                     23 |                                     23 | ||||||
| @ -1047,29 +1035,39 @@ | |||||||
|                             } |                             } | ||||||
|                           }, |                           }, | ||||||
|                           "fast_followers_count": 0, |                           "fast_followers_count": 0, | ||||||
|                           "favourites_count": 111, |                           "favourites_count": 128, | ||||||
|                           "followers_count": 2661, |                           "followers_count": 2651, | ||||||
|                           "friends_count": 1474, |                           "friends_count": 1571, | ||||||
|                           "has_custom_timelines": false, |                           "has_custom_timelines": false, | ||||||
|                           "is_translator": false, |                           "is_translator": false, | ||||||
|                           "listed_count": 2, |                           "listed_count": 1, | ||||||
|                           "location": "Goa Hiro", |                           "location": "Goa Hiro", | ||||||
|                           "media_count": 133, |                           "media_count": 170, | ||||||
|                           "name": "emka", |                           "name": "emka", | ||||||
|                           "normal_followers_count": 2661, |                           "normal_followers_count": 2651, | ||||||
|                           "pinned_tweet_ids_str": [ |                           "pinned_tweet_ids_str": [], | ||||||
|                             "1622390332217520128" |  | ||||||
|                           ], |  | ||||||
|                           "possibly_sensitive": false, |                           "possibly_sensitive": false, | ||||||
|                           "profile_image_url_https": "https://pbs.twimg.com/profile_images/1421104237937795079/umKQFXEn_normal.jpg", |                           "profile_banner_url": "https://pbs.twimg.com/profile_banners/715248663623131136/1692763023", | ||||||
|  |                           "profile_image_url_https": "https://pbs.twimg.com/profile_images/1695047193995186176/hxH4W9Pz_normal.jpg", | ||||||
|                           "profile_interstitial_type": "", |                           "profile_interstitial_type": "", | ||||||
|                           "screen_name": "sebelahjalan", |                           "screen_name": "sebelahjalan", | ||||||
|                           "statuses_count": 6072, |                           "statuses_count": 6836, | ||||||
|                           "translator_type": "none", |                           "translator_type": "none", | ||||||
|                           "url": "https://t.co/daIHWwx2sG", |                           "url": "https://t.co/HRuPxsy0Za", | ||||||
|                           "verified": false, |                           "verified": false, | ||||||
|                           "want_retweets": false, |                           "want_retweets": false, | ||||||
|                           "withheld_in_countries": [] |                           "withheld_in_countries": [] | ||||||
|  |                         }, | ||||||
|  |                         "professional": { | ||||||
|  |                           "rest_id": "1697146034210873373", | ||||||
|  |                           "professional_type": "Business", | ||||||
|  |                           "category": [ | ||||||
|  |                             { | ||||||
|  |                               "id": 97, | ||||||
|  |                               "name": "Marine", | ||||||
|  |                               "icon_name": "IconBriefcaseStroke" | ||||||
|  |                             } | ||||||
|  |                           ] | ||||||
|                         } |                         } | ||||||
|                       } |                       } | ||||||
|                     }, |                     }, | ||||||
| @ -1121,16 +1119,16 @@ | |||||||
|                             } |                             } | ||||||
|                           }, |                           }, | ||||||
|                           "fast_followers_count": 0, |                           "fast_followers_count": 0, | ||||||
|                           "favourites_count": 18629, |                           "favourites_count": 18643, | ||||||
|                           "followers_count": 50, |                           "followers_count": 54, | ||||||
|                           "friends_count": 431, |                           "friends_count": 433, | ||||||
|                           "has_custom_timelines": true, |                           "has_custom_timelines": true, | ||||||
|                           "is_translator": false, |                           "is_translator": false, | ||||||
|                           "listed_count": 4, |                           "listed_count": 4, | ||||||
|                           "location": "Vancouver, British Columbia", |                           "location": "Vancouver, British Columbia", | ||||||
|                           "media_count": 396, |                           "media_count": 396, | ||||||
|                           "name": "miew : หมิว 🍁", |                           "name": "miew : หมิว 🍁", | ||||||
|                           "normal_followers_count": 50, |                           "normal_followers_count": 54, | ||||||
|                           "pinned_tweet_ids_str": [ |                           "pinned_tweet_ids_str": [ | ||||||
|                             "1656138308915957761" |                             "1656138308915957761" | ||||||
|                           ], |                           ], | ||||||
| @ -1139,7 +1137,7 @@ | |||||||
|                           "profile_image_url_https": "https://pbs.twimg.com/profile_images/1621386345951408128/rs8Ph7Cw_normal.jpg", |                           "profile_image_url_https": "https://pbs.twimg.com/profile_images/1621386345951408128/rs8Ph7Cw_normal.jpg", | ||||||
|                           "profile_interstitial_type": "", |                           "profile_interstitial_type": "", | ||||||
|                           "screen_name": "miewliie", |                           "screen_name": "miewliie", | ||||||
|                           "statuses_count": 34078, |                           "statuses_count": 34066, | ||||||
|                           "translator_type": "none", |                           "translator_type": "none", | ||||||
|                           "url": "https://t.co/P1s6ZA8AsD", |                           "url": "https://t.co/P1s6ZA8AsD", | ||||||
|                           "verified": false, |                           "verified": false, | ||||||
| @ -1184,15 +1182,15 @@ | |||||||
|                           }, |                           }, | ||||||
|                           "fast_followers_count": 0, |                           "fast_followers_count": 0, | ||||||
|                           "favourites_count": 0, |                           "favourites_count": 0, | ||||||
|                           "followers_count": 7, |                           "followers_count": 8, | ||||||
|                           "friends_count": 74, |                           "friends_count": 102, | ||||||
|                           "has_custom_timelines": false, |                           "has_custom_timelines": false, | ||||||
|                           "is_translator": false, |                           "is_translator": false, | ||||||
|                           "listed_count": 0, |                           "listed_count": 0, | ||||||
|                           "location": "Kowloon, Hong Kong", |                           "location": "Kowloon, Hong Kong", | ||||||
|                           "media_count": 1, |                           "media_count": 1, | ||||||
|                           "name": "spidermann12139", |                           "name": "spidermann12139", | ||||||
|                           "normal_followers_count": 7, |                           "normal_followers_count": 8, | ||||||
|                           "pinned_tweet_ids_str": [], |                           "pinned_tweet_ids_str": [], | ||||||
|                           "possibly_sensitive": false, |                           "possibly_sensitive": false, | ||||||
|                           "profile_image_url_https": "https://pbs.twimg.com/profile_images/1651154008000843776/Nyt-2G3k_normal.jpg", |                           "profile_image_url_https": "https://pbs.twimg.com/profile_images/1651154008000843776/Nyt-2G3k_normal.jpg", | ||||||
| @ -1259,7 +1257,7 @@ | |||||||
|                           "is_translator": false, |                           "is_translator": false, | ||||||
|                           "listed_count": 0, |                           "listed_count": 0, | ||||||
|                           "location": "", |                           "location": "", | ||||||
|                           "media_count": 2, |                           "media_count": 3, | ||||||
|                           "name": "Mnitor Pilot", |                           "name": "Mnitor Pilot", | ||||||
|                           "normal_followers_count": 3, |                           "normal_followers_count": 3, | ||||||
|                           "pinned_tweet_ids_str": [], |                           "pinned_tweet_ids_str": [], | ||||||
| @ -1267,7 +1265,7 @@ | |||||||
|                           "profile_image_url_https": "https://pbs.twimg.com/profile_images/655000706022252544/sncqa0Z6_normal.png", |                           "profile_image_url_https": "https://pbs.twimg.com/profile_images/655000706022252544/sncqa0Z6_normal.png", | ||||||
|                           "profile_interstitial_type": "", |                           "profile_interstitial_type": "", | ||||||
|                           "screen_name": "MnitorDApp", |                           "screen_name": "MnitorDApp", | ||||||
|                           "statuses_count": 29, |                           "statuses_count": 30, | ||||||
|                           "translator_type": "none", |                           "translator_type": "none", | ||||||
|                           "verified": false, |                           "verified": false, | ||||||
|                           "want_retweets": false, |                           "want_retweets": false, | ||||||
| @ -1303,27 +1301,36 @@ | |||||||
|                           "created_at": "Wed May 02 05:04:17 +0000 2007", |                           "created_at": "Wed May 02 05:04:17 +0000 2007", | ||||||
|                           "default_profile": false, |                           "default_profile": false, | ||||||
|                           "default_profile_image": false, |                           "default_profile_image": false, | ||||||
|                           "description": "(「=・ω・=)「ガオー 名古屋のゆるふわホワイトタイガー。記録するのが趣味です。ゆるふわITエンジニア。 / マストドンに移行中 → https://t.co/jrFFlXlWTo / nilabの半分はbotでできています。ごろごろ寝てるのしあわせ(*=´ω`=*)", |                           "description": "(「=・ω・=)「ガオー 名古屋のゆるふわホワイトタイガー。記録するのが趣味です。ゆるふわITエンジニア。最近のメインはマストドン → https://t.co/qyvrU05Z8G / 過去ログ → https://t.co/9ylDmczJwb", | ||||||
|                           "entities": { |                           "entities": { | ||||||
|                             "description": { |                             "description": { | ||||||
|                               "urls": [ |                               "urls": [ | ||||||
|                                 { |                                 { | ||||||
|                                   "display_url": "mastodon-japan.net/@nilab", |                                   "display_url": "mastodon-japan.net/@nilab", | ||||||
|                                   "expanded_url": "https://mastodon-japan.net/@nilab", |                                   "expanded_url": "http://mastodon-japan.net/@nilab", | ||||||
|                                   "url": "https://t.co/jrFFlXlWTo", |                                   "url": "https://t.co/qyvrU05Z8G", | ||||||
|                                   "indices": [ |                                   "indices": [ | ||||||
|                                     69, |                                     69, | ||||||
|                                     92 |                                     92 | ||||||
|                                   ] |                                   ] | ||||||
|  |                                 }, | ||||||
|  |                                 { | ||||||
|  |                                   "display_url": "nilab.info/nilog/", | ||||||
|  |                                   "expanded_url": "http://www.nilab.info/nilog/", | ||||||
|  |                                   "url": "https://t.co/9ylDmczJwb", | ||||||
|  |                                   "indices": [ | ||||||
|  |                                     102, | ||||||
|  |                                     125 | ||||||
|  |                                   ] | ||||||
|                                 } |                                 } | ||||||
|                               ] |                               ] | ||||||
|                             }, |                             }, | ||||||
|                             "url": { |                             "url": { | ||||||
|                               "urls": [ |                               "urls": [ | ||||||
|                                 { |                                 { | ||||||
|                                   "display_url": "nilab.info/nilog/", |                                   "display_url": "nilab.info", | ||||||
|                                   "expanded_url": "http://www.nilab.info/nilog/", |                                   "expanded_url": "http://www.nilab.info/", | ||||||
|                                   "url": "https://t.co/9ylDmczJwb", |                                   "url": "https://t.co/iPaKlLBORw", | ||||||
|                                   "indices": [ |                                   "indices": [ | ||||||
|                                     0, |                                     0, | ||||||
|                                     23 |                                     23 | ||||||
| @ -1333,25 +1340,25 @@ | |||||||
|                             } |                             } | ||||||
|                           }, |                           }, | ||||||
|                           "fast_followers_count": 0, |                           "fast_followers_count": 0, | ||||||
|                           "favourites_count": 215418, |                           "favourites_count": 219062, | ||||||
|                           "followers_count": 3954, |                           "followers_count": 3958, | ||||||
|                           "friends_count": 2357, |                           "friends_count": 2412, | ||||||
|                           "has_custom_timelines": true, |                           "has_custom_timelines": true, | ||||||
|                           "is_translator": false, |                           "is_translator": false, | ||||||
|                           "listed_count": 287, |                           "listed_count": 280, | ||||||
|                           "location": "名古屋", |                           "location": "名古屋", | ||||||
|                           "media_count": 37462, |                           "media_count": 37551, | ||||||
|                           "name": "NI-Lab.", |                           "name": "NI-Lab.", | ||||||
|                           "normal_followers_count": 3954, |                           "normal_followers_count": 3958, | ||||||
|                           "pinned_tweet_ids_str": [], |                           "pinned_tweet_ids_str": [], | ||||||
|                           "possibly_sensitive": false, |                           "possibly_sensitive": false, | ||||||
|                           "profile_banner_url": "https://pbs.twimg.com/profile_banners/5704532/1351904764", |                           "profile_banner_url": "https://pbs.twimg.com/profile_banners/5704532/1351904764", | ||||||
|                           "profile_image_url_https": "https://pbs.twimg.com/profile_images/1246056696/zlashdot_profile_normal.jpg", |                           "profile_image_url_https": "https://pbs.twimg.com/profile_images/1246056696/zlashdot_profile_normal.jpg", | ||||||
|                           "profile_interstitial_type": "", |                           "profile_interstitial_type": "", | ||||||
|                           "screen_name": "nilab", |                           "screen_name": "nilab", | ||||||
|                           "statuses_count": 501177, |                           "statuses_count": 502172, | ||||||
|                           "translator_type": "regular", |                           "translator_type": "regular", | ||||||
|                           "url": "https://t.co/9ylDmczJwb", |                           "url": "https://t.co/iPaKlLBORw", | ||||||
|                           "verified": false, |                           "verified": false, | ||||||
|                           "want_retweets": false, |                           "want_retweets": false, | ||||||
|                           "withheld_in_countries": [] |                           "withheld_in_countries": [] | ||||||
| @ -1363,108 +1370,22 @@ | |||||||
|                 } |                 } | ||||||
|               }, |               }, | ||||||
|               { |               { | ||||||
|                 "entryId": "user-1292913297277190151", |                 "entryId": "cursor-top-1776242831014883602", | ||||||
|                 "sortIndex": "1763861852313563488", |                 "sortIndex": "1776242831014883602", | ||||||
|                 "content": { |  | ||||||
|                   "entryType": "TimelineTimelineItem", |  | ||||||
|                   "__typename": "TimelineTimelineItem", |  | ||||||
|                   "itemContent": { |  | ||||||
|                     "itemType": "TimelineUser", |  | ||||||
|                     "__typename": "TimelineUser", |  | ||||||
|                     "user_results": { |  | ||||||
|                       "result": { |  | ||||||
|                         "__typename": "User", |  | ||||||
|                         "id": "VXNlcjoxMjkyOTEzMjk3Mjc3MTkwMTUx", |  | ||||||
|                         "rest_id": "1292913297277190151", |  | ||||||
|                         "affiliates_highlighted_label": {}, |  | ||||||
|                         "has_graduated_access": true, |  | ||||||
|                         "is_blue_verified": true, |  | ||||||
|                         "profile_image_shape": "Circle", |  | ||||||
|                         "legacy": { |  | ||||||
|                           "can_dm": false, |  | ||||||
|                           "can_media_tag": false, |  | ||||||
|                           "created_at": "Mon Aug 10 19:58:53 +0000 2020", |  | ||||||
|                           "default_profile": true, |  | ||||||
|                           "default_profile_image": false, |  | ||||||
|                           "description": "Pay $39.99 a Year or One Time Fee Powered by @SDYPDigital | Now OPEN Latigo Music Support : @LatigoMGSupport 📩 NOW OPEN FOR ALL!!!!", |  | ||||||
|                           "entities": { |  | ||||||
|                             "description": { |  | ||||||
|                               "urls": [] |  | ||||||
|                             }, |  | ||||||
|                             "url": { |  | ||||||
|                               "urls": [ |  | ||||||
|                                 { |  | ||||||
|                                   "display_url": "latigomusicgroup.com", |  | ||||||
|                                   "expanded_url": "https://latigomusicgroup.com", |  | ||||||
|                                   "url": "https://t.co/ggxINFv6i2", |  | ||||||
|                                   "indices": [ |  | ||||||
|                                     0, |  | ||||||
|                                     23 |  | ||||||
|                                   ] |  | ||||||
|                                 } |  | ||||||
|                               ] |  | ||||||
|                             } |  | ||||||
|                           }, |  | ||||||
|                           "fast_followers_count": 0, |  | ||||||
|                           "favourites_count": 21267, |  | ||||||
|                           "followers_count": 617, |  | ||||||
|                           "friends_count": 98, |  | ||||||
|                           "has_custom_timelines": true, |  | ||||||
|                           "is_translator": false, |  | ||||||
|                           "listed_count": 5, |  | ||||||
|                           "location": "Latigo Music HQ", |  | ||||||
|                           "media_count": 117, |  | ||||||
|                           "name": "Latigo Music Group", |  | ||||||
|                           "normal_followers_count": 617, |  | ||||||
|                           "pinned_tweet_ids_str": [ |  | ||||||
|                             "1661335424646762497" |  | ||||||
|                           ], |  | ||||||
|                           "possibly_sensitive": false, |  | ||||||
|                           "profile_banner_url": "https://pbs.twimg.com/profile_banners/1292913297277190151/1686432323", |  | ||||||
|                           "profile_image_url_https": "https://pbs.twimg.com/profile_images/1585833971069472768/fuoqXWPu_normal.jpg", |  | ||||||
|                           "profile_interstitial_type": "", |  | ||||||
|                           "screen_name": "LatigoMG", |  | ||||||
|                           "statuses_count": 2380, |  | ||||||
|                           "translator_type": "none", |  | ||||||
|                           "url": "https://t.co/ggxINFv6i2", |  | ||||||
|                           "verified": false, |  | ||||||
|                           "want_retweets": false, |  | ||||||
|                           "withheld_in_countries": [] |  | ||||||
|                         }, |  | ||||||
|                         "professional": { |  | ||||||
|                           "rest_id": "1470129916448579592", |  | ||||||
|                           "professional_type": "Business", |  | ||||||
|                           "category": [ |  | ||||||
|                             { |  | ||||||
|                               "id": 477, |  | ||||||
|                               "name": "Professional Services", |  | ||||||
|                               "icon_name": "IconBriefcaseStroke" |  | ||||||
|                             } |  | ||||||
|                           ] |  | ||||||
|                         } |  | ||||||
|                       } |  | ||||||
|                     }, |  | ||||||
|                     "userDisplayType": "User" |  | ||||||
|                   } |  | ||||||
|                 } |  | ||||||
|               }, |  | ||||||
|               { |  | ||||||
|                 "entryId": "cursor-top-1768654313616779184", |  | ||||||
|                 "sortIndex": "1768654313616779184", |  | ||||||
|                 "content": { |                 "content": { | ||||||
|                   "entryType": "TimelineTimelineCursor", |                   "entryType": "TimelineTimelineCursor", | ||||||
|                   "__typename": "TimelineTimelineCursor", |                   "__typename": "TimelineTimelineCursor", | ||||||
|                   "value": "HCbenrnZx+7CizEAAA==", |                   "value": "HCaixM+XtNy9pjEAAA==", | ||||||
|                   "cursorType": "Top" |                   "cursorType": "Top" | ||||||
|                 } |                 } | ||||||
|               }, |               }, | ||||||
|               { |               { | ||||||
|                 "entryId": "cursor-bottom-1763861852313563487", |                 "entryId": "cursor-bottom-1763975753744339445", | ||||||
|                 "sortIndex": "1763861852313563487", |                 "sortIndex": "1763975753744339445", | ||||||
|                 "content": { |                 "content": { | ||||||
|                   "entryType": "TimelineTimelineCursor", |                   "entryType": "TimelineTimelineCursor", | ||||||
|                   "__typename": "TimelineTimelineCursor", |                   "__typename": "TimelineTimelineCursor", | ||||||
|                   "value": "HBbAxZnAzMC/+jAAAA==", |                   "value": "HBbsx6qlxKbz+jAAAA==", | ||||||
|                   "cursorType": "Bottom", |                   "cursorType": "Bottom", | ||||||
|                   "stopOnEmptyResponse": true |                   "stopOnEmptyResponse": true | ||||||
|                 } |                 } | ||||||
|  | |||||||
										
											
												Разница между файлами не показана из-за своего большого размера
												Загрузить разницу
											
										
									
								
							
										
											
												Разница между файлами не показана из-за своего большого размера
												Загрузить разницу
											
										
									
								
							| @ -8,13 +8,13 @@ | |||||||
|         "affiliates_highlighted_label": { |         "affiliates_highlighted_label": { | ||||||
|           "label": { |           "label": { | ||||||
|             "url": { |             "url": { | ||||||
|               "url": "https://twitter.com/Twitter", |               "url": "https://twitter.com/X", | ||||||
|               "urlType": "DeepLink" |               "urlType": "DeepLink" | ||||||
|             }, |             }, | ||||||
|             "badge": { |             "badge": { | ||||||
|               "url": "https://pbs.twimg.com/profile_images/1488548719062654976/u6qfBBkF_bigger.jpg" |               "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" | ||||||
|             }, |             }, | ||||||
|             "description": "Twitter", |             "description": "X", | ||||||
|             "userLabelType": "BusinessLabel", |             "userLabelType": "BusinessLabel", | ||||||
|             "userLabelDisplayType": "Badge" |             "userLabelDisplayType": "Badge" | ||||||
|           } |           } | ||||||
| @ -28,7 +28,7 @@ | |||||||
|           "created_at": "Sat Dec 14 04:35:55 +0000 2013", |           "created_at": "Sat Dec 14 04:35:55 +0000 2013", | ||||||
|           "default_profile": false, |           "default_profile": false, | ||||||
|           "default_profile_image": false, |           "default_profile_image": false, | ||||||
|           "description": "The voice of the #TwitterDev team and your official source for updates, news, and events, related to the #TwitterAPI.", |           "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", | ||||||
|           "entities": { |           "entities": { | ||||||
|             "description": { |             "description": { | ||||||
|               "urls": [] |               "urls": [] | ||||||
| @ -36,9 +36,9 @@ | |||||||
|             "url": { |             "url": { | ||||||
|               "urls": [ |               "urls": [ | ||||||
|                 { |                 { | ||||||
|                   "display_url": "developer.twitter.com/en/community", |                   "display_url": "developer.twitter.com", | ||||||
|                   "expanded_url": "https://developer.twitter.com/en/community", |                   "expanded_url": "https://developer.twitter.com/", | ||||||
|                   "url": "https://t.co/9wI31m3ELF", |                   "url": "https://t.co/RUXWsqdGk8", | ||||||
|                   "indices": [ |                   "indices": [ | ||||||
|                     0, |                     0, | ||||||
|                     23 |                     23 | ||||||
| @ -48,27 +48,27 @@ | |||||||
|             } |             } | ||||||
|           }, |           }, | ||||||
|           "fast_followers_count": 0, |           "fast_followers_count": 0, | ||||||
|           "favourites_count": 2152, |           "favourites_count": 2078, | ||||||
|           "followers_count": 587135, |           "followers_count": 590970, | ||||||
|           "friends_count": 1945, |           "friends_count": 1934, | ||||||
|           "has_custom_timelines": true, |           "has_custom_timelines": true, | ||||||
|           "is_translator": false, |           "is_translator": false, | ||||||
|           "listed_count": 2459, |           "listed_count": 2490, | ||||||
|           "location": "127.0.0.1", |           "location": "127.0.0.1", | ||||||
|           "media_count": 815, |           "media_count": 815, | ||||||
|           "name": "Twitter Dev", |           "name": "Developers", | ||||||
|           "normal_followers_count": 587135, |           "normal_followers_count": 590970, | ||||||
|           "pinned_tweet_ids_str": [ |           "pinned_tweet_ids_str": [ | ||||||
|             "1661790253886177280" |             "1661790253886177280" | ||||||
|           ], |           ], | ||||||
|           "possibly_sensitive": false, |           "possibly_sensitive": false, | ||||||
|           "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1660405530", |           "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", | ||||||
|           "profile_image_url_https": "https://pbs.twimg.com/profile_images/1445764922474827784/W2zEPN7U_normal.jpg", |           "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", | ||||||
|           "profile_interstitial_type": "", |           "profile_interstitial_type": "", | ||||||
|           "screen_name": "TwitterDev", |           "screen_name": "XDevelopers", | ||||||
|           "statuses_count": 4080, |           "statuses_count": 4053, | ||||||
|           "translator_type": "regular", |           "translator_type": "regular", | ||||||
|           "url": "https://t.co/9wI31m3ELF", |           "url": "https://t.co/RUXWsqdGk8", | ||||||
|           "verified": false, |           "verified": false, | ||||||
|           "verified_type": "Business", |           "verified_type": "Business", | ||||||
|           "want_retweets": false, |           "want_retweets": false, | ||||||
|  | |||||||
| @ -8,13 +8,13 @@ | |||||||
|         "affiliates_highlighted_label": { |         "affiliates_highlighted_label": { | ||||||
|           "label": { |           "label": { | ||||||
|             "url": { |             "url": { | ||||||
|               "url": "https://twitter.com/Twitter", |               "url": "https://twitter.com/X", | ||||||
|               "urlType": "DeepLink" |               "urlType": "DeepLink" | ||||||
|             }, |             }, | ||||||
|             "badge": { |             "badge": { | ||||||
|               "url": "https://pbs.twimg.com/profile_images/1488548719062654976/u6qfBBkF_bigger.jpg" |               "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" | ||||||
|             }, |             }, | ||||||
|             "description": "Twitter", |             "description": "X", | ||||||
|             "userLabelType": "BusinessLabel", |             "userLabelType": "BusinessLabel", | ||||||
|             "userLabelDisplayType": "Badge" |             "userLabelDisplayType": "Badge" | ||||||
|           } |           } | ||||||
| @ -28,7 +28,7 @@ | |||||||
|           "created_at": "Sat Dec 14 04:35:55 +0000 2013", |           "created_at": "Sat Dec 14 04:35:55 +0000 2013", | ||||||
|           "default_profile": false, |           "default_profile": false, | ||||||
|           "default_profile_image": false, |           "default_profile_image": false, | ||||||
|           "description": "The voice of the #TwitterDev team and your official source for updates, news, and events, related to the #TwitterAPI.", |           "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", | ||||||
|           "entities": { |           "entities": { | ||||||
|             "description": { |             "description": { | ||||||
|               "urls": [] |               "urls": [] | ||||||
| @ -36,9 +36,9 @@ | |||||||
|             "url": { |             "url": { | ||||||
|               "urls": [ |               "urls": [ | ||||||
|                 { |                 { | ||||||
|                   "display_url": "developer.twitter.com/en/community", |                   "display_url": "developer.twitter.com", | ||||||
|                   "expanded_url": "https://developer.twitter.com/en/community", |                   "expanded_url": "https://developer.twitter.com/", | ||||||
|                   "url": "https://t.co/9wI31m3ELF", |                   "url": "https://t.co/RUXWsqdGk8", | ||||||
|                   "indices": [ |                   "indices": [ | ||||||
|                     0, |                     0, | ||||||
|                     23 |                     23 | ||||||
| @ -48,27 +48,27 @@ | |||||||
|             } |             } | ||||||
|           }, |           }, | ||||||
|           "fast_followers_count": 0, |           "fast_followers_count": 0, | ||||||
|           "favourites_count": 2152, |           "favourites_count": 2078, | ||||||
|           "followers_count": 587135, |           "followers_count": 590970, | ||||||
|           "friends_count": 1945, |           "friends_count": 1934, | ||||||
|           "has_custom_timelines": true, |           "has_custom_timelines": true, | ||||||
|           "is_translator": false, |           "is_translator": false, | ||||||
|           "listed_count": 2459, |           "listed_count": 2490, | ||||||
|           "location": "127.0.0.1", |           "location": "127.0.0.1", | ||||||
|           "media_count": 815, |           "media_count": 815, | ||||||
|           "name": "Twitter Dev", |           "name": "Developers", | ||||||
|           "normal_followers_count": 587135, |           "normal_followers_count": 590970, | ||||||
|           "pinned_tweet_ids_str": [ |           "pinned_tweet_ids_str": [ | ||||||
|             "1661790253886177280" |             "1661790253886177280" | ||||||
|           ], |           ], | ||||||
|           "possibly_sensitive": false, |           "possibly_sensitive": false, | ||||||
|           "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1660405530", |           "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", | ||||||
|           "profile_image_url_https": "https://pbs.twimg.com/profile_images/1445764922474827784/W2zEPN7U_normal.jpg", |           "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", | ||||||
|           "profile_interstitial_type": "", |           "profile_interstitial_type": "", | ||||||
|           "screen_name": "TwitterDev", |           "screen_name": "XDevelopers", | ||||||
|           "statuses_count": 4080, |           "statuses_count": 4053, | ||||||
|           "translator_type": "regular", |           "translator_type": "regular", | ||||||
|           "url": "https://t.co/9wI31m3ELF", |           "url": "https://t.co/RUXWsqdGk8", | ||||||
|           "verified": false, |           "verified": false, | ||||||
|           "verified_type": "Business", |           "verified_type": "Business", | ||||||
|           "want_retweets": false, |           "want_retweets": false, | ||||||
| @ -87,34 +87,27 @@ | |||||||
|         }, |         }, | ||||||
|         "smart_blocked_by": false, |         "smart_blocked_by": false, | ||||||
|         "smart_blocking": false, |         "smart_blocking": false, | ||||||
|         "legacy_extended_profile": { |         "legacy_extended_profile": {}, | ||||||
|           "birthdate": { |  | ||||||
|             "day": 21, |  | ||||||
|             "month": 3, |  | ||||||
|             "visibility": "Public", |  | ||||||
|             "year_visibility": "Self" |  | ||||||
|           } |  | ||||||
|         }, |  | ||||||
|         "is_profile_translatable": false, |         "is_profile_translatable": false, | ||||||
|         "has_hidden_likes_on_profile": false, |         "has_hidden_likes_on_profile": false, | ||||||
|         "verification_info": { |         "verification_info": { | ||||||
|           "reason": { |           "reason": { | ||||||
|             "description": { |             "description": { | ||||||
|               "text": "This account is verified because it's an affiliate of @Twitter on Twitter. Learn more", |               "text": "This account is verified because it's an affiliate of @X on X. Learn more", | ||||||
|               "entities": [ |               "entities": [ | ||||||
|                 { |                 { | ||||||
|                   "from_index": 54, |                   "from_index": 54, | ||||||
|                   "to_index": 62, |                   "to_index": 56, | ||||||
|                   "ref": { |                   "ref": { | ||||||
|                     "url": "https://twitter.com/Twitter", |                     "url": "https://twitter.com/X", | ||||||
|                     "url_type": "ExternalUrl" |                     "url_type": "ExternalUrl" | ||||||
|                   } |                   } | ||||||
|                 }, |                 }, | ||||||
|                 { |                 { | ||||||
|                   "from_index": 75, |                   "from_index": 63, | ||||||
|                   "to_index": 85, |                   "to_index": 73, | ||||||
|                   "ref": { |                   "ref": { | ||||||
|                     "url": "https://twitter.com/i/twitter_blue_sign_up", |                     "url": "If a Blue Publisher charges readers for content, you’ll need to subscribe directly to their publication to read stories behind their paywall.s", | ||||||
|                     "url_type": "ExternalUrl" |                     "url_type": "ExternalUrl" | ||||||
|                   } |                   } | ||||||
|                 } |                 } | ||||||
|  | |||||||
										
											
												Разница между файлами не показана из-за своего большого размера
												Загрузить разницу
											
										
									
								
							
										
											
												Разница между файлами не показана из-за своего большого размера
												Загрузить разницу
											
										
									
								
							| @ -90,7 +90,15 @@ def check_tweet(doc: Tweet | None): | |||||||
|                     assert v.contentType is not None |                     assert v.contentType is not None | ||||||
| 
 | 
 | ||||||
|     if doc.retweetedTweet is not None: |     if doc.retweetedTweet is not None: | ||||||
|  |         try: | ||||||
|             assert doc.rawContent.endswith(doc.retweetedTweet.rawContent), "content should be full" |             assert doc.rawContent.endswith(doc.retweetedTweet.rawContent), "content should be full" | ||||||
|  |         except AssertionError as e: | ||||||
|  |             print('\n' + '-' * 60) | ||||||
|  |             print(doc.url) | ||||||
|  |             print('1:', doc.rawContent) | ||||||
|  |             print('2:', doc.retweetedTweet.rawContent) | ||||||
|  |             print('-' * 60) | ||||||
|  |             raise e | ||||||
| 
 | 
 | ||||||
|     check_user(doc.user) |     check_user(doc.user) | ||||||
| 
 | 
 | ||||||
| @ -138,7 +146,7 @@ async def test_user_by_id(): | |||||||
|     doc = await api.user_by_id(2244994945) |     doc = await api.user_by_id(2244994945) | ||||||
|     assert doc is not None |     assert doc is not None | ||||||
|     assert doc.id == 2244994945 |     assert doc.id == 2244994945 | ||||||
|     assert doc.username == "TwitterDev" |     assert doc.username == "XDevelopers" | ||||||
| 
 | 
 | ||||||
|     obj = doc.dict() |     obj = doc.dict() | ||||||
|     assert doc.id == obj["id"] |     assert doc.id == obj["id"] | ||||||
| @ -153,10 +161,10 @@ async def test_user_by_login(): | |||||||
|     api = API() |     api = API() | ||||||
|     mock_rep(api, "user_by_login_raw") |     mock_rep(api, "user_by_login_raw") | ||||||
| 
 | 
 | ||||||
|     doc = await api.user_by_login("twitterdev") |     doc = await api.user_by_login("xdevelopers") | ||||||
|     assert doc is not None |     assert doc is not None | ||||||
|     assert doc.id == 2244994945 |     assert doc.id == 2244994945 | ||||||
|     assert doc.username == "TwitterDev" |     assert doc.username == "XDevelopers" | ||||||
| 
 | 
 | ||||||
|     obj = doc.dict() |     obj = doc.dict() | ||||||
|     assert doc.id == obj["id"] |     assert doc.id == obj["id"] | ||||||
| @ -291,13 +299,15 @@ async def test_issue_28(): | |||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| async def test_issue_42(): | async def test_issue_42(): | ||||||
|     raw = load_mock("_issue_42") |     files = ["_issue_42", "_issue_42_regr"] | ||||||
|  |     for file in files: | ||||||
|  |         raw = load_mock(file) | ||||||
|         doc = parse_tweet(raw, 1665951747842641921) |         doc = parse_tweet(raw, 1665951747842641921) | ||||||
|     assert doc is not None |         assert doc is not None, f"on {file}" | ||||||
|     assert doc.retweetedTweet is not None |         assert doc.retweetedTweet is not None, f"on {file}" | ||||||
|     assert doc.rawContent is not None |         assert doc.rawContent is not None, f"on {file}" | ||||||
|     assert doc.retweetedTweet.rawContent is not None |         assert doc.retweetedTweet.rawContent is not None, f"on {file}" | ||||||
|     assert doc.rawContent.endswith(doc.retweetedTweet.rawContent) |         assert doc.rawContent.endswith(doc.retweetedTweet.rawContent), f"on {file}" | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| async def test_issue_56(): | async def test_issue_56(): | ||||||
|  | |||||||
| @ -12,7 +12,7 @@ from typing import Generator, Optional | |||||||
| import httpx | import httpx | ||||||
| 
 | 
 | ||||||
| from .logger import logger | from .logger import logger | ||||||
| from .utils import find_item, get_or, int_or_none, to_old_rep | from .utils import find_item, get_or, int_or, to_old_rep | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| @dataclass | @dataclass | ||||||
| @ -217,7 +217,7 @@ class Tweet(JSONTrait): | |||||||
|             quotedTweet=Tweet.parse(qt_obj, res) if qt_obj else None, |             quotedTweet=Tweet.parse(qt_obj, res) if qt_obj else None, | ||||||
|             place=Place.parse(obj["place"]) if obj.get("place") else None, |             place=Place.parse(obj["place"]) if obj.get("place") else None, | ||||||
|             coordinates=Coordinates.parse(obj), |             coordinates=Coordinates.parse(obj), | ||||||
|             inReplyToTweetId=int_or_none(obj, "in_reply_to_status_id_str"), |             inReplyToTweetId=int_or(obj, "in_reply_to_status_id_str"), | ||||||
|             inReplyToUser=_get_reply_user(obj, res), |             inReplyToUser=_get_reply_user(obj, res), | ||||||
|             source=obj.get("source", None), |             source=obj.get("source", None), | ||||||
|             sourceUrl=_get_source_url(obj), |             sourceUrl=_get_source_url(obj), | ||||||
| @ -228,7 +228,10 @@ class Tweet(JSONTrait): | |||||||
|         # issue #42 – restore full rt text |         # issue #42 – restore full rt text | ||||||
|         rt = doc.retweetedTweet |         rt = doc.retweetedTweet | ||||||
|         if rt is not None and rt.user is not None and doc.rawContent.endswith("…"): |         if rt is not None and rt.user is not None and doc.rawContent.endswith("…"): | ||||||
|             prefix = f"RT @{rt.user.username}: " |             # prefix = f"RT @{rt.user.username}: " | ||||||
|  |             # if login changed, old login can be cached in rawContent, so use less strict check | ||||||
|  |             prefix = f"RT @" | ||||||
|  |              | ||||||
|             rt_msg = f"{prefix}{rt.rawContent}" |             rt_msg = f"{prefix}{rt.rawContent}" | ||||||
|             if doc.rawContent != rt_msg and doc.rawContent.startswith(prefix): |             if doc.rawContent != rt_msg and doc.rawContent.startswith(prefix): | ||||||
|                 doc.rawContent = rt_msg |                 doc.rawContent = rt_msg | ||||||
| @ -260,7 +263,7 @@ class MediaVideo(JSONTrait): | |||||||
|                 MediaVideoVariant.parse(x) for x in obj["video_info"]["variants"] if "bitrate" in x |                 MediaVideoVariant.parse(x) for x in obj["video_info"]["variants"] if "bitrate" in x | ||||||
|             ], |             ], | ||||||
|             duration=obj["video_info"]["duration_millis"], |             duration=obj["video_info"]["duration_millis"], | ||||||
|             views=int_or_none(obj, "mediaStats.viewCount"), |             views=int_or(obj, "mediaStats.viewCount"), | ||||||
|         ) |         ) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| @ -384,7 +387,7 @@ def _first(obj: dict, paths: list[str]): | |||||||
| def _get_views(obj: dict, rt_obj: dict): | def _get_views(obj: dict, rt_obj: dict): | ||||||
|     for x in [obj, rt_obj]: |     for x in [obj, rt_obj]: | ||||||
|         for y in ["ext_views.count", "views.count"]: |         for y in ["ext_views.count", "views.count"]: | ||||||
|             k = int_or_none(x, y) |             k = int_or(x, y) | ||||||
|             if k is not None: |             if k is not None: | ||||||
|                 return k |                 return k | ||||||
|     return None |     return None | ||||||
|  | |||||||
| @ -46,12 +46,12 @@ def get_or(obj: dict, key: str, default_value: T = None) -> Any | T: | |||||||
|     return obj |     return obj | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def int_or_none(obj: dict, key: str): | def int_or(obj: dict, key: str, default_value: int | None = None): | ||||||
|     try: |     try: | ||||||
|         val = get_or(obj, key) |         val = get_or(obj, key) | ||||||
|         return int(val) if val is not None else None |         return int(val) if val is not None else default_value | ||||||
|     except Exception: |     except Exception: | ||||||
|         return None |         return default_value | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| # https://stackoverflow.com/a/43184871 | # https://stackoverflow.com/a/43184871 | ||||||
|  | |||||||
		Загрузка…
	
	
			
			x
			
			
		
	
		Ссылка в новой задаче
	
	Block a user
	 Vlad Pronsky
						Vlad Pronsky