x-twitter-scraper 0.4.3 → 0.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (522) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +14 -0
  3. data/LICENSE +201 -0
  4. data/README.md +10 -12
  5. data/lib/x_twitter_scraper/client.rb +30 -26
  6. data/lib/x_twitter_scraper/internal/transport/base_client.rb +5 -0
  7. data/lib/x_twitter_scraper/internal/type/base_model.rb +4 -3
  8. data/lib/x_twitter_scraper/internal/util.rb +3 -1
  9. data/lib/x_twitter_scraper/models/account_retrieve_response.rb +138 -23
  10. data/lib/x_twitter_scraper/models/content_disclosure.rb +66 -0
  11. data/lib/x_twitter_scraper/models/credit_redirect_topup_checkout_params.rb +22 -0
  12. data/lib/x_twitter_scraper/models/credit_retrieve_balance_response.rb +37 -10
  13. data/lib/x_twitter_scraper/models/credit_retrieve_topup_status_params.rb +22 -0
  14. data/lib/x_twitter_scraper/models/credit_retrieve_topup_status_response.rb +45 -0
  15. data/lib/x_twitter_scraper/models/credit_topup_balance_params.rb +13 -5
  16. data/lib/x_twitter_scraper/models/credit_topup_balance_response.rb +18 -5
  17. data/lib/x_twitter_scraper/models/draft_list_params.rb +8 -2
  18. data/lib/x_twitter_scraper/models/draw_detail.rb +15 -1
  19. data/lib/x_twitter_scraper/models/draw_export_params.rb +3 -3
  20. data/lib/x_twitter_scraper/models/draw_list_item.rb +8 -1
  21. data/lib/x_twitter_scraper/models/draw_list_params.rb +13 -7
  22. data/lib/x_twitter_scraper/models/draw_run_response.rb +13 -2
  23. data/lib/x_twitter_scraper/models/embedded_tweet.rb +202 -0
  24. data/lib/x_twitter_scraper/models/error.rb +203 -34
  25. data/lib/x_twitter_scraper/models/event.rb +48 -6
  26. data/lib/x_twitter_scraper/models/event_detail.rb +46 -7
  27. data/lib/x_twitter_scraper/models/event_list_params.rb +13 -7
  28. data/lib/x_twitter_scraper/models/event_type.rb +17 -2
  29. data/lib/x_twitter_scraper/models/extraction_estimate_cost_params.rb +308 -7
  30. data/lib/x_twitter_scraper/models/extraction_estimate_cost_response.rb +38 -14
  31. data/lib/x_twitter_scraper/models/extraction_export_results_params.rb +3 -3
  32. data/lib/x_twitter_scraper/models/extraction_job.rb +3 -0
  33. data/lib/x_twitter_scraper/models/extraction_list_params.rb +16 -7
  34. data/lib/x_twitter_scraper/models/extraction_retrieve_params.rb +5 -5
  35. data/lib/x_twitter_scraper/models/extraction_retrieve_response.rb +2 -2
  36. data/lib/x_twitter_scraper/models/extraction_run_params.rb +304 -7
  37. data/lib/x_twitter_scraper/models/extraction_run_response.rb +3 -0
  38. data/lib/x_twitter_scraper/models/guest_wallet_amount.rb +25 -0
  39. data/lib/x_twitter_scraper/models/guest_wallet_create_params.rb +36 -0
  40. data/lib/x_twitter_scraper/models/guest_wallet_create_response.rb +161 -0
  41. data/lib/x_twitter_scraper/models/{integration_list_params.rb → guest_wallet_retrieve_status_params.rb} +2 -2
  42. data/lib/x_twitter_scraper/models/guest_wallet_retrieve_status_response.rb +196 -0
  43. data/lib/x_twitter_scraper/models/guest_wallet_topup_params.rb +36 -0
  44. data/lib/x_twitter_scraper/models/guest_wallet_topup_response.rb +172 -0
  45. data/lib/x_twitter_scraper/models/monitor.rb +9 -1
  46. data/lib/x_twitter_scraper/models/monitor_create_response.rb +16 -1
  47. data/lib/x_twitter_scraper/models/monitors/keyword_create_params.rb +34 -0
  48. data/lib/x_twitter_scraper/models/monitors/keyword_create_response.rb +59 -0
  49. data/lib/x_twitter_scraper/models/monitors/keyword_deactivate_params.rb +22 -0
  50. data/lib/x_twitter_scraper/models/monitors/keyword_deactivate_response.rb +18 -0
  51. data/lib/x_twitter_scraper/models/monitors/keyword_list_params.rb +16 -0
  52. data/lib/x_twitter_scraper/models/monitors/keyword_list_response.rb +76 -0
  53. data/lib/x_twitter_scraper/models/monitors/keyword_retrieve_params.rb +22 -0
  54. data/lib/x_twitter_scraper/models/monitors/keyword_retrieve_response.rb +59 -0
  55. data/lib/x_twitter_scraper/models/monitors/keyword_update_params.rb +40 -0
  56. data/lib/x_twitter_scraper/models/monitors/keyword_update_response.rb +59 -0
  57. data/lib/x_twitter_scraper/models/paginated_tweets.rb +8 -4
  58. data/lib/x_twitter_scraper/models/paginated_users.rb +8 -4
  59. data/lib/x_twitter_scraper/models/radar_item.rb +99 -6
  60. data/lib/x_twitter_scraper/models/radar_retrieve_trending_topics_params.rb +39 -14
  61. data/lib/x_twitter_scraper/models/radar_retrieve_trending_topics_response.rb +14 -5
  62. data/lib/x_twitter_scraper/models/search_tweet.rb +236 -0
  63. data/lib/x_twitter_scraper/models/subscribe_create_params.rb +21 -1
  64. data/lib/x_twitter_scraper/models/subscribe_create_response.rb +10 -10
  65. data/lib/x_twitter_scraper/models/trend_list_params.rb +7 -4
  66. data/lib/x_twitter_scraper/models/tweet_media.rb +77 -0
  67. data/lib/x_twitter_scraper/models/user_profile.rb +258 -0
  68. data/lib/x_twitter_scraper/models/webhook.rb +46 -1
  69. data/lib/x_twitter_scraper/models/webhook_create_response.rb +2 -1
  70. data/lib/x_twitter_scraper/models/{api_key_revoke_params.rb → webhook_resume_params.rb} +2 -2
  71. data/lib/x_twitter_scraper/models/webhook_resume_response.rb +31 -0
  72. data/lib/x_twitter_scraper/models/x/account_connection_challenge_submit_params.rb +31 -0
  73. data/lib/x_twitter_scraper/models/x/account_connection_challenge_submit_response.rb +66 -0
  74. data/lib/x_twitter_scraper/models/x/account_create_params.rb +1 -9
  75. data/lib/x_twitter_scraper/models/x/account_create_response.rb +30 -1
  76. data/lib/x_twitter_scraper/models/x/account_reauth_params.rb +9 -1
  77. data/lib/x_twitter_scraper/models/x/account_reauth_response.rb +36 -1
  78. data/lib/x_twitter_scraper/models/x/bookmark_retrieve_folders_response.rb +6 -2
  79. data/lib/x_twitter_scraper/models/x/communities/join_create_response.rb +20 -0
  80. data/lib/x_twitter_scraper/models/x/communities/join_delete_all_response.rb +20 -0
  81. data/lib/x_twitter_scraper/models/x/communities/tweet_list_by_community_params.rb +17 -1
  82. data/lib/x_twitter_scraper/models/x/communities/tweet_list_params.rb +43 -9
  83. data/lib/x_twitter_scraper/models/x/community_retrieve_info_response.rb +69 -1
  84. data/lib/x_twitter_scraper/models/x/community_retrieve_members_params.rb +14 -1
  85. data/lib/x_twitter_scraper/models/x/community_retrieve_search_params.rb +38 -4
  86. data/lib/x_twitter_scraper/models/x/dm_retrieve_history_params.rb +13 -1
  87. data/lib/x_twitter_scraper/models/x/dm_retrieve_history_response.rb +26 -9
  88. data/lib/x_twitter_scraper/models/x/dm_send_params.rb +3 -9
  89. data/lib/x_twitter_scraper/models/x/follower_check_params.rb +4 -4
  90. data/lib/x_twitter_scraper/models/x/list_retrieve_followers_params.rb +15 -1
  91. data/lib/x_twitter_scraper/models/x/list_retrieve_members_params.rb +9 -1
  92. data/lib/x_twitter_scraper/models/x/list_retrieve_tweets_params.rb +16 -1
  93. data/lib/x_twitter_scraper/models/x/media_download_params.rb +19 -3
  94. data/lib/x_twitter_scraper/models/x/media_upload_params.rb +8 -15
  95. data/lib/x_twitter_scraper/models/x/media_upload_response.rb +10 -1
  96. data/lib/x_twitter_scraper/models/x/profile_update_avatar_params.rb +8 -8
  97. data/lib/x_twitter_scraper/models/x/profile_update_banner_params.rb +8 -8
  98. data/lib/x_twitter_scraper/models/x/tweet_author.rb +4 -21
  99. data/lib/x_twitter_scraper/models/x/tweet_create_params.rb +18 -11
  100. data/lib/x_twitter_scraper/models/x/tweet_create_response.rb +28 -1
  101. data/lib/x_twitter_scraper/models/x/tweet_detail.rb +109 -43
  102. data/lib/x_twitter_scraper/models/x/tweet_get_favoriters_params.rb +15 -1
  103. data/lib/x_twitter_scraper/models/x/tweet_get_quotes_params.rb +268 -1
  104. data/lib/x_twitter_scraper/models/x/tweet_get_replies_params.rb +268 -1
  105. data/lib/x_twitter_scraper/models/x/tweet_get_retweeters_params.rb +15 -1
  106. data/lib/x_twitter_scraper/models/x/tweet_get_thread_params.rb +16 -1
  107. data/lib/x_twitter_scraper/models/x/tweet_retrieve_response.rb +9 -4
  108. data/lib/x_twitter_scraper/models/x/tweet_search_params.rb +314 -8
  109. data/lib/x_twitter_scraper/models/x/user_remove_follower_params.rb +31 -0
  110. data/lib/x_twitter_scraper/models/x/user_remove_follower_response.rb +18 -0
  111. data/lib/x_twitter_scraper/models/x/user_retrieve_batch_params.rb +6 -2
  112. data/lib/x_twitter_scraper/models/x/user_retrieve_batch_response.rb +83 -0
  113. data/lib/x_twitter_scraper/models/x/user_retrieve_followers_params.rb +25 -3
  114. data/lib/x_twitter_scraper/models/x/user_retrieve_followers_you_know_params.rb +16 -1
  115. data/lib/x_twitter_scraper/models/x/user_retrieve_following_params.rb +25 -3
  116. data/lib/x_twitter_scraper/models/x/user_retrieve_likes_params.rb +268 -1
  117. data/lib/x_twitter_scraper/models/x/user_retrieve_media_params.rb +268 -1
  118. data/lib/x_twitter_scraper/models/x/user_retrieve_mentions_params.rb +268 -1
  119. data/lib/x_twitter_scraper/models/x/user_retrieve_replies_params.rb +306 -0
  120. data/lib/x_twitter_scraper/models/x/user_retrieve_tweets_params.rb +268 -1
  121. data/lib/x_twitter_scraper/models/x/user_retrieve_verified_followers_params.rb +16 -1
  122. data/lib/x_twitter_scraper/models/x/write_action_retrieve_params.rb +22 -0
  123. data/lib/x_twitter_scraper/models/x/write_action_retrieve_response.rb +173 -0
  124. data/lib/x_twitter_scraper/models/x/x_account.rb +56 -2
  125. data/lib/x_twitter_scraper/models/x/x_account_detail.rb +23 -8
  126. data/lib/x_twitter_scraper/models/x_get_article_response.rb +189 -11
  127. data/lib/x_twitter_scraper/models/x_get_home_timeline_params.rb +2 -2
  128. data/lib/x_twitter_scraper/models/x_get_notifications_params.rb +3 -3
  129. data/lib/x_twitter_scraper/models/x_get_trends_params.rb +17 -1
  130. data/lib/x_twitter_scraper/models.rb +21 -21
  131. data/lib/x_twitter_scraper/resources/account.rb +1 -3
  132. data/lib/x_twitter_scraper/resources/compose.rb +1 -1
  133. data/lib/x_twitter_scraper/resources/credits.rb +54 -4
  134. data/lib/x_twitter_scraper/resources/drafts.rb +7 -4
  135. data/lib/x_twitter_scraper/resources/draws.rb +14 -8
  136. data/lib/x_twitter_scraper/resources/events.rb +7 -5
  137. data/lib/x_twitter_scraper/resources/extractions.rb +145 -20
  138. data/lib/x_twitter_scraper/resources/guest_wallets.rb +108 -0
  139. data/lib/x_twitter_scraper/resources/monitors/keywords.rb +128 -0
  140. data/lib/x_twitter_scraper/resources/monitors.rb +13 -5
  141. data/lib/x_twitter_scraper/resources/radar.rb +8 -6
  142. data/lib/x_twitter_scraper/resources/styles.rb +1 -1
  143. data/lib/x_twitter_scraper/resources/subscribe.rb +9 -4
  144. data/lib/x_twitter_scraper/resources/support/tickets.rb +3 -3
  145. data/lib/x_twitter_scraper/resources/trends.rb +7 -4
  146. data/lib/x_twitter_scraper/resources/webhooks.rb +25 -5
  147. data/lib/x_twitter_scraper/resources/x/account_connection_challenges.rb +41 -0
  148. data/lib/x_twitter_scraper/resources/x/accounts.rb +7 -13
  149. data/lib/x_twitter_scraper/resources/x/bookmarks.rb +1 -1
  150. data/lib/x_twitter_scraper/resources/x/communities/join.rb +6 -6
  151. data/lib/x_twitter_scraper/resources/x/communities/tweets.rb +27 -10
  152. data/lib/x_twitter_scraper/resources/x/communities.rb +27 -11
  153. data/lib/x_twitter_scraper/resources/x/dm.rb +9 -6
  154. data/lib/x_twitter_scraper/resources/x/followers.rb +4 -4
  155. data/lib/x_twitter_scraper/resources/x/lists.rb +22 -9
  156. data/lib/x_twitter_scraper/resources/x/media.rb +11 -9
  157. data/lib/x_twitter_scraper/resources/x/profile.rb +6 -6
  158. data/lib/x_twitter_scraper/resources/x/tweets.rb +282 -28
  159. data/lib/x_twitter_scraper/resources/x/users.rb +485 -34
  160. data/lib/x_twitter_scraper/resources/x/write_actions.rb +37 -0
  161. data/lib/x_twitter_scraper/resources/x.rb +33 -13
  162. data/lib/x_twitter_scraper/version.rb +1 -1
  163. data/lib/x_twitter_scraper.rb +41 -27
  164. data/rbi/x_twitter_scraper/client.rbi +14 -22
  165. data/rbi/x_twitter_scraper/models/account_retrieve_response.rbi +181 -23
  166. data/rbi/x_twitter_scraper/models/content_disclosure.rbi +149 -0
  167. data/rbi/x_twitter_scraper/models/{integration_retrieve_params.rbi → credit_redirect_topup_checkout_params.rbi} +14 -6
  168. data/rbi/x_twitter_scraper/models/credit_retrieve_balance_response.rbi +35 -9
  169. data/rbi/x_twitter_scraper/models/{integration_list_deliveries_params.rbi → credit_retrieve_topup_status_params.rbi} +8 -17
  170. data/rbi/x_twitter_scraper/models/credit_retrieve_topup_status_response.rbi +107 -0
  171. data/rbi/x_twitter_scraper/models/credit_topup_balance_params.rbi +20 -6
  172. data/rbi/x_twitter_scraper/models/credit_topup_balance_response.rbi +19 -5
  173. data/rbi/x_twitter_scraper/models/draft_list_params.rbi +8 -2
  174. data/rbi/x_twitter_scraper/models/draw_detail.rbi +2 -0
  175. data/rbi/x_twitter_scraper/models/draw_export_params.rbi +3 -12
  176. data/rbi/x_twitter_scraper/models/draw_list_item.rbi +2 -0
  177. data/rbi/x_twitter_scraper/models/draw_list_params.rbi +16 -10
  178. data/rbi/x_twitter_scraper/models/draw_run_response.rbi +15 -1
  179. data/rbi/x_twitter_scraper/models/embedded_tweet.rbi +255 -0
  180. data/rbi/x_twitter_scraper/models/error.rbi +865 -87
  181. data/rbi/x_twitter_scraper/models/event.rbi +63 -4
  182. data/rbi/x_twitter_scraper/models/event_detail.rbi +73 -5
  183. data/rbi/x_twitter_scraper/models/event_list_params.rbi +16 -10
  184. data/rbi/x_twitter_scraper/models/event_type.rbi +58 -4
  185. data/rbi/x_twitter_scraper/models/extraction_estimate_cost_params.rbi +580 -2
  186. data/rbi/x_twitter_scraper/models/extraction_estimate_cost_response.rbi +98 -14
  187. data/rbi/x_twitter_scraper/models/extraction_export_results_params.rbi +3 -13
  188. data/rbi/x_twitter_scraper/models/extraction_job.rbi +15 -0
  189. data/rbi/x_twitter_scraper/models/extraction_list_params.rbi +31 -10
  190. data/rbi/x_twitter_scraper/models/extraction_retrieve_params.rbi +8 -8
  191. data/rbi/x_twitter_scraper/models/extraction_retrieve_response.rbi +2 -2
  192. data/rbi/x_twitter_scraper/models/extraction_run_params.rbi +546 -2
  193. data/rbi/x_twitter_scraper/models/extraction_run_response.rbi +15 -0
  194. data/rbi/x_twitter_scraper/models/guest_wallet_amount.rbi +39 -0
  195. data/rbi/x_twitter_scraper/models/guest_wallet_create_params.rbi +58 -0
  196. data/rbi/x_twitter_scraper/models/guest_wallet_create_response.rbi +243 -0
  197. data/rbi/x_twitter_scraper/models/{integration_list_params.rbi → guest_wallet_retrieve_status_params.rbi} +2 -2
  198. data/rbi/x_twitter_scraper/models/guest_wallet_retrieve_status_response.rbi +402 -0
  199. data/rbi/x_twitter_scraper/models/guest_wallet_topup_params.rbi +58 -0
  200. data/rbi/x_twitter_scraper/models/guest_wallet_topup_response.rbi +293 -0
  201. data/rbi/x_twitter_scraper/models/monitor.rbi +8 -0
  202. data/rbi/x_twitter_scraper/models/monitor_create_response.rbi +14 -0
  203. data/rbi/x_twitter_scraper/models/monitors/keyword_create_params.rbi +56 -0
  204. data/rbi/x_twitter_scraper/models/monitors/keyword_create_response.rbi +75 -0
  205. data/rbi/x_twitter_scraper/models/monitors/keyword_deactivate_params.rbi +40 -0
  206. data/rbi/x_twitter_scraper/models/monitors/keyword_deactivate_response.rbi +28 -0
  207. data/rbi/x_twitter_scraper/models/monitors/keyword_list_params.rbi +34 -0
  208. data/rbi/x_twitter_scraper/models/monitors/keyword_list_response.rbi +123 -0
  209. data/rbi/x_twitter_scraper/models/monitors/keyword_retrieve_params.rbi +40 -0
  210. data/rbi/x_twitter_scraper/models/monitors/keyword_retrieve_response.rbi +75 -0
  211. data/rbi/x_twitter_scraper/models/monitors/keyword_update_params.rbi +72 -0
  212. data/rbi/x_twitter_scraper/models/monitors/keyword_update_response.rbi +75 -0
  213. data/rbi/x_twitter_scraper/models/paginated_tweets.rbi +8 -4
  214. data/rbi/x_twitter_scraper/models/paginated_users.rbi +8 -4
  215. data/rbi/x_twitter_scraper/models/radar_item.rbi +131 -6
  216. data/rbi/x_twitter_scraper/models/radar_retrieve_trending_topics_params.rbi +109 -20
  217. data/rbi/x_twitter_scraper/models/radar_retrieve_trending_topics_response.rbi +22 -5
  218. data/rbi/x_twitter_scraper/models/search_tweet.rbi +316 -0
  219. data/rbi/x_twitter_scraper/models/subscribe_create_params.rbi +62 -2
  220. data/rbi/x_twitter_scraper/models/subscribe_create_response.rbi +10 -23
  221. data/rbi/x_twitter_scraper/models/trend_list_params.rbi +4 -4
  222. data/rbi/x_twitter_scraper/models/tweet_media.rbi +130 -0
  223. data/rbi/x_twitter_scraper/models/user_profile.rbi +346 -0
  224. data/rbi/x_twitter_scraper/models/webhook.rbi +57 -0
  225. data/rbi/x_twitter_scraper/models/webhook_create_response.rbi +2 -0
  226. data/rbi/x_twitter_scraper/models/{api_key_revoke_params.rbi → webhook_resume_params.rbi} +2 -2
  227. data/rbi/x_twitter_scraper/models/webhook_resume_response.rbi +55 -0
  228. data/rbi/x_twitter_scraper/models/x/account_connection_challenge_submit_params.rbi +54 -0
  229. data/rbi/x_twitter_scraper/models/x/account_connection_challenge_submit_response.rbi +131 -0
  230. data/rbi/x_twitter_scraper/models/x/account_create_params.rbi +0 -11
  231. data/rbi/x_twitter_scraper/models/x/account_create_response.rbi +79 -1
  232. data/rbi/x_twitter_scraper/models/x/account_reauth_params.rbi +11 -0
  233. data/rbi/x_twitter_scraper/models/x/account_reauth_response.rbi +96 -5
  234. data/rbi/x_twitter_scraper/models/x/bookmark_retrieve_folders_response.rbi +9 -1
  235. data/rbi/x_twitter_scraper/models/x/communities/join_create_response.rbi +30 -0
  236. data/rbi/x_twitter_scraper/models/x/communities/join_delete_all_response.rbi +30 -0
  237. data/rbi/x_twitter_scraper/models/x/communities/tweet_list_by_community_params.rbi +19 -0
  238. data/rbi/x_twitter_scraper/models/x/communities/tweet_list_params.rbi +85 -10
  239. data/rbi/x_twitter_scraper/models/x/community_retrieve_info_response.rbi +115 -0
  240. data/rbi/x_twitter_scraper/models/x/community_retrieve_members_params.rbi +15 -0
  241. data/rbi/x_twitter_scraper/models/x/community_retrieve_search_params.rbi +79 -4
  242. data/rbi/x_twitter_scraper/models/x/dm_retrieve_history_params.rbi +10 -0
  243. data/rbi/x_twitter_scraper/models/x/dm_retrieve_history_response.rbi +20 -13
  244. data/rbi/x_twitter_scraper/models/x/dm_send_params.rbi +2 -9
  245. data/rbi/x_twitter_scraper/models/x/follower_check_params.rbi +4 -4
  246. data/rbi/x_twitter_scraper/models/x/list_retrieve_followers_params.rbi +17 -0
  247. data/rbi/x_twitter_scraper/models/x/list_retrieve_members_params.rbi +11 -0
  248. data/rbi/x_twitter_scraper/models/x/list_retrieve_tweets_params.rbi +19 -0
  249. data/rbi/x_twitter_scraper/models/x/media_download_params.rbi +24 -2
  250. data/rbi/x_twitter_scraper/models/x/media_upload_params.rbi +9 -18
  251. data/rbi/x_twitter_scraper/models/x/media_upload_response.rbi +20 -5
  252. data/rbi/x_twitter_scraper/models/x/profile_update_avatar_params.rbi +9 -9
  253. data/rbi/x_twitter_scraper/models/x/profile_update_banner_params.rbi +9 -9
  254. data/rbi/x_twitter_scraper/models/x/tweet_author.rbi +8 -39
  255. data/rbi/x_twitter_scraper/models/x/tweet_create_params.rbi +23 -12
  256. data/rbi/x_twitter_scraper/models/x/tweet_create_response.rbi +41 -5
  257. data/rbi/x_twitter_scraper/models/x/tweet_detail.rbi +156 -115
  258. data/rbi/x_twitter_scraper/models/x/tweet_get_favoriters_params.rbi +17 -0
  259. data/rbi/x_twitter_scraper/models/x/tweet_get_quotes_params.rbi +508 -0
  260. data/rbi/x_twitter_scraper/models/x/tweet_get_replies_params.rbi +512 -0
  261. data/rbi/x_twitter_scraper/models/x/tweet_get_retweeters_params.rbi +17 -0
  262. data/rbi/x_twitter_scraper/models/x/tweet_get_thread_params.rbi +19 -0
  263. data/rbi/x_twitter_scraper/models/x/tweet_retrieve_response.rbi +8 -4
  264. data/rbi/x_twitter_scraper/models/x/tweet_search_params.rbi +557 -7
  265. data/rbi/x_twitter_scraper/models/x/user_remove_follower_params.rbi +54 -0
  266. data/rbi/x_twitter_scraper/models/x/user_remove_follower_response.rbi +28 -0
  267. data/rbi/x_twitter_scraper/models/x/user_retrieve_batch_params.rbi +4 -2
  268. data/rbi/x_twitter_scraper/models/x/user_retrieve_batch_response.rbi +102 -0
  269. data/rbi/x_twitter_scraper/models/x/user_retrieve_followers_params.rbi +30 -2
  270. data/rbi/x_twitter_scraper/models/x/user_retrieve_followers_you_know_params.rbi +17 -0
  271. data/rbi/x_twitter_scraper/models/x/user_retrieve_following_params.rbi +30 -2
  272. data/rbi/x_twitter_scraper/models/x/user_retrieve_likes_params.rbi +520 -0
  273. data/rbi/x_twitter_scraper/models/x/user_retrieve_media_params.rbi +520 -0
  274. data/rbi/x_twitter_scraper/models/x/user_retrieve_mentions_params.rbi +523 -0
  275. data/rbi/x_twitter_scraper/models/x/user_retrieve_replies_params.rbi +591 -0
  276. data/rbi/x_twitter_scraper/models/x/user_retrieve_tweets_params.rbi +523 -0
  277. data/rbi/x_twitter_scraper/models/x/user_retrieve_verified_followers_params.rbi +17 -0
  278. data/rbi/x_twitter_scraper/models/x/write_action_retrieve_params.rbi +40 -0
  279. data/rbi/x_twitter_scraper/models/x/write_action_retrieve_response.rbi +313 -0
  280. data/rbi/x_twitter_scraper/models/x/x_account.rbi +87 -4
  281. data/rbi/x_twitter_scraper/models/x/x_account_detail.rbi +58 -10
  282. data/rbi/x_twitter_scraper/models/x_get_article_response.rbi +308 -12
  283. data/rbi/x_twitter_scraper/models/x_get_home_timeline_params.rbi +2 -2
  284. data/rbi/x_twitter_scraper/models/x_get_notifications_params.rbi +3 -3
  285. data/rbi/x_twitter_scraper/models/x_get_trends_params.rbi +30 -2
  286. data/rbi/x_twitter_scraper/models.rbi +24 -22
  287. data/rbi/x_twitter_scraper/resources/account.rbi +1 -1
  288. data/rbi/x_twitter_scraper/resources/compose.rbi +1 -1
  289. data/rbi/x_twitter_scraper/resources/credits.rbi +37 -5
  290. data/rbi/x_twitter_scraper/resources/drafts.rbi +7 -4
  291. data/rbi/x_twitter_scraper/resources/draws.rbi +14 -8
  292. data/rbi/x_twitter_scraper/resources/events.rbi +8 -5
  293. data/rbi/x_twitter_scraper/resources/extractions.rbi +210 -11
  294. data/rbi/x_twitter_scraper/resources/guest_wallets.rbi +76 -0
  295. data/rbi/x_twitter_scraper/resources/monitors/keywords.rbi +95 -0
  296. data/rbi/x_twitter_scraper/resources/monitors.rbi +12 -5
  297. data/rbi/x_twitter_scraper/resources/radar.rbi +12 -8
  298. data/rbi/x_twitter_scraper/resources/styles.rbi +1 -1
  299. data/rbi/x_twitter_scraper/resources/subscribe.rbi +9 -3
  300. data/rbi/x_twitter_scraper/resources/support/tickets.rbi +3 -3
  301. data/rbi/x_twitter_scraper/resources/trends.rbi +4 -4
  302. data/rbi/x_twitter_scraper/resources/webhooks.rbi +19 -5
  303. data/rbi/x_twitter_scraper/resources/x/account_connection_challenges.rbi +36 -0
  304. data/rbi/x_twitter_scraper/resources/x/accounts.rbi +6 -6
  305. data/rbi/x_twitter_scraper/resources/x/bookmarks.rbi +1 -1
  306. data/rbi/x_twitter_scraper/resources/x/communities/join.rbi +8 -4
  307. data/rbi/x_twitter_scraper/resources/x/communities/tweets.rbi +25 -7
  308. data/rbi/x_twitter_scraper/resources/x/communities.rbi +23 -7
  309. data/rbi/x_twitter_scraper/resources/x/dm.rbi +5 -2
  310. data/rbi/x_twitter_scraper/resources/x/followers.rbi +4 -4
  311. data/rbi/x_twitter_scraper/resources/x/lists.rbi +20 -4
  312. data/rbi/x_twitter_scraper/resources/x/media.rbi +13 -9
  313. data/rbi/x_twitter_scraper/resources/x/profile.rbi +8 -8
  314. data/rbi/x_twitter_scraper/resources/x/tweets.rbi +309 -16
  315. data/rbi/x_twitter_scraper/resources/x/users.rbi +520 -18
  316. data/rbi/x_twitter_scraper/resources/x/write_actions.rbi +31 -0
  317. data/rbi/x_twitter_scraper/resources/x.rbi +30 -12
  318. data/sig/x_twitter_scraper/client.rbs +2 -6
  319. data/sig/x_twitter_scraper/models/account_retrieve_response.rbs +106 -19
  320. data/sig/x_twitter_scraper/models/content_disclosure.rbs +78 -0
  321. data/sig/x_twitter_scraper/models/{api_key_create_params.rbs → credit_redirect_topup_checkout_params.rbs} +7 -8
  322. data/sig/x_twitter_scraper/models/credit_retrieve_balance_response.rbs +22 -12
  323. data/sig/x_twitter_scraper/models/{integration_list_deliveries_params.rbs → credit_retrieve_topup_status_params.rbs} +6 -12
  324. data/sig/x_twitter_scraper/models/credit_retrieve_topup_status_response.rbs +45 -0
  325. data/sig/x_twitter_scraper/models/credit_topup_balance_params.rbs +11 -4
  326. data/sig/x_twitter_scraper/models/credit_topup_balance_response.rbs +6 -4
  327. data/sig/x_twitter_scraper/models/draw_export_params.rbs +2 -6
  328. data/sig/x_twitter_scraper/models/draw_list_params.rbs +5 -5
  329. data/sig/x_twitter_scraper/models/embedded_tweet.rbs +187 -0
  330. data/sig/x_twitter_scraper/models/error.rbs +341 -54
  331. data/sig/x_twitter_scraper/models/event.rbs +34 -2
  332. data/sig/x_twitter_scraper/models/event_detail.rbs +34 -2
  333. data/sig/x_twitter_scraper/models/event_list_params.rbs +5 -5
  334. data/sig/x_twitter_scraper/models/event_type.rbs +34 -4
  335. data/sig/x_twitter_scraper/models/extraction_estimate_cost_params.rbs +269 -1
  336. data/sig/x_twitter_scraper/models/extraction_estimate_cost_response.rbs +46 -12
  337. data/sig/x_twitter_scraper/models/extraction_export_results_params.rbs +2 -6
  338. data/sig/x_twitter_scraper/models/extraction_job.rbs +6 -0
  339. data/sig/x_twitter_scraper/models/extraction_list_params.rbs +11 -5
  340. data/sig/x_twitter_scraper/models/extraction_retrieve_params.rbs +5 -5
  341. data/sig/x_twitter_scraper/models/extraction_run_params.rbs +269 -1
  342. data/sig/x_twitter_scraper/models/extraction_run_response.rbs +6 -0
  343. data/sig/x_twitter_scraper/models/guest_wallet_amount.rbs +15 -0
  344. data/sig/x_twitter_scraper/models/guest_wallet_create_params.rbs +32 -0
  345. data/sig/x_twitter_scraper/models/guest_wallet_create_response.rbs +125 -0
  346. data/sig/x_twitter_scraper/models/{api_key_list_params.rbs → guest_wallet_retrieve_status_params.rbs} +2 -2
  347. data/sig/x_twitter_scraper/models/guest_wallet_retrieve_status_response.rbs +163 -0
  348. data/sig/x_twitter_scraper/models/guest_wallet_topup_params.rbs +32 -0
  349. data/sig/x_twitter_scraper/models/guest_wallet_topup_response.rbs +146 -0
  350. data/sig/x_twitter_scraper/models/monitor.rbs +5 -0
  351. data/sig/x_twitter_scraper/models/monitor_create_response.rbs +10 -0
  352. data/sig/x_twitter_scraper/models/monitors/keyword_create_params.rbs +33 -0
  353. data/sig/x_twitter_scraper/models/monitors/keyword_create_response.rbs +47 -0
  354. data/sig/x_twitter_scraper/models/monitors/keyword_deactivate_params.rbs +25 -0
  355. data/sig/x_twitter_scraper/models/monitors/keyword_deactivate_response.rbs +15 -0
  356. data/sig/x_twitter_scraper/models/monitors/keyword_list_params.rbs +19 -0
  357. data/sig/x_twitter_scraper/models/monitors/keyword_list_response.rbs +69 -0
  358. data/sig/x_twitter_scraper/models/monitors/keyword_retrieve_params.rbs +25 -0
  359. data/sig/x_twitter_scraper/models/monitors/keyword_retrieve_response.rbs +47 -0
  360. data/sig/x_twitter_scraper/models/monitors/keyword_update_params.rbs +44 -0
  361. data/sig/x_twitter_scraper/models/monitors/keyword_update_response.rbs +47 -0
  362. data/sig/x_twitter_scraper/models/paginated_tweets.rbs +4 -4
  363. data/sig/x_twitter_scraper/models/paginated_users.rbs +4 -4
  364. data/sig/x_twitter_scraper/models/radar_item.rbs +81 -8
  365. data/sig/x_twitter_scraper/models/radar_retrieve_trending_topics_params.rbs +44 -10
  366. data/sig/x_twitter_scraper/models/radar_retrieve_trending_topics_response.rbs +14 -4
  367. data/sig/x_twitter_scraper/models/search_tweet.rbs +205 -0
  368. data/sig/x_twitter_scraper/models/subscribe_create_params.rbs +28 -3
  369. data/sig/x_twitter_scraper/models/subscribe_create_response.rbs +10 -16
  370. data/sig/x_twitter_scraper/models/tweet_media.rbs +72 -0
  371. data/sig/x_twitter_scraper/models/user_profile.rbs +247 -0
  372. data/sig/x_twitter_scraper/models/webhook.rbs +27 -0
  373. data/sig/x_twitter_scraper/models/{api_key_revoke_params.rbs → webhook_resume_params.rbs} +2 -2
  374. data/sig/x_twitter_scraper/models/webhook_resume_response.rbs +26 -0
  375. data/sig/x_twitter_scraper/models/x/account_connection_challenge_submit_params.rbs +30 -0
  376. data/sig/x_twitter_scraper/models/x/account_connection_challenge_submit_response.rbs +68 -0
  377. data/sig/x_twitter_scraper/models/x/account_create_params.rbs +0 -7
  378. data/sig/x_twitter_scraper/models/x/account_create_response.rbs +37 -1
  379. data/sig/x_twitter_scraper/models/x/account_reauth_params.rbs +7 -1
  380. data/sig/x_twitter_scraper/models/x/account_reauth_response.rbs +51 -3
  381. data/sig/x_twitter_scraper/models/x/communities/join_create_response.rbs +17 -0
  382. data/sig/x_twitter_scraper/models/x/communities/join_delete_all_response.rbs +17 -0
  383. data/sig/x_twitter_scraper/models/x/communities/tweet_list_by_community_params.rbs +7 -1
  384. data/sig/x_twitter_scraper/models/x/communities/tweet_list_params.rbs +34 -5
  385. data/sig/x_twitter_scraper/models/x/community_retrieve_info_response.rbs +66 -0
  386. data/sig/x_twitter_scraper/models/x/community_retrieve_members_params.rbs +7 -1
  387. data/sig/x_twitter_scraper/models/x/community_retrieve_search_params.rbs +34 -5
  388. data/sig/x_twitter_scraper/models/x/dm_retrieve_history_params.rbs +5 -1
  389. data/sig/x_twitter_scraper/models/x/dm_retrieve_history_response.rbs +13 -10
  390. data/sig/x_twitter_scraper/models/x/dm_send_params.rbs +1 -8
  391. data/sig/x_twitter_scraper/models/x/list_retrieve_followers_params.rbs +7 -1
  392. data/sig/x_twitter_scraper/models/x/list_retrieve_members_params.rbs +7 -1
  393. data/sig/x_twitter_scraper/models/x/list_retrieve_tweets_params.rbs +7 -0
  394. data/sig/x_twitter_scraper/models/x/media_download_params.rbs +18 -1
  395. data/sig/x_twitter_scraper/models/x/media_upload_params.rbs +4 -14
  396. data/sig/x_twitter_scraper/models/x/media_upload_response.rbs +10 -3
  397. data/sig/x_twitter_scraper/models/x/profile_update_avatar_params.rbs +4 -4
  398. data/sig/x_twitter_scraper/models/x/profile_update_banner_params.rbs +4 -4
  399. data/sig/x_twitter_scraper/models/x/tweet_author.rbs +8 -31
  400. data/sig/x_twitter_scraper/models/x/tweet_create_params.rbs +13 -11
  401. data/sig/x_twitter_scraper/models/x/tweet_create_response.rbs +30 -3
  402. data/sig/x_twitter_scraper/models/x/tweet_detail.rbs +99 -61
  403. data/sig/x_twitter_scraper/models/x/tweet_get_favoriters_params.rbs +7 -1
  404. data/sig/x_twitter_scraper/models/x/tweet_get_quotes_params.rbs +242 -1
  405. data/sig/x_twitter_scraper/models/x/tweet_get_replies_params.rbs +247 -1
  406. data/sig/x_twitter_scraper/models/x/tweet_get_retweeters_params.rbs +7 -1
  407. data/sig/x_twitter_scraper/models/x/tweet_get_thread_params.rbs +7 -1
  408. data/sig/x_twitter_scraper/models/x/tweet_search_params.rbs +277 -1
  409. data/sig/x_twitter_scraper/models/x/user_remove_follower_params.rbs +30 -0
  410. data/sig/x_twitter_scraper/models/x/user_remove_follower_response.rbs +15 -0
  411. data/sig/x_twitter_scraper/models/x/user_retrieve_batch_response.rbs +57 -0
  412. data/sig/x_twitter_scraper/models/x/user_retrieve_followers_params.rbs +19 -1
  413. data/sig/x_twitter_scraper/models/x/user_retrieve_followers_you_know_params.rbs +7 -1
  414. data/sig/x_twitter_scraper/models/x/user_retrieve_following_params.rbs +19 -1
  415. data/sig/x_twitter_scraper/models/x/user_retrieve_likes_params.rbs +245 -1
  416. data/sig/x_twitter_scraper/models/x/user_retrieve_media_params.rbs +245 -1
  417. data/sig/x_twitter_scraper/models/x/user_retrieve_mentions_params.rbs +247 -1
  418. data/sig/x_twitter_scraper/models/x/user_retrieve_replies_params.rbs +283 -0
  419. data/sig/x_twitter_scraper/models/x/user_retrieve_tweets_params.rbs +242 -1
  420. data/sig/x_twitter_scraper/models/x/user_retrieve_verified_followers_params.rbs +7 -1
  421. data/sig/x_twitter_scraper/models/x/write_action_retrieve_params.rbs +25 -0
  422. data/sig/x_twitter_scraper/models/x/write_action_retrieve_response.rbs +177 -0
  423. data/sig/x_twitter_scraper/models/x/x_account.rbs +41 -3
  424. data/sig/x_twitter_scraper/models/x/x_account_detail.rbs +26 -7
  425. data/sig/x_twitter_scraper/models/x_get_article_response.rbs +193 -6
  426. data/sig/x_twitter_scraper/models/x_get_trends_params.rbs +20 -3
  427. data/sig/x_twitter_scraper/models.rbs +21 -21
  428. data/sig/x_twitter_scraper/resources/credits.rbs +12 -1
  429. data/sig/x_twitter_scraper/resources/draws.rbs +2 -2
  430. data/sig/x_twitter_scraper/resources/events.rbs +1 -1
  431. data/sig/x_twitter_scraper/resources/extractions.rbs +61 -3
  432. data/sig/x_twitter_scraper/resources/guest_wallets.rbs +25 -0
  433. data/sig/x_twitter_scraper/resources/monitors/keywords.rbs +36 -0
  434. data/sig/x_twitter_scraper/resources/monitors.rbs +2 -0
  435. data/sig/x_twitter_scraper/resources/radar.rbs +3 -2
  436. data/sig/x_twitter_scraper/resources/subscribe.rbs +1 -0
  437. data/sig/x_twitter_scraper/resources/webhooks.rbs +5 -0
  438. data/sig/x_twitter_scraper/resources/x/account_connection_challenges.rbs +15 -0
  439. data/sig/x_twitter_scraper/resources/x/accounts.rbs +1 -1
  440. data/sig/x_twitter_scraper/resources/x/communities/join.rbs +2 -2
  441. data/sig/x_twitter_scraper/resources/x/communities/tweets.rbs +4 -1
  442. data/sig/x_twitter_scraper/resources/x/communities.rbs +4 -1
  443. data/sig/x_twitter_scraper/resources/x/dm.rbs +1 -1
  444. data/sig/x_twitter_scraper/resources/x/lists.rbs +3 -0
  445. data/sig/x_twitter_scraper/resources/x/media.rbs +3 -2
  446. data/sig/x_twitter_scraper/resources/x/profile.rbs +2 -2
  447. data/sig/x_twitter_scraper/resources/x/tweets.rbs +88 -2
  448. data/sig/x_twitter_scraper/resources/x/users.rbs +151 -2
  449. data/sig/x_twitter_scraper/resources/x/write_actions.rbs +14 -0
  450. data/sig/x_twitter_scraper/resources/x.rbs +6 -0
  451. metadata +125 -82
  452. data/lib/x_twitter_scraper/models/api_key.rb +0 -47
  453. data/lib/x_twitter_scraper/models/api_key_create_params.rb +0 -20
  454. data/lib/x_twitter_scraper/models/api_key_create_response.rb +0 -40
  455. data/lib/x_twitter_scraper/models/api_key_list_params.rb +0 -14
  456. data/lib/x_twitter_scraper/models/api_key_list_response.rb +0 -16
  457. data/lib/x_twitter_scraper/models/api_key_revoke_response.rb +0 -16
  458. data/lib/x_twitter_scraper/models/integration.rb +0 -93
  459. data/lib/x_twitter_scraper/models/integration_create_params.rb +0 -58
  460. data/lib/x_twitter_scraper/models/integration_delete_params.rb +0 -20
  461. data/lib/x_twitter_scraper/models/integration_delete_response.rb +0 -16
  462. data/lib/x_twitter_scraper/models/integration_delivery.rb +0 -71
  463. data/lib/x_twitter_scraper/models/integration_list_deliveries_params.rb +0 -29
  464. data/lib/x_twitter_scraper/models/integration_list_deliveries_response.rb +0 -17
  465. data/lib/x_twitter_scraper/models/integration_list_response.rb +0 -16
  466. data/lib/x_twitter_scraper/models/integration_retrieve_params.rb +0 -20
  467. data/lib/x_twitter_scraper/models/integration_send_test_params.rb +0 -20
  468. data/lib/x_twitter_scraper/models/integration_send_test_response.rb +0 -16
  469. data/lib/x_twitter_scraper/models/integration_update_params.rb +0 -77
  470. data/lib/x_twitter_scraper/models/x/community_action_result.rb +0 -31
  471. data/lib/x_twitter_scraper/models/x/search_tweet.rb +0 -119
  472. data/lib/x_twitter_scraper/models/x/user_profile.rb +0 -80
  473. data/lib/x_twitter_scraper/resources/api_keys.rb +0 -77
  474. data/lib/x_twitter_scraper/resources/bot/platform_links.rb +0 -16
  475. data/lib/x_twitter_scraper/resources/bot.rb +0 -18
  476. data/lib/x_twitter_scraper/resources/integrations.rb +0 -182
  477. data/rbi/x_twitter_scraper/models/api_key.rbi +0 -69
  478. data/rbi/x_twitter_scraper/models/api_key_create_params.rbi +0 -41
  479. data/rbi/x_twitter_scraper/models/api_key_create_response.rbi +0 -56
  480. data/rbi/x_twitter_scraper/models/api_key_list_params.rbi +0 -32
  481. data/rbi/x_twitter_scraper/models/api_key_list_response.rbi +0 -30
  482. data/rbi/x_twitter_scraper/models/api_key_revoke_response.rbi +0 -26
  483. data/rbi/x_twitter_scraper/models/integration.rbi +0 -117
  484. data/rbi/x_twitter_scraper/models/integration_create_params.rbi +0 -95
  485. data/rbi/x_twitter_scraper/models/integration_delete_params.rbi +0 -38
  486. data/rbi/x_twitter_scraper/models/integration_delete_response.rbi +0 -26
  487. data/rbi/x_twitter_scraper/models/integration_delivery.rbi +0 -108
  488. data/rbi/x_twitter_scraper/models/integration_list_deliveries_response.rbi +0 -34
  489. data/rbi/x_twitter_scraper/models/integration_list_response.rbi +0 -34
  490. data/rbi/x_twitter_scraper/models/integration_send_test_params.rbi +0 -38
  491. data/rbi/x_twitter_scraper/models/integration_send_test_response.rbi +0 -26
  492. data/rbi/x_twitter_scraper/models/integration_update_params.rbi +0 -115
  493. data/rbi/x_twitter_scraper/models/x/community_action_result.rbi +0 -49
  494. data/rbi/x_twitter_scraper/models/x/search_tweet.rbi +0 -181
  495. data/rbi/x_twitter_scraper/models/x/user_profile.rbi +0 -125
  496. data/rbi/x_twitter_scraper/resources/api_keys.rbi +0 -46
  497. data/rbi/x_twitter_scraper/resources/bot/platform_links.rbi +0 -16
  498. data/rbi/x_twitter_scraper/resources/bot.rbi +0 -15
  499. data/rbi/x_twitter_scraper/resources/integrations.rbi +0 -133
  500. data/sig/x_twitter_scraper/models/api_key.rbs +0 -47
  501. data/sig/x_twitter_scraper/models/api_key_create_response.rbs +0 -40
  502. data/sig/x_twitter_scraper/models/api_key_list_response.rbs +0 -13
  503. data/sig/x_twitter_scraper/models/api_key_revoke_response.rbs +0 -13
  504. data/sig/x_twitter_scraper/models/integration.rbs +0 -78
  505. data/sig/x_twitter_scraper/models/integration_create_params.rbs +0 -51
  506. data/sig/x_twitter_scraper/models/integration_delete_params.rbs +0 -23
  507. data/sig/x_twitter_scraper/models/integration_delete_response.rbs +0 -13
  508. data/sig/x_twitter_scraper/models/integration_delivery.rbs +0 -75
  509. data/sig/x_twitter_scraper/models/integration_list_deliveries_response.rbs +0 -18
  510. data/sig/x_twitter_scraper/models/integration_list_params.rbs +0 -15
  511. data/sig/x_twitter_scraper/models/integration_list_response.rbs +0 -16
  512. data/sig/x_twitter_scraper/models/integration_retrieve_params.rbs +0 -23
  513. data/sig/x_twitter_scraper/models/integration_send_test_params.rbs +0 -23
  514. data/sig/x_twitter_scraper/models/integration_send_test_response.rbs +0 -13
  515. data/sig/x_twitter_scraper/models/integration_update_params.rbs +0 -77
  516. data/sig/x_twitter_scraper/models/x/community_action_result.rbs +0 -28
  517. data/sig/x_twitter_scraper/models/x/search_tweet.rbs +0 -121
  518. data/sig/x_twitter_scraper/models/x/user_profile.rbs +0 -88
  519. data/sig/x_twitter_scraper/resources/api_keys.rbs +0 -21
  520. data/sig/x_twitter_scraper/resources/bot/platform_links.rbs +0 -9
  521. data/sig/x_twitter_scraper/resources/bot.rbs +0 -9
  522. data/sig/x_twitter_scraper/resources/integrations.rbs +0 -52
@@ -0,0 +1,236 @@
1
+ # frozen_string_literal: true
2
+
3
+ module XTwitterScraper
4
+ module Models
5
+ class SearchTweet < XTwitterScraper::Internal::Type::BaseModel
6
+ # @!attribute id
7
+ #
8
+ # @return [String]
9
+ required :id, String
10
+
11
+ # @!attribute bookmark_count
12
+ #
13
+ # @return [Integer]
14
+ required :bookmark_count, Integer, api_name: :bookmarkCount
15
+
16
+ # @!attribute like_count
17
+ #
18
+ # @return [Integer]
19
+ required :like_count, Integer, api_name: :likeCount
20
+
21
+ # @!attribute quote_count
22
+ #
23
+ # @return [Integer]
24
+ required :quote_count, Integer, api_name: :quoteCount
25
+
26
+ # @!attribute reply_count
27
+ #
28
+ # @return [Integer]
29
+ required :reply_count, Integer, api_name: :replyCount
30
+
31
+ # @!attribute retweet_count
32
+ #
33
+ # @return [Integer]
34
+ required :retweet_count, Integer, api_name: :retweetCount
35
+
36
+ # @!attribute text
37
+ #
38
+ # @return [String]
39
+ required :text, String
40
+
41
+ # @!attribute view_count
42
+ #
43
+ # @return [Integer]
44
+ required :view_count, Integer, api_name: :viewCount
45
+
46
+ # @!attribute author
47
+ # X user profile with bio, follower counts, and verification status.
48
+ #
49
+ # @return [XTwitterScraper::Models::UserProfile, nil]
50
+ optional :author, -> { XTwitterScraper::UserProfile }
51
+
52
+ # @!attribute content_disclosure
53
+ # Content disclosure metadata shown by X when a tweet is labeled as paid
54
+ # partnership content or AI-generated media.
55
+ #
56
+ # @return [XTwitterScraper::Models::ContentDisclosure, nil]
57
+ optional :content_disclosure, -> { XTwitterScraper::ContentDisclosure }, api_name: :contentDisclosure
58
+
59
+ # @!attribute conversation_id
60
+ # Root tweet ID for the search result conversation
61
+ #
62
+ # @return [String, nil]
63
+ optional :conversation_id, String, api_name: :conversationId
64
+
65
+ # @!attribute created_at
66
+ #
67
+ # @return [String, nil]
68
+ optional :created_at, String, api_name: :createdAt
69
+
70
+ # @!attribute display_text_range
71
+ # Start and end offsets for rendered tweet text
72
+ #
73
+ # @return [Array<Integer>, nil]
74
+ optional :display_text_range,
75
+ XTwitterScraper::Internal::Type::ArrayOf[Integer],
76
+ api_name: :displayTextRange
77
+
78
+ # @!attribute entities
79
+ # Parsed search-result entities including URLs, mentions, hashtags, and media
80
+ # markers
81
+ #
82
+ # @return [Hash{Symbol=>Object}, nil]
83
+ optional :entities, XTwitterScraper::Internal::Type::HashOf[XTwitterScraper::Internal::Type::Unknown]
84
+
85
+ # @!attribute in_reply_to_id
86
+ # Tweet ID being replied to
87
+ #
88
+ # @return [String, nil]
89
+ optional :in_reply_to_id, String, api_name: :inReplyToId
90
+
91
+ # @!attribute in_reply_to_user_id
92
+ # User ID being replied to
93
+ #
94
+ # @return [String, nil]
95
+ optional :in_reply_to_user_id, String, api_name: :inReplyToUserId
96
+
97
+ # @!attribute in_reply_to_username
98
+ # Username being replied to
99
+ #
100
+ # @return [String, nil]
101
+ optional :in_reply_to_username, String, api_name: :inReplyToUsername
102
+
103
+ # @!attribute is_limited_reply
104
+ # Whether the tweet has limited reply permissions
105
+ #
106
+ # @return [Boolean, nil]
107
+ optional :is_limited_reply, XTwitterScraper::Internal::Type::Boolean, api_name: :isLimitedReply
108
+
109
+ # @!attribute is_note_tweet
110
+ # True for Note Tweets (long-form content, up to 25,000 characters)
111
+ #
112
+ # @return [Boolean, nil]
113
+ optional :is_note_tweet, XTwitterScraper::Internal::Type::Boolean, api_name: :isNoteTweet
114
+
115
+ # @!attribute is_quote_status
116
+ # True when this search result quotes another tweet
117
+ #
118
+ # @return [Boolean, nil]
119
+ optional :is_quote_status, XTwitterScraper::Internal::Type::Boolean, api_name: :isQuoteStatus
120
+
121
+ # @!attribute is_reply
122
+ # True when this search result is a reply
123
+ #
124
+ # @return [Boolean, nil]
125
+ optional :is_reply, XTwitterScraper::Internal::Type::Boolean, api_name: :isReply
126
+
127
+ # @!attribute lang
128
+ # Tweet language code
129
+ #
130
+ # @return [String, nil]
131
+ optional :lang, String
132
+
133
+ # @!attribute media
134
+ # Search-result media attachments, omitted when no media is present
135
+ #
136
+ # @return [Array<XTwitterScraper::Models::TweetMedia>, nil]
137
+ optional :media, -> { XTwitterScraper::Internal::Type::ArrayOf[XTwitterScraper::TweetMedia] }
138
+
139
+ # @!attribute quoted_tweet
140
+ # Quoted or retweeted tweet context. Every object includes id, text, and
141
+ # engagement metrics. A zero metric can mean X did not report the count. Author,
142
+ # media, and conversation fields appear when available.
143
+ #
144
+ # @return [XTwitterScraper::Models::EmbeddedTweet, nil]
145
+ optional :quoted_tweet, -> { XTwitterScraper::EmbeddedTweet }
146
+
147
+ # @!attribute retweeted_tweet
148
+ # Quoted or retweeted tweet context. Every object includes id, text, and
149
+ # engagement metrics. A zero metric can mean X did not report the count. Author,
150
+ # media, and conversation fields appear when available.
151
+ #
152
+ # @return [XTwitterScraper::Models::EmbeddedTweet, nil]
153
+ optional :retweeted_tweet, -> { XTwitterScraper::EmbeddedTweet }
154
+
155
+ # @!attribute source
156
+ # Client application used to post the tweet
157
+ #
158
+ # @return [String, nil]
159
+ optional :source, String
160
+
161
+ # @!attribute type
162
+ #
163
+ # @return [String, nil]
164
+ optional :type, String
165
+
166
+ # @!attribute url
167
+ # Tweet permalink URL
168
+ #
169
+ # @return [String, nil]
170
+ optional :url, String
171
+
172
+ # @!method initialize(id:, bookmark_count:, like_count:, quote_count:, reply_count:, retweet_count:, text:, view_count:, author: nil, content_disclosure: nil, conversation_id: nil, created_at: nil, display_text_range: nil, entities: nil, in_reply_to_id: nil, in_reply_to_user_id: nil, in_reply_to_username: nil, is_limited_reply: nil, is_note_tweet: nil, is_quote_status: nil, is_reply: nil, lang: nil, media: nil, quoted_tweet: nil, retweeted_tweet: nil, source: nil, type: nil, url: nil)
173
+ # Some parameter documentations has been truncated, see
174
+ # {XTwitterScraper::Models::SearchTweet} for more details.
175
+ #
176
+ # Tweet returned from search results with inline author info. A zero metric can
177
+ # mean X did not report the count.
178
+ #
179
+ # @param id [String]
180
+ #
181
+ # @param bookmark_count [Integer]
182
+ #
183
+ # @param like_count [Integer]
184
+ #
185
+ # @param quote_count [Integer]
186
+ #
187
+ # @param reply_count [Integer]
188
+ #
189
+ # @param retweet_count [Integer]
190
+ #
191
+ # @param text [String]
192
+ #
193
+ # @param view_count [Integer]
194
+ #
195
+ # @param author [XTwitterScraper::Models::UserProfile] X user profile with bio, follower counts, and verification status.
196
+ #
197
+ # @param content_disclosure [XTwitterScraper::Models::ContentDisclosure] Content disclosure metadata shown by X when a tweet is labeled as paid partnersh
198
+ #
199
+ # @param conversation_id [String] Root tweet ID for the search result conversation
200
+ #
201
+ # @param created_at [String]
202
+ #
203
+ # @param display_text_range [Array<Integer>] Start and end offsets for rendered tweet text
204
+ #
205
+ # @param entities [Hash{Symbol=>Object}] Parsed search-result entities including URLs, mentions, hashtags, and media mark
206
+ #
207
+ # @param in_reply_to_id [String] Tweet ID being replied to
208
+ #
209
+ # @param in_reply_to_user_id [String] User ID being replied to
210
+ #
211
+ # @param in_reply_to_username [String] Username being replied to
212
+ #
213
+ # @param is_limited_reply [Boolean] Whether the tweet has limited reply permissions
214
+ #
215
+ # @param is_note_tweet [Boolean] True for Note Tweets (long-form content, up to 25,000 characters)
216
+ #
217
+ # @param is_quote_status [Boolean] True when this search result quotes another tweet
218
+ #
219
+ # @param is_reply [Boolean] True when this search result is a reply
220
+ #
221
+ # @param lang [String] Tweet language code
222
+ #
223
+ # @param media [Array<XTwitterScraper::Models::TweetMedia>] Search-result media attachments, omitted when no media is present
224
+ #
225
+ # @param quoted_tweet [XTwitterScraper::Models::EmbeddedTweet] Quoted or retweeted tweet context. Every object includes id, text, and engagemen
226
+ #
227
+ # @param retweeted_tweet [XTwitterScraper::Models::EmbeddedTweet] Quoted or retweeted tweet context. Every object includes id, text, and engagemen
228
+ #
229
+ # @param source [String] Client application used to post the tweet
230
+ #
231
+ # @param type [String]
232
+ #
233
+ # @param url [String] Tweet permalink URL
234
+ end
235
+ end
236
+ end
@@ -7,8 +7,28 @@ module XTwitterScraper
7
7
  extend XTwitterScraper::Internal::Type::RequestParameters::Converter
8
8
  include XTwitterScraper::Internal::Type::RequestParameters
9
9
 
10
- # @!method initialize(request_options: {})
10
+ # @!attribute tier
11
+ # Subscription tier to pre-select.
12
+ #
13
+ # @return [Symbol, XTwitterScraper::Models::SubscribeCreateParams::Tier, nil]
14
+ optional :tier, enum: -> { XTwitterScraper::SubscribeCreateParams::Tier }
15
+
16
+ # @!method initialize(tier: nil, request_options: {})
17
+ # @param tier [Symbol, XTwitterScraper::Models::SubscribeCreateParams::Tier] Subscription tier to pre-select.
18
+ #
11
19
  # @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}]
20
+
21
+ # Subscription tier to pre-select.
22
+ module Tier
23
+ extend XTwitterScraper::Internal::Type::Enum
24
+
25
+ STARTER = :starter
26
+ PRO = :pro
27
+ BUSINESS = :business
28
+
29
+ # @!method self.values
30
+ # @return [Array<Symbol>]
31
+ end
12
32
  end
13
33
  end
14
34
  end
@@ -4,25 +4,25 @@ module XTwitterScraper
4
4
  module Models
5
5
  # @see XTwitterScraper::Resources::Subscribe#create
6
6
  class SubscribeCreateResponse < XTwitterScraper::Internal::Type::BaseModel
7
- # @!attribute url
7
+ # @!attribute message
8
8
  #
9
9
  # @return [String]
10
- required :url, String
10
+ required :message, String
11
11
 
12
- # @!attribute message
12
+ # @!attribute status
13
13
  #
14
- # @return [String, nil]
15
- optional :message, String
14
+ # @return [Symbol, XTwitterScraper::Models::SubscribeCreateResponse::Status]
15
+ required :status, enum: -> { XTwitterScraper::Models::SubscribeCreateResponse::Status }
16
16
 
17
- # @!attribute status
17
+ # @!attribute url
18
18
  #
19
- # @return [Symbol, XTwitterScraper::Models::SubscribeCreateResponse::Status, nil]
20
- optional :status, enum: -> { XTwitterScraper::Models::SubscribeCreateResponse::Status }
19
+ # @return [String]
20
+ required :url, String
21
21
 
22
- # @!method initialize(url:, message: nil, status: nil)
23
- # @param url [String]
22
+ # @!method initialize(message:, status:, url:)
24
23
  # @param message [String]
25
24
  # @param status [Symbol, XTwitterScraper::Models::SubscribeCreateResponse::Status]
25
+ # @param url [String]
26
26
 
27
27
  # @see XTwitterScraper::Models::SubscribeCreateResponse#status
28
28
  module Status
@@ -8,21 +8,24 @@ module XTwitterScraper
8
8
  include XTwitterScraper::Internal::Type::RequestParameters
9
9
 
10
10
  # @!attribute count
11
- # Number of trending topics to return (1-50, default 30)
11
+ # Number of trending topics returned (1-50, default 30)
12
12
  #
13
13
  # @return [Integer, nil]
14
14
  optional :count, Integer
15
15
 
16
16
  # @!attribute woeid
17
- # Region WOEID (1=Worldwide, 23424977=US, 23424975=UK, 23424969=Turkey)
17
+ # Region Yahoo WOEID code (1=Worldwide, 23424977=US, 23424975=UK, 23424969=Turkey)
18
18
  #
19
19
  # @return [Integer, nil]
20
20
  optional :woeid, Integer
21
21
 
22
22
  # @!method initialize(count: nil, woeid: nil, request_options: {})
23
- # @param count [Integer] Number of trending topics to return (1-50, default 30)
23
+ # Some parameter documentations has been truncated, see
24
+ # {XTwitterScraper::Models::TrendListParams} for more details.
24
25
  #
25
- # @param woeid [Integer] Region WOEID (1=Worldwide, 23424977=US, 23424975=UK, 23424969=Turkey)
26
+ # @param count [Integer] Number of trending topics returned (1-50, default 30)
27
+ #
28
+ # @param woeid [Integer] Region Yahoo WOEID code (1=Worldwide, 23424977=US, 23424975=UK, 23424969=Turkey)
26
29
  #
27
30
  # @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}]
28
31
  end
@@ -0,0 +1,77 @@
1
+ # frozen_string_literal: true
2
+
3
+ module XTwitterScraper
4
+ module Models
5
+ class TweetMedia < XTwitterScraper::Internal::Type::BaseModel
6
+ # @!attribute media_url
7
+ # Media preview URL
8
+ #
9
+ # @return [String]
10
+ required :media_url, String, api_name: :mediaUrl
11
+
12
+ # @!attribute type
13
+ #
14
+ # @return [Symbol, XTwitterScraper::Models::TweetMedia::Type]
15
+ required :type, enum: -> { XTwitterScraper::TweetMedia::Type }
16
+
17
+ # @!attribute url
18
+ # X media link from the tweet
19
+ #
20
+ # @return [String]
21
+ required :url, String
22
+
23
+ # @!attribute video_variants
24
+ # Available video encodings, ordered as returned
25
+ #
26
+ # @return [Array<XTwitterScraper::Models::TweetMedia::VideoVariant>, nil]
27
+ optional :video_variants,
28
+ -> { XTwitterScraper::Internal::Type::ArrayOf[XTwitterScraper::TweetMedia::VideoVariant] },
29
+ api_name: :videoVariants
30
+
31
+ # @!method initialize(media_url:, type:, url:, video_variants: nil)
32
+ # Normalized media attached to a tweet.
33
+ #
34
+ # @param media_url [String] Media preview URL
35
+ #
36
+ # @param type [Symbol, XTwitterScraper::Models::TweetMedia::Type]
37
+ #
38
+ # @param url [String] X media link from the tweet
39
+ #
40
+ # @param video_variants [Array<XTwitterScraper::Models::TweetMedia::VideoVariant>] Available video encodings, ordered as returned
41
+
42
+ # @see XTwitterScraper::Models::TweetMedia#type
43
+ module Type
44
+ extend XTwitterScraper::Internal::Type::Enum
45
+
46
+ PHOTO = :photo
47
+ VIDEO = :video
48
+ ANIMATED_GIF = :animated_gif
49
+
50
+ # @!method self.values
51
+ # @return [Array<Symbol>]
52
+ end
53
+
54
+ class VideoVariant < XTwitterScraper::Internal::Type::BaseModel
55
+ # @!attribute content_type
56
+ #
57
+ # @return [String]
58
+ required :content_type, String, api_name: :contentType
59
+
60
+ # @!attribute url
61
+ #
62
+ # @return [String]
63
+ required :url, String
64
+
65
+ # @!attribute bitrate
66
+ #
67
+ # @return [Integer, nil]
68
+ optional :bitrate, Integer
69
+
70
+ # @!method initialize(content_type:, url:, bitrate: nil)
71
+ # @param content_type [String]
72
+ # @param url [String]
73
+ # @param bitrate [Integer]
74
+ end
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,258 @@
1
+ # frozen_string_literal: true
2
+
3
+ module XTwitterScraper
4
+ module Models
5
+ class UserProfile < XTwitterScraper::Internal::Type::BaseModel
6
+ # @!attribute id
7
+ #
8
+ # @return [String]
9
+ required :id, String
10
+
11
+ # @!attribute name
12
+ #
13
+ # @return [String]
14
+ required :name, String
15
+
16
+ # @!attribute username
17
+ #
18
+ # @return [String]
19
+ required :username, String
20
+
21
+ # @!attribute automated_by
22
+ #
23
+ # @return [String, nil]
24
+ optional :automated_by, String, api_name: :automatedBy
25
+
26
+ # @!attribute can_dm
27
+ #
28
+ # @return [Boolean, nil]
29
+ optional :can_dm, XTwitterScraper::Internal::Type::Boolean, api_name: :canDm
30
+
31
+ # @!attribute community_role
32
+ # Community role when returned by community member reads
33
+ #
34
+ # @return [String, nil]
35
+ optional :community_role, String, api_name: :communityRole
36
+
37
+ # @!attribute cover_picture
38
+ #
39
+ # @return [String, nil]
40
+ optional :cover_picture, String, api_name: :coverPicture
41
+
42
+ # @!attribute created_at
43
+ #
44
+ # @return [String, nil]
45
+ optional :created_at, String, api_name: :createdAt
46
+
47
+ # @!attribute description
48
+ #
49
+ # @return [String, nil]
50
+ optional :description, String
51
+
52
+ # @!attribute favourites_count
53
+ #
54
+ # @return [Integer, nil]
55
+ optional :favourites_count, Integer, api_name: :favouritesCount
56
+
57
+ # @!attribute followers
58
+ #
59
+ # @return [Integer, nil]
60
+ optional :followers, Integer
61
+
62
+ # @!attribute following
63
+ #
64
+ # @return [Integer, nil]
65
+ optional :following, Integer
66
+
67
+ # @!attribute has_custom_timelines
68
+ #
69
+ # @return [Boolean, nil]
70
+ optional :has_custom_timelines, XTwitterScraper::Internal::Type::Boolean, api_name: :hasCustomTimelines
71
+
72
+ # @!attribute is_automated
73
+ #
74
+ # @return [Boolean, nil]
75
+ optional :is_automated, XTwitterScraper::Internal::Type::Boolean, api_name: :isAutomated
76
+
77
+ # @!attribute is_blue_verified
78
+ # Whether X shows a blue verification badge
79
+ #
80
+ # @return [Boolean, nil]
81
+ optional :is_blue_verified, XTwitterScraper::Internal::Type::Boolean, api_name: :isBlueVerified
82
+
83
+ # @!attribute is_translator
84
+ #
85
+ # @return [Boolean, nil]
86
+ optional :is_translator, XTwitterScraper::Internal::Type::Boolean, api_name: :isTranslator
87
+
88
+ # @!attribute is_verified
89
+ # Whether X marks the profile as verified
90
+ #
91
+ # @return [Boolean, nil]
92
+ optional :is_verified, XTwitterScraper::Internal::Type::Boolean, api_name: :isVerified
93
+
94
+ # @!attribute location
95
+ #
96
+ # @return [String, nil]
97
+ optional :location, String
98
+
99
+ # @!attribute media_count
100
+ #
101
+ # @return [Integer, nil]
102
+ optional :media_count, Integer, api_name: :mediaCount
103
+
104
+ # @!attribute pinned_tweet_ids
105
+ #
106
+ # @return [Array<String>, nil]
107
+ optional :pinned_tweet_ids, XTwitterScraper::Internal::Type::ArrayOf[String], api_name: :pinnedTweetIds
108
+
109
+ # @!attribute possibly_sensitive
110
+ #
111
+ # @return [Boolean, nil]
112
+ optional :possibly_sensitive, XTwitterScraper::Internal::Type::Boolean, api_name: :possiblySensitive
113
+
114
+ # @!attribute profile_bio
115
+ # Structured profile bio with entity annotations
116
+ #
117
+ # @return [Hash{Symbol=>Object}, nil]
118
+ optional :profile_bio, XTwitterScraper::Internal::Type::HashOf[XTwitterScraper::Internal::Type::Unknown]
119
+
120
+ # @!attribute profile_banner_url
121
+ # Original X profile banner field when available
122
+ #
123
+ # @return [String, nil]
124
+ optional :profile_banner_url, String, api_name: :profileBannerUrl
125
+
126
+ # @!attribute profile_picture
127
+ #
128
+ # @return [String, nil]
129
+ optional :profile_picture, String, api_name: :profilePicture
130
+
131
+ # @!attribute protected
132
+ # Whether the profile protects its posts
133
+ #
134
+ # @return [Boolean, nil]
135
+ optional :protected, XTwitterScraper::Internal::Type::Boolean
136
+
137
+ # @!attribute statuses_count
138
+ #
139
+ # @return [Integer, nil]
140
+ optional :statuses_count, Integer, api_name: :statusesCount
141
+
142
+ # @!attribute unavailable
143
+ #
144
+ # @return [Boolean, nil]
145
+ optional :unavailable, XTwitterScraper::Internal::Type::Boolean
146
+
147
+ # @!attribute unavailable_reason
148
+ #
149
+ # @return [String, nil]
150
+ optional :unavailable_reason, String, api_name: :unavailableReason
151
+
152
+ # @!attribute url
153
+ #
154
+ # @return [String, nil]
155
+ optional :url, String
156
+
157
+ # @!attribute verified
158
+ #
159
+ # @return [Boolean, nil]
160
+ optional :verified, XTwitterScraper::Internal::Type::Boolean
161
+
162
+ # @!attribute verified_type
163
+ #
164
+ # @return [String, nil]
165
+ optional :verified_type, String, api_name: :verifiedType
166
+
167
+ # @!attribute viewer_followed_by
168
+ # Whether this profile follows the authenticated viewer
169
+ #
170
+ # @return [Boolean, nil]
171
+ optional :viewer_followed_by, XTwitterScraper::Internal::Type::Boolean, api_name: :viewerFollowedBy
172
+
173
+ # @!attribute viewer_following
174
+ # Whether the authenticated viewer follows this profile
175
+ #
176
+ # @return [Boolean, nil]
177
+ optional :viewer_following, XTwitterScraper::Internal::Type::Boolean, api_name: :viewerFollowing
178
+
179
+ # @!attribute withheld_in_countries
180
+ #
181
+ # @return [Array<String>, nil]
182
+ optional :withheld_in_countries,
183
+ XTwitterScraper::Internal::Type::ArrayOf[String],
184
+ api_name: :withheldInCountries
185
+
186
+ # @!method initialize(id:, name:, username:, automated_by: nil, can_dm: nil, community_role: nil, cover_picture: nil, created_at: nil, description: nil, favourites_count: nil, followers: nil, following: nil, has_custom_timelines: nil, is_automated: nil, is_blue_verified: nil, is_translator: nil, is_verified: nil, location: nil, media_count: nil, pinned_tweet_ids: nil, possibly_sensitive: nil, profile_bio: nil, profile_banner_url: nil, profile_picture: nil, protected: nil, statuses_count: nil, unavailable: nil, unavailable_reason: nil, url: nil, verified: nil, verified_type: nil, viewer_followed_by: nil, viewer_following: nil, withheld_in_countries: nil)
187
+ # X user profile with bio, follower counts, and verification status.
188
+ #
189
+ # @param id [String]
190
+ #
191
+ # @param name [String]
192
+ #
193
+ # @param username [String]
194
+ #
195
+ # @param automated_by [String]
196
+ #
197
+ # @param can_dm [Boolean]
198
+ #
199
+ # @param community_role [String] Community role when returned by community member reads
200
+ #
201
+ # @param cover_picture [String]
202
+ #
203
+ # @param created_at [String]
204
+ #
205
+ # @param description [String]
206
+ #
207
+ # @param favourites_count [Integer]
208
+ #
209
+ # @param followers [Integer]
210
+ #
211
+ # @param following [Integer]
212
+ #
213
+ # @param has_custom_timelines [Boolean]
214
+ #
215
+ # @param is_automated [Boolean]
216
+ #
217
+ # @param is_blue_verified [Boolean] Whether X shows a blue verification badge
218
+ #
219
+ # @param is_translator [Boolean]
220
+ #
221
+ # @param is_verified [Boolean] Whether X marks the profile as verified
222
+ #
223
+ # @param location [String]
224
+ #
225
+ # @param media_count [Integer]
226
+ #
227
+ # @param pinned_tweet_ids [Array<String>]
228
+ #
229
+ # @param possibly_sensitive [Boolean]
230
+ #
231
+ # @param profile_bio [Hash{Symbol=>Object}] Structured profile bio with entity annotations
232
+ #
233
+ # @param profile_banner_url [String] Original X profile banner field when available
234
+ #
235
+ # @param profile_picture [String]
236
+ #
237
+ # @param protected [Boolean] Whether the profile protects its posts
238
+ #
239
+ # @param statuses_count [Integer]
240
+ #
241
+ # @param unavailable [Boolean]
242
+ #
243
+ # @param unavailable_reason [String]
244
+ #
245
+ # @param url [String]
246
+ #
247
+ # @param verified [Boolean]
248
+ #
249
+ # @param verified_type [String]
250
+ #
251
+ # @param viewer_followed_by [Boolean] Whether this profile follows the authenticated viewer
252
+ #
253
+ # @param viewer_following [Boolean] Whether the authenticated viewer follows this profile
254
+ #
255
+ # @param withheld_in_countries [Array<String>]
256
+ end
257
+ end
258
+ end