x-twitter-scraper 0.4.2 → 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 +23 -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 +141 -84
  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
@@ -34,12 +34,35 @@ module XTwitterScraper
34
34
  # @return [String, nil]
35
35
  optional :created_at, String
36
36
 
37
+ # @!attribute creator
38
+ #
39
+ # @return [XTwitterScraper::Models::X::CommunityRetrieveInfoResponse::Community::Creator, nil]
40
+ optional :creator, -> { XTwitterScraper::Models::X::CommunityRetrieveInfoResponse::Community::Creator }
41
+
37
42
  # @!attribute description
38
43
  # About text for the community
39
44
  #
40
45
  # @return [String, nil]
41
46
  optional :description, String
42
47
 
48
+ # @!attribute invites_policy
49
+ # Invitation policy
50
+ #
51
+ # @return [String, nil]
52
+ optional :invites_policy, String
53
+
54
+ # @!attribute is_member
55
+ # Whether the authenticated viewer is a member
56
+ #
57
+ # @return [Boolean, nil]
58
+ optional :is_member, XTwitterScraper::Internal::Type::Boolean
59
+
60
+ # @!attribute is_nsfw
61
+ # Whether the community is marked sensitive
62
+ #
63
+ # @return [Boolean, nil]
64
+ optional :is_nsfw, XTwitterScraper::Internal::Type::Boolean
65
+
43
66
  # @!attribute join_policy
44
67
  # Join policy (open or restricted)
45
68
  #
@@ -71,6 +94,12 @@ module XTwitterScraper
71
94
  optional :primary_topic,
72
95
  -> { XTwitterScraper::Models::X::CommunityRetrieveInfoResponse::Community::PrimaryTopic }
73
96
 
97
+ # @!attribute role
98
+ # Authenticated viewer's community role
99
+ #
100
+ # @return [String, nil]
101
+ optional :role, String
102
+
74
103
  # @!attribute rules
75
104
  # Community rules
76
105
  #
@@ -78,7 +107,7 @@ module XTwitterScraper
78
107
  optional :rules,
79
108
  -> { XTwitterScraper::Internal::Type::ArrayOf[XTwitterScraper::Models::X::CommunityRetrieveInfoResponse::Community::Rule] }
80
109
 
81
- # @!method initialize(id:, banner_url: nil, created_at: nil, description: nil, join_policy: nil, member_count: nil, moderator_count: nil, name: nil, primary_topic: nil, rules: nil)
110
+ # @!method initialize(id:, banner_url: nil, created_at: nil, creator: nil, description: nil, invites_policy: nil, is_member: nil, is_nsfw: nil, join_policy: nil, member_count: nil, moderator_count: nil, name: nil, primary_topic: nil, role: nil, rules: nil)
82
111
  # Community info object
83
112
  #
84
113
  # @param id [String] Unique community identifier
@@ -87,8 +116,16 @@ module XTwitterScraper
87
116
  #
88
117
  # @param created_at [String] Community creation timestamp
89
118
  #
119
+ # @param creator [XTwitterScraper::Models::X::CommunityRetrieveInfoResponse::Community::Creator]
120
+ #
90
121
  # @param description [String] About text for the community
91
122
  #
123
+ # @param invites_policy [String] Invitation policy
124
+ #
125
+ # @param is_member [Boolean] Whether the authenticated viewer is a member
126
+ #
127
+ # @param is_nsfw [Boolean] Whether the community is marked sensitive
128
+ #
92
129
  # @param join_policy [String] Join policy (open or restricted)
93
130
  #
94
131
  # @param member_count [Integer] Total member count
@@ -99,8 +136,39 @@ module XTwitterScraper
99
136
  #
100
137
  # @param primary_topic [XTwitterScraper::Models::X::CommunityRetrieveInfoResponse::Community::PrimaryTopic] Primary topic
101
138
  #
139
+ # @param role [String] Authenticated viewer's community role
140
+ #
102
141
  # @param rules [Array<XTwitterScraper::Models::X::CommunityRetrieveInfoResponse::Community::Rule>] Community rules
103
142
 
143
+ # @see XTwitterScraper::Models::X::CommunityRetrieveInfoResponse::Community#creator
144
+ class Creator < XTwitterScraper::Internal::Type::BaseModel
145
+ # @!attribute id
146
+ #
147
+ # @return [String]
148
+ required :id, String
149
+
150
+ # @!attribute username
151
+ #
152
+ # @return [String]
153
+ required :username, String
154
+
155
+ # @!attribute verified
156
+ #
157
+ # @return [Boolean]
158
+ required :verified, XTwitterScraper::Internal::Type::Boolean
159
+
160
+ # @!attribute name
161
+ #
162
+ # @return [String, nil]
163
+ optional :name, String
164
+
165
+ # @!method initialize(id:, username:, verified:, name: nil)
166
+ # @param id [String]
167
+ # @param username [String]
168
+ # @param verified [Boolean]
169
+ # @param name [String]
170
+ end
171
+
104
172
  # @see XTwitterScraper::Models::X::CommunityRetrieveInfoResponse::Community#primary_topic
105
173
  class PrimaryTopic < XTwitterScraper::Internal::Type::BaseModel
106
174
  # @!attribute id
@@ -19,11 +19,24 @@ module XTwitterScraper
19
19
  # @return [String, nil]
20
20
  optional :cursor, String
21
21
 
22
- # @!method initialize(id:, cursor: nil, request_options: {})
22
+ # @!attribute page_size
23
+ # Items per page (20-200, default 20). This is an upper bound for paid
24
+ # authenticated calls: remaining credits can reduce the returned page size, and
25
+ # zero affordable results returns 402 insufficient_credits.
26
+ #
27
+ # @return [Integer, nil]
28
+ optional :page_size, Integer
29
+
30
+ # @!method initialize(id:, cursor: nil, page_size: nil, request_options: {})
31
+ # Some parameter documentations has been truncated, see
32
+ # {XTwitterScraper::Models::X::CommunityRetrieveMembersParams} for more details.
33
+ #
23
34
  # @param id [String]
24
35
  #
25
36
  # @param cursor [String] Pagination cursor
26
37
  #
38
+ # @param page_size [Integer] Items per page (20-200, default 20). This is an upper bound for paid authenticat
39
+ #
27
40
  # @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}]
28
41
  end
29
42
  end
@@ -8,6 +8,12 @@ module XTwitterScraper
8
8
  extend XTwitterScraper::Internal::Type::RequestParameters::Converter
9
9
  include XTwitterScraper::Internal::Type::RequestParameters
10
10
 
11
+ # @!attribute community_id
12
+ # Numeric ID of the community whose posts to search
13
+ #
14
+ # @return [String]
15
+ required :community_id, String
16
+
11
17
  # @!attribute q
12
18
  # Search query
13
19
  #
@@ -20,20 +26,48 @@ module XTwitterScraper
20
26
  # @return [String, nil]
21
27
  optional :cursor, String
22
28
 
29
+ # @!attribute page_size
30
+ # Maximum items requested from this page (1-100, default 20). The response can
31
+ # contain fewer items because the source returned fewer, filters removed items, or
32
+ # remaining credits cover fewer results. Keep requesting next_cursor while
33
+ # has_next_page is true, even when a page is empty. The deprecated limit and count
34
+ # aliases remain accepted.
35
+ #
36
+ # @return [Integer, nil]
37
+ optional :page_size, Integer
38
+
23
39
  # @!attribute query_type
24
40
  # Sort order (Latest or Top)
25
41
  #
26
- # @return [String, nil]
27
- optional :query_type, String
42
+ # @return [Symbol, XTwitterScraper::Models::X::CommunityRetrieveSearchParams::QueryType, nil]
43
+ optional :query_type, enum: -> { XTwitterScraper::X::CommunityRetrieveSearchParams::QueryType }
28
44
 
29
- # @!method initialize(q:, cursor: nil, query_type: nil, request_options: {})
45
+ # @!method initialize(community_id:, q:, cursor: nil, page_size: nil, query_type: nil, request_options: {})
46
+ # Some parameter documentations has been truncated, see
47
+ # {XTwitterScraper::Models::X::CommunityRetrieveSearchParams} for more details.
48
+ #
49
+ # @param community_id [String] Numeric ID of the community whose posts to search
50
+ #
30
51
  # @param q [String] Search query
31
52
  #
32
53
  # @param cursor [String] Pagination cursor for community search
33
54
  #
34
- # @param query_type [String] Sort order (Latest or Top)
55
+ # @param page_size [Integer] Maximum items requested from this page (1-100, default 20). The response can con
56
+ #
57
+ # @param query_type [Symbol, XTwitterScraper::Models::X::CommunityRetrieveSearchParams::QueryType] Sort order (Latest or Top)
35
58
  #
36
59
  # @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}]
60
+
61
+ # Sort order (Latest or Top)
62
+ module QueryType
63
+ extend XTwitterScraper::Internal::Type::Enum
64
+
65
+ LATEST = :Latest
66
+ TOP = :Top
67
+
68
+ # @!method self.values
69
+ # @return [Array<Symbol>]
70
+ end
37
71
  end
38
72
  end
39
73
  end
@@ -13,6 +13,13 @@ module XTwitterScraper
13
13
  # @return [String]
14
14
  required :user_id, String
15
15
 
16
+ # @!attribute account
17
+ # X handle (without the `@` prefix) of the connected X account used to read the
18
+ # conversation. The account must be a participant in the conversation.
19
+ #
20
+ # @return [String]
21
+ required :account, String
22
+
16
23
  # @!attribute cursor
17
24
  # Pagination cursor for DM history
18
25
  #
@@ -25,9 +32,14 @@ module XTwitterScraper
25
32
  # @return [String, nil]
26
33
  optional :max_id, String
27
34
 
28
- # @!method initialize(user_id:, cursor: nil, max_id: nil, request_options: {})
35
+ # @!method initialize(user_id:, account:, cursor: nil, max_id: nil, request_options: {})
36
+ # Some parameter documentations has been truncated, see
37
+ # {XTwitterScraper::Models::X::DmRetrieveHistoryParams} for more details.
38
+ #
29
39
  # @param user_id [String]
30
40
  #
41
+ # @param account [String] X handle (without the `@` prefix) of the connected X account used to read the co
42
+ #
31
43
  # @param cursor [String] Pagination cursor for DM history
32
44
  #
33
45
  # @param max_id [String] Legacy pagination cursor (backward compat)
@@ -32,31 +32,48 @@ module XTwitterScraper
32
32
  # @return [String]
33
33
  required :id, String
34
34
 
35
- # @!attribute created_at
35
+ # @!attribute receiver_id
36
36
  #
37
- # @return [String, nil]
38
- optional :created_at, String, api_name: :createdAt
37
+ # @return [String]
38
+ required :receiver_id, String, api_name: :receiverId
39
39
 
40
- # @!attribute receiver_id
40
+ # @!attribute sender_id
41
+ #
42
+ # @return [String]
43
+ required :sender_id, String, api_name: :senderId
44
+
45
+ # @!attribute created_at
41
46
  #
42
47
  # @return [String, nil]
43
- optional :receiver_id, String, api_name: :receiverId
48
+ optional :created_at, String, api_name: :createdAt
44
49
 
45
- # @!attribute sender_id
50
+ # @!attribute media_url
51
+ # URL of attached media (image, GIF, or video). Omitted when the message has no
52
+ # media attachment.
46
53
  #
47
54
  # @return [String, nil]
48
- optional :sender_id, String, api_name: :senderId
55
+ optional :media_url, String, api_name: :mediaUrl
49
56
 
50
57
  # @!attribute text
51
58
  #
52
59
  # @return [String, nil]
53
60
  optional :text, String
54
61
 
55
- # @!method initialize(id:, created_at: nil, receiver_id: nil, sender_id: nil, text: nil)
62
+ # @!method initialize(id:, receiver_id:, sender_id:, created_at: nil, media_url: nil, text: nil)
63
+ # Some parameter documentations has been truncated, see
64
+ # {XTwitterScraper::Models::X::DmRetrieveHistoryResponse::Message} for more
65
+ # details.
66
+ #
56
67
  # @param id [String]
57
- # @param created_at [String]
68
+ #
58
69
  # @param receiver_id [String]
70
+ #
59
71
  # @param sender_id [String]
72
+ #
73
+ # @param created_at [String]
74
+ #
75
+ # @param media_url [String] URL of attached media (image, GIF, or video). Omitted when the message has no me
76
+ #
60
77
  # @param text [String]
61
78
  end
62
79
  end
@@ -25,25 +25,19 @@ module XTwitterScraper
25
25
  required :text, String
26
26
 
27
27
  # @!attribute media_ids
28
+ # Optional array containing exactly 1 uploaded media ID.
28
29
  #
29
30
  # @return [Array<String>, nil]
30
31
  optional :media_ids, XTwitterScraper::Internal::Type::ArrayOf[String]
31
32
 
32
- # @!attribute reply_to_message_id
33
- #
34
- # @return [String, nil]
35
- optional :reply_to_message_id, String
36
-
37
- # @!method initialize(user_id:, account:, text:, media_ids: nil, reply_to_message_id: nil, request_options: {})
33
+ # @!method initialize(user_id:, account:, text:, media_ids: nil, request_options: {})
38
34
  # @param user_id [String]
39
35
  #
40
36
  # @param account [String] X account (@username or ID) sending the DM
41
37
  #
42
38
  # @param text [String]
43
39
  #
44
- # @param media_ids [Array<String>]
45
- #
46
- # @param reply_to_message_id [String]
40
+ # @param media_ids [Array<String>] Optional array containing exactly 1 uploaded media ID.
47
41
  #
48
42
  # @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}]
49
43
  end
@@ -9,21 +9,21 @@ module XTwitterScraper
9
9
  include XTwitterScraper::Internal::Type::RequestParameters
10
10
 
11
11
  # @!attribute source
12
- # Username to check (without @)
12
+ # Source username, @username, or X or Twitter profile URL
13
13
  #
14
14
  # @return [String]
15
15
  required :source, String
16
16
 
17
17
  # @!attribute target
18
- # Target username (without @)
18
+ # Target username, @username, or X or Twitter profile URL
19
19
  #
20
20
  # @return [String]
21
21
  required :target, String
22
22
 
23
23
  # @!method initialize(source:, target:, request_options: {})
24
- # @param source [String] Username to check (without @)
24
+ # @param source [String] Source username, @username, or X or Twitter profile URL
25
25
  #
26
- # @param target [String] Target username (without @)
26
+ # @param target [String] Target username, @username, or X or Twitter profile URL
27
27
  #
28
28
  # @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}]
29
29
  end
@@ -19,11 +19,25 @@ module XTwitterScraper
19
19
  # @return [String, nil]
20
20
  optional :cursor, String
21
21
 
22
- # @!method initialize(id:, cursor: nil, request_options: {})
22
+ # @!attribute page_size
23
+ # Maximum user profiles requested from this page (20-200, default 200). The
24
+ # response can contain fewer profiles because the source returned fewer or
25
+ # remaining credits cover fewer results. Keep requesting next_cursor while
26
+ # has_next_page is true. The deprecated limit and count aliases remain accepted.
27
+ #
28
+ # @return [Integer, nil]
29
+ optional :page_size, Integer
30
+
31
+ # @!method initialize(id:, cursor: nil, page_size: nil, request_options: {})
32
+ # Some parameter documentations has been truncated, see
33
+ # {XTwitterScraper::Models::X::ListRetrieveFollowersParams} for more details.
34
+ #
23
35
  # @param id [String]
24
36
  #
25
37
  # @param cursor [String] Pagination cursor for list followers
26
38
  #
39
+ # @param page_size [Integer] Maximum user profiles requested from this page (20-200, default 200). The respon
40
+ #
27
41
  # @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}]
28
42
  end
29
43
  end
@@ -19,11 +19,19 @@ module XTwitterScraper
19
19
  # @return [String, nil]
20
20
  optional :cursor, String
21
21
 
22
- # @!method initialize(id:, cursor: nil, request_options: {})
22
+ # @!attribute page_size
23
+ # Members per page (20-200, default 20)
24
+ #
25
+ # @return [Integer, nil]
26
+ optional :page_size, Integer
27
+
28
+ # @!method initialize(id:, cursor: nil, page_size: nil, request_options: {})
23
29
  # @param id [String]
24
30
  #
25
31
  # @param cursor [String] Pagination cursor for list members
26
32
  #
33
+ # @param page_size [Integer] Members per page (20-200, default 20)
34
+ #
27
35
  # @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}]
28
36
  end
29
37
  end
@@ -25,6 +25,16 @@ module XTwitterScraper
25
25
  # @return [Boolean, nil]
26
26
  optional :include_replies, XTwitterScraper::Internal::Type::Boolean
27
27
 
28
+ # @!attribute page_size
29
+ # Maximum items requested from this page (1-100, default 20). The response can
30
+ # contain fewer items because the source returned fewer, filters removed items, or
31
+ # remaining credits cover fewer results. Keep requesting next_cursor while
32
+ # has_next_page is true, even when a page is empty. The deprecated limit and count
33
+ # aliases remain accepted.
34
+ #
35
+ # @return [Integer, nil]
36
+ optional :page_size, Integer
37
+
28
38
  # @!attribute since_time
29
39
  # Unix timestamp - filter after
30
40
  #
@@ -37,13 +47,18 @@ module XTwitterScraper
37
47
  # @return [String, nil]
38
48
  optional :until_time, String
39
49
 
40
- # @!method initialize(id:, cursor: nil, include_replies: nil, since_time: nil, until_time: nil, request_options: {})
50
+ # @!method initialize(id:, cursor: nil, include_replies: nil, page_size: nil, since_time: nil, until_time: nil, request_options: {})
51
+ # Some parameter documentations has been truncated, see
52
+ # {XTwitterScraper::Models::X::ListRetrieveTweetsParams} for more details.
53
+ #
41
54
  # @param id [String]
42
55
  #
43
56
  # @param cursor [String] Pagination cursor for list tweets
44
57
  #
45
58
  # @param include_replies [Boolean] Include replies (default false)
46
59
  #
60
+ # @param page_size [Integer] Maximum items requested from this page (1-100, default 20). The response can con
61
+ #
47
62
  # @param since_time [String] Unix timestamp - filter after
48
63
  #
49
64
  # @param until_time [String] Unix timestamp - filter before
@@ -8,8 +8,14 @@ module XTwitterScraper
8
8
  extend XTwitterScraper::Internal::Type::RequestParameters::Converter
9
9
  include XTwitterScraper::Internal::Type::RequestParameters
10
10
 
11
+ # @!attribute tweet_id
12
+ # Numeric tweet ID alias for tweetInput
13
+ #
14
+ # @return [String, nil]
15
+ optional :tweet_id, String, api_name: :tweetId
16
+
11
17
  # @!attribute tweet_ids
12
- # Array of tweet URLs or IDs (bulk, max 50)
18
+ # Array of tweet URLs or IDs (bulk, max 50 string items)
13
19
  #
14
20
  # @return [Array<String>, nil]
15
21
  optional :tweet_ids, XTwitterScraper::Internal::Type::ArrayOf[String], api_name: :tweetIds
@@ -20,11 +26,21 @@ module XTwitterScraper
20
26
  # @return [String, nil]
21
27
  optional :tweet_input, String, api_name: :tweetInput
22
28
 
23
- # @!method initialize(tweet_ids: nil, tweet_input: nil, request_options: {})
24
- # @param tweet_ids [Array<String>] Array of tweet URLs or IDs (bulk, max 50)
29
+ # @!attribute tweet_url
30
+ # Tweet URL alias for tweetInput
31
+ #
32
+ # @return [String, nil]
33
+ optional :tweet_url, String, api_name: :tweetUrl
34
+
35
+ # @!method initialize(tweet_id: nil, tweet_ids: nil, tweet_input: nil, tweet_url: nil, request_options: {})
36
+ # @param tweet_id [String] Numeric tweet ID alias for tweetInput
37
+ #
38
+ # @param tweet_ids [Array<String>] Array of tweet URLs or IDs (bulk, max 50 string items)
25
39
  #
26
40
  # @param tweet_input [String] Tweet URL or ID (single tweet)
27
41
  #
42
+ # @param tweet_url [String] Tweet URL alias for tweetInput
43
+ #
28
44
  # @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}]
29
45
  end
30
46
  end
@@ -9,28 +9,21 @@ module XTwitterScraper
9
9
  include XTwitterScraper::Internal::Type::RequestParameters
10
10
 
11
11
  # @!attribute account
12
- # X account (@username or ID) uploading media
12
+ # X account (@username or ID) uploading media from URL
13
13
  #
14
14
  # @return [String]
15
15
  required :account, String
16
16
 
17
- # @!attribute file
18
- # Media file to upload
17
+ # @!attribute url
18
+ # HTTPS URL to download and upload as media
19
19
  #
20
- # @return [Pathname, StringIO, IO, String, XTwitterScraper::FilePart]
21
- required :file, XTwitterScraper::Internal::Type::FileInput
22
-
23
- # @!attribute is_long_video
24
- #
25
- # @return [Boolean, nil]
26
- optional :is_long_video, XTwitterScraper::Internal::Type::Boolean
20
+ # @return [String]
21
+ required :url, String
27
22
 
28
- # @!method initialize(account:, file:, is_long_video: nil, request_options: {})
29
- # @param account [String] X account (@username or ID) uploading media
30
- #
31
- # @param file [Pathname, StringIO, IO, String, XTwitterScraper::FilePart] Media file to upload
23
+ # @!method initialize(account:, url:, request_options: {})
24
+ # @param account [String] X account (@username or ID) uploading media from URL
32
25
  #
33
- # @param is_long_video [Boolean]
26
+ # @param url [String] HTTPS URL to download and upload as media
34
27
  #
35
28
  # @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}]
36
29
  end
@@ -10,13 +10,22 @@ module XTwitterScraper
10
10
  # @return [String]
11
11
  required :media_id, String, api_name: :mediaId
12
12
 
13
+ # @!attribute media_url
14
+ # Public media URL for tweet `media` arrays.
15
+ #
16
+ # @return [String]
17
+ required :media_url, String, api_name: :mediaUrl
18
+
13
19
  # @!attribute success
14
20
  #
15
21
  # @return [Boolean, true]
16
22
  required :success, const: true
17
23
 
18
- # @!method initialize(media_id:, success: true)
24
+ # @!method initialize(media_id:, media_url:, success: true)
19
25
  # @param media_id [String]
26
+ #
27
+ # @param media_url [String] Public media URL for tweet `media` arrays.
28
+ #
20
29
  # @param success [Boolean, true]
21
30
  end
22
31
  end
@@ -9,21 +9,21 @@ module XTwitterScraper
9
9
  include XTwitterScraper::Internal::Type::RequestParameters
10
10
 
11
11
  # @!attribute account
12
- # X account (@username or ID) for avatar update
12
+ # X account (@username or ID) receiving avatar from URL
13
13
  #
14
14
  # @return [String]
15
15
  required :account, String
16
16
 
17
- # @!attribute file
18
- # Avatar image (max 716KB)
17
+ # @!attribute url
18
+ # HTTPS URL to the avatar image to download
19
19
  #
20
- # @return [Pathname, StringIO, IO, String, XTwitterScraper::FilePart]
21
- required :file, XTwitterScraper::Internal::Type::FileInput
20
+ # @return [String]
21
+ required :url, String
22
22
 
23
- # @!method initialize(account:, file:, request_options: {})
24
- # @param account [String] X account (@username or ID) for avatar update
23
+ # @!method initialize(account:, url:, request_options: {})
24
+ # @param account [String] X account (@username or ID) receiving avatar from URL
25
25
  #
26
- # @param file [Pathname, StringIO, IO, String, XTwitterScraper::FilePart] Avatar image (max 716KB)
26
+ # @param url [String] HTTPS URL to the avatar image to download
27
27
  #
28
28
  # @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}]
29
29
  end
@@ -9,21 +9,21 @@ module XTwitterScraper
9
9
  include XTwitterScraper::Internal::Type::RequestParameters
10
10
 
11
11
  # @!attribute account
12
- # X account (@username or ID) for banner update
12
+ # X account (@username or ID) receiving banner from URL
13
13
  #
14
14
  # @return [String]
15
15
  required :account, String
16
16
 
17
- # @!attribute file
18
- # Banner image (max 2MB)
17
+ # @!attribute url
18
+ # HTTPS URL to the banner image to download
19
19
  #
20
- # @return [Pathname, StringIO, IO, String, XTwitterScraper::FilePart]
21
- required :file, XTwitterScraper::Internal::Type::FileInput
20
+ # @return [String]
21
+ required :url, String
22
22
 
23
- # @!method initialize(account:, file:, request_options: {})
24
- # @param account [String] X account (@username or ID) for banner update
23
+ # @!method initialize(account:, url:, request_options: {})
24
+ # @param account [String] X account (@username or ID) receiving banner from URL
25
25
  #
26
- # @param file [Pathname, StringIO, IO, String, XTwitterScraper::FilePart] Banner image (max 2MB)
26
+ # @param url [String] HTTPS URL to the banner image to download
27
27
  #
28
28
  # @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}]
29
29
  end
@@ -3,40 +3,23 @@
3
3
  module XTwitterScraper
4
4
  module Models
5
5
  module X
6
- class TweetAuthor < XTwitterScraper::Internal::Type::BaseModel
7
- # @!attribute id
8
- #
9
- # @return [String]
10
- required :id, String
11
-
6
+ class TweetAuthor < XTwitterScraper::Models::UserProfile
12
7
  # @!attribute followers
13
8
  #
14
9
  # @return [Integer]
15
10
  required :followers, Integer
16
11
 
17
- # @!attribute username
18
- #
19
- # @return [String]
20
- required :username, String
21
-
22
12
  # @!attribute verified
23
13
  #
24
14
  # @return [Boolean]
25
15
  required :verified, XTwitterScraper::Internal::Type::Boolean
26
16
 
27
- # @!attribute profile_picture
28
- #
29
- # @return [String, nil]
30
- optional :profile_picture, String, api_name: :profilePicture
31
-
32
- # @!method initialize(id:, followers:, username:, verified:, profile_picture: nil)
33
- # Author of a tweet with follower count and verification status.
17
+ # @!method initialize(followers:, verified:)
18
+ # Tweet author profile. The lookup route always includes follower count and
19
+ # verification state. Other profile fields appear when available.
34
20
  #
35
- # @param id [String]
36
21
  # @param followers [Integer]
37
- # @param username [String]
38
22
  # @param verified [Boolean]
39
- # @param profile_picture [String]
40
23
  end
41
24
  end
42
25
  end