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
@@ -31,7 +31,7 @@ module XTwitterScraper
31
31
  #
32
32
  # @overload retrieve(id, request_options: {})
33
33
  #
34
- # @param id [String] Support ticket ID
34
+ # @param id [String] Support ticket public ID
35
35
  #
36
36
  # @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}, nil]
37
37
  #
@@ -51,7 +51,7 @@ module XTwitterScraper
51
51
  #
52
52
  # @overload update(id, status:, request_options: {})
53
53
  #
54
- # @param id [String] Support ticket ID to update
54
+ # @param id [String] Support ticket public ID to update
55
55
  #
56
56
  # @param status [Symbol, XTwitterScraper::Models::Support::TicketUpdateParams::Status]
57
57
  #
@@ -93,7 +93,7 @@ module XTwitterScraper
93
93
  #
94
94
  # @overload reply(id, body:, request_options: {})
95
95
  #
96
- # @param id [String] Support ticket ID for the reply
96
+ # @param id [String] Support ticket public ID for the reply
97
97
  #
98
98
  # @param body [String]
99
99
  #
@@ -2,15 +2,18 @@
2
2
 
3
3
  module XTwitterScraper
4
4
  module Resources
5
- # Trending topics by region
5
+ # Trending topics and hashtags by region
6
6
  class Trends
7
- # Get regional trending topics
7
+ # Some parameter documentations has been truncated, see
8
+ # {XTwitterScraper::Models::TrendListParams} for more details.
9
+ #
10
+ # Get trending hashtags and topics by region (alias)
8
11
  #
9
12
  # @overload list(count: nil, woeid: nil, request_options: {})
10
13
  #
11
- # @param count [Integer] Number of trending topics to return (1-50, default 30)
14
+ # @param count [Integer] Number of trending topics returned (1-50, default 30)
12
15
  #
13
- # @param woeid [Integer] Region WOEID (1=Worldwide, 23424977=US, 23424975=UK, 23424969=Turkey)
16
+ # @param woeid [Integer] Region Yahoo WOEID code (1=Worldwide, 23424977=US, 23424975=UK, 23424969=Turkey)
14
17
  #
15
18
  # @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}, nil]
16
19
  #
@@ -2,7 +2,7 @@
2
2
 
3
3
  module XTwitterScraper
4
4
  module Resources
5
- # Webhook endpoint management & delivery
5
+ # Webhook endpoint management and delivery
6
6
  class Webhooks
7
7
  # Create webhook
8
8
  #
@@ -32,7 +32,7 @@ module XTwitterScraper
32
32
  #
33
33
  # @overload update(id, event_types: nil, is_active: nil, url: nil, request_options: {})
34
34
  #
35
- # @param id [String] Resource ID (stringified bigint)
35
+ # @param id [String] Resource ID returned by the matching create or list endpoint.
36
36
  #
37
37
  # @param event_types [Array<Symbol, XTwitterScraper::Models::EventType>] Array of event types to subscribe to.
38
38
  #
@@ -78,7 +78,7 @@ module XTwitterScraper
78
78
  #
79
79
  # @overload deactivate(id, request_options: {})
80
80
  #
81
- # @param id [String] Resource ID (stringified bigint)
81
+ # @param id [String] Resource ID returned by the matching create or list endpoint.
82
82
  #
83
83
  # @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}, nil]
84
84
  #
@@ -98,7 +98,7 @@ module XTwitterScraper
98
98
  #
99
99
  # @overload list_deliveries(id, request_options: {})
100
100
  #
101
- # @param id [String] Resource ID (stringified bigint)
101
+ # @param id [String] Resource ID returned by the matching create or list endpoint.
102
102
  #
103
103
  # @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}, nil]
104
104
  #
@@ -114,11 +114,31 @@ module XTwitterScraper
114
114
  )
115
115
  end
116
116
 
117
+ # Test and resume webhook endpoint
118
+ #
119
+ # @overload resume(id, request_options: {})
120
+ #
121
+ # @param id [String] Resource ID returned by the matching create or list endpoint.
122
+ #
123
+ # @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}, nil]
124
+ #
125
+ # @return [XTwitterScraper::Models::WebhookResumeResponse]
126
+ #
127
+ # @see XTwitterScraper::Models::WebhookResumeParams
128
+ def resume(id, params = {})
129
+ @client.request(
130
+ method: :post,
131
+ path: ["webhooks/%1$s/resume", id],
132
+ model: XTwitterScraper::Models::WebhookResumeResponse,
133
+ options: params[:request_options]
134
+ )
135
+ end
136
+
117
137
  # Test webhook endpoint
118
138
  #
119
139
  # @overload test_(id, request_options: {})
120
140
  #
121
- # @param id [String] Resource ID (stringified bigint)
141
+ # @param id [String] Resource ID returned by the matching create or list endpoint.
122
142
  #
123
143
  # @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}, nil]
124
144
  #
@@ -0,0 +1,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ module XTwitterScraper
4
+ module Resources
5
+ class X
6
+ # Connected X account management
7
+ class AccountConnectionChallenges
8
+ # Submit X account email verification code
9
+ #
10
+ # @overload submit(id, email_code:, request_options: {})
11
+ #
12
+ # @param id [String] Resource ID returned by the matching create or list endpoint.
13
+ #
14
+ # @param email_code [String] Code sent to the account email.
15
+ #
16
+ # @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}, nil]
17
+ #
18
+ # @return [XTwitterScraper::Models::X::AccountConnectionChallengeSubmitResponse]
19
+ #
20
+ # @see XTwitterScraper::Models::X::AccountConnectionChallengeSubmitParams
21
+ def submit(id, params)
22
+ parsed, options = XTwitterScraper::X::AccountConnectionChallengeSubmitParams.dump_request(params)
23
+ @client.request(
24
+ method: :post,
25
+ path: ["x/account-connection-challenges/%1$s/submit", id],
26
+ body: parsed,
27
+ model: XTwitterScraper::Models::X::AccountConnectionChallengeSubmitResponse,
28
+ options: options
29
+ )
30
+ end
31
+
32
+ # @api private
33
+ #
34
+ # @param client [XTwitterScraper::Client]
35
+ def initialize(client:)
36
+ @client = client
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
@@ -7,7 +7,7 @@ module XTwitterScraper
7
7
  class Accounts
8
8
  # Connect X account
9
9
  #
10
- # @overload create(email:, password:, username:, proxy_country: nil, totp_secret: nil, request_options: {})
10
+ # @overload create(email:, password:, username:, totp_secret: nil, request_options: {})
11
11
  #
12
12
  # @param email [String] Account email
13
13
  #
@@ -15,8 +15,6 @@ module XTwitterScraper
15
15
  #
16
16
  # @param username [String] X username
17
17
  #
18
- # @param proxy_country [String] Proxy country code
19
- #
20
18
  # @param totp_secret [String] TOTP secret for 2FA
21
19
  #
22
20
  # @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}, nil]
@@ -31,7 +29,6 @@ module XTwitterScraper
31
29
  path: "x/accounts",
32
30
  body: parsed,
33
31
  model: XTwitterScraper::Models::X::AccountCreateResponse,
34
- security: {auth_api_key: true},
35
32
  options: options
36
33
  )
37
34
  end
@@ -40,7 +37,7 @@ module XTwitterScraper
40
37
  #
41
38
  # @overload retrieve(id, request_options: {})
42
39
  #
43
- # @param id [String] Resource ID (stringified bigint)
40
+ # @param id [String] Resource ID returned by the matching create or list endpoint.
44
41
  #
45
42
  # @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}, nil]
46
43
  #
@@ -52,7 +49,6 @@ module XTwitterScraper
52
49
  method: :get,
53
50
  path: ["x/accounts/%1$s", id],
54
51
  model: XTwitterScraper::X::XAccountDetail,
55
- security: {auth_api_key: true},
56
52
  options: params[:request_options]
57
53
  )
58
54
  end
@@ -71,7 +67,6 @@ module XTwitterScraper
71
67
  method: :get,
72
68
  path: "x/accounts",
73
69
  model: XTwitterScraper::Models::X::AccountListResponse,
74
- security: {auth_api_key: true},
75
70
  options: params[:request_options]
76
71
  )
77
72
  end
@@ -80,7 +75,7 @@ module XTwitterScraper
80
75
  #
81
76
  # @overload delete(id, request_options: {})
82
77
  #
83
- # @param id [String] Resource ID (stringified bigint)
78
+ # @param id [String] Resource ID returned by the matching create or list endpoint.
84
79
  #
85
80
  # @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}, nil]
86
81
  #
@@ -92,7 +87,6 @@ module XTwitterScraper
92
87
  method: :delete,
93
88
  path: ["x/accounts/%1$s", id],
94
89
  model: XTwitterScraper::Models::X::AccountDeleteResponse,
95
- security: {auth_api_key: true},
96
90
  options: params[:request_options]
97
91
  )
98
92
  end
@@ -112,19 +106,20 @@ module XTwitterScraper
112
106
  method: :post,
113
107
  path: "x/accounts/bulk-retry",
114
108
  model: XTwitterScraper::Models::X::AccountBulkRetryResponse,
115
- security: {auth_api_key: true},
116
109
  options: params[:request_options]
117
110
  )
118
111
  end
119
112
 
120
113
  # Re-authenticate X account
121
114
  #
122
- # @overload reauth(id, password:, totp_secret: nil, request_options: {})
115
+ # @overload reauth(id, password:, email: nil, totp_secret: nil, request_options: {})
123
116
  #
124
- # @param id [String] Resource ID (stringified bigint)
117
+ # @param id [String] Resource ID returned by the matching create or list endpoint.
125
118
  #
126
119
  # @param password [String] Updated account password
127
120
  #
121
+ # @param email [String] Email for the X account (updates stored email)
122
+ #
128
123
  # @param totp_secret [String] TOTP secret for 2FA re-authentication
129
124
  #
130
125
  # @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}, nil]
@@ -139,7 +134,6 @@ module XTwitterScraper
139
134
  path: ["x/accounts/%1$s/reauth", id],
140
135
  body: parsed,
141
136
  model: XTwitterScraper::Models::X::AccountReauthResponse,
142
- security: {auth_api_key: true},
143
137
  options: options
144
138
  )
145
139
  end
@@ -3,7 +3,7 @@
3
3
  module XTwitterScraper
4
4
  module Resources
5
5
  class X
6
- # X data lookups (subscription required)
6
+ # Look up, search, and analyze individual tweets
7
7
  class Bookmarks
8
8
  # Get bookmarked tweets
9
9
  #
@@ -10,13 +10,13 @@ module XTwitterScraper
10
10
  #
11
11
  # @overload create(id, account:, request_options: {})
12
12
  #
13
- # @param id [String] Resource ID (stringified bigint)
13
+ # @param id [String] Resource ID returned by the matching create or list endpoint.
14
14
  #
15
15
  # @param account [String] X account identifier (@username or account ID)
16
16
  #
17
17
  # @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}, nil]
18
18
  #
19
- # @return [XTwitterScraper::Models::X::CommunityActionResult]
19
+ # @return [XTwitterScraper::Models::X::Communities::JoinCreateResponse]
20
20
  #
21
21
  # @see XTwitterScraper::Models::X::Communities::JoinCreateParams
22
22
  def create(id, params)
@@ -25,7 +25,7 @@ module XTwitterScraper
25
25
  method: :post,
26
26
  path: ["x/communities/%1$s/join", id],
27
27
  body: parsed,
28
- model: XTwitterScraper::X::CommunityActionResult,
28
+ model: XTwitterScraper::Models::X::Communities::JoinCreateResponse,
29
29
  options: options
30
30
  )
31
31
  end
@@ -34,13 +34,13 @@ module XTwitterScraper
34
34
  #
35
35
  # @overload delete_all(id, account:, request_options: {})
36
36
  #
37
- # @param id [String] Resource ID (stringified bigint)
37
+ # @param id [String] Resource ID returned by the matching create or list endpoint.
38
38
  #
39
39
  # @param account [String] X account identifier (@username or account ID)
40
40
  #
41
41
  # @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}, nil]
42
42
  #
43
- # @return [XTwitterScraper::Models::X::CommunityActionResult]
43
+ # @return [XTwitterScraper::Models::X::Communities::JoinDeleteAllResponse]
44
44
  #
45
45
  # @see XTwitterScraper::Models::X::Communities::JoinDeleteAllParams
46
46
  def delete_all(id, params)
@@ -49,7 +49,7 @@ module XTwitterScraper
49
49
  method: :delete,
50
50
  path: ["x/communities/%1$s/join", id],
51
51
  body: parsed,
52
- model: XTwitterScraper::X::CommunityActionResult,
52
+ model: XTwitterScraper::Models::X::Communities::JoinDeleteAllResponse,
53
53
  options: options
54
54
  )
55
55
  end
@@ -4,17 +4,24 @@ module XTwitterScraper
4
4
  module Resources
5
5
  class X
6
6
  class Communities
7
- # X data lookups (subscription required)
7
+ # X Community info, members, and tweets
8
8
  class Tweets
9
- # Search tweets across all communities
9
+ # Some parameter documentations has been truncated, see
10
+ # {XTwitterScraper::Models::X::Communities::TweetListParams} for more details.
10
11
  #
11
- # @overload list(q:, cursor: nil, query_type: nil, request_options: {})
12
+ # Requires a Community ID and keyword query.
12
13
  #
13
- # @param q [String] Search query for cross-community tweets
14
+ # @overload list(community_id:, q:, cursor: nil, page_size: nil, query_type: nil, request_options: {})
14
15
  #
15
- # @param cursor [String] Pagination cursor for cross-community results
16
+ # @param community_id [String] Numeric ID of the community to search
16
17
  #
17
- # @param query_type [String] Sort order for cross-community results (Latest or Top)
18
+ # @param q [String] Keyword query within the selected community
19
+ #
20
+ # @param cursor [String] Pagination cursor for community results
21
+ #
22
+ # @param page_size [Integer] Maximum items requested from this page (1-100, default 20). The response can con
23
+ #
24
+ # @param query_type [Symbol, XTwitterScraper::Models::X::Communities::TweetListParams::QueryType] Sort order for community results (Latest or Top)
18
25
  #
19
26
  # @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}, nil]
20
27
  #
@@ -27,20 +34,30 @@ module XTwitterScraper
27
34
  @client.request(
28
35
  method: :get,
29
36
  path: "x/communities/tweets",
30
- query: query.transform_keys(query_type: "queryType"),
37
+ query: query.transform_keys(
38
+ community_id: "communityId",
39
+ page_size: "pageSize",
40
+ query_type: "queryType"
41
+ ),
31
42
  model: XTwitterScraper::PaginatedTweets,
32
43
  options: options
33
44
  )
34
45
  end
35
46
 
36
- # Get community tweets
47
+ # Some parameter documentations has been truncated, see
48
+ # {XTwitterScraper::Models::X::Communities::TweetListByCommunityParams} for more
49
+ # details.
37
50
  #
38
- # @overload list_by_community(id, cursor: nil, request_options: {})
51
+ # List tweets posted in a community
52
+ #
53
+ # @overload list_by_community(id, cursor: nil, page_size: nil, request_options: {})
39
54
  #
40
55
  # @param id [String] Community ID for tweet lookup
41
56
  #
42
57
  # @param cursor [String] Pagination cursor for community tweets
43
58
  #
59
+ # @param page_size [Integer] Maximum items requested from this page (1-100, default 20). The response can con
60
+ #
44
61
  # @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}, nil]
45
62
  #
46
63
  # @return [XTwitterScraper::Models::PaginatedTweets]
@@ -52,7 +69,7 @@ module XTwitterScraper
52
69
  @client.request(
53
70
  method: :get,
54
71
  path: ["x/communities/%1$s/tweets", id],
55
- query: query,
72
+ query: query.transform_keys(page_size: "pageSize"),
56
73
  model: XTwitterScraper::PaginatedTweets,
57
74
  options: options
58
75
  )
@@ -8,7 +8,7 @@ module XTwitterScraper
8
8
  # @return [XTwitterScraper::Resources::X::Communities::Join]
9
9
  attr_reader :join
10
10
 
11
- # X data lookups (subscription required)
11
+ # X Community info, members, and tweets
12
12
  # @return [XTwitterScraper::Resources::X::Communities::Tweets]
13
13
  attr_reader :tweets
14
14
 
@@ -42,7 +42,7 @@ module XTwitterScraper
42
42
  #
43
43
  # @overload delete(id, account:, community_name:, request_options: {})
44
44
  #
45
- # @param id [String] Resource ID (stringified bigint)
45
+ # @param id [String] Resource ID returned by the matching create or list endpoint.
46
46
  #
47
47
  # @param account [String] X account (@username or ID) deleting the community
48
48
  #
@@ -64,7 +64,7 @@ module XTwitterScraper
64
64
  )
65
65
  end
66
66
 
67
- # Get community details
67
+ # Get community name, description and member count
68
68
  #
69
69
  # @overload retrieve_info(id, request_options: {})
70
70
  #
@@ -84,14 +84,19 @@ module XTwitterScraper
84
84
  )
85
85
  end
86
86
 
87
- # Get community members
87
+ # Some parameter documentations has been truncated, see
88
+ # {XTwitterScraper::Models::X::CommunityRetrieveMembersParams} for more details.
88
89
  #
89
- # @overload retrieve_members(id, cursor: nil, request_options: {})
90
+ # List members of a community
91
+ #
92
+ # @overload retrieve_members(id, cursor: nil, page_size: nil, request_options: {})
90
93
  #
91
94
  # @param id [String] Community ID for member lookup
92
95
  #
93
96
  # @param cursor [String] Pagination cursor
94
97
  #
98
+ # @param page_size [Integer] Items per page (20-200, default 20). This is an upper bound for paid authenticat
99
+ #
95
100
  # @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}, nil]
96
101
  #
97
102
  # @return [XTwitterScraper::Models::PaginatedUsers]
@@ -103,13 +108,13 @@ module XTwitterScraper
103
108
  @client.request(
104
109
  method: :get,
105
110
  path: ["x/communities/%1$s/members", id],
106
- query: query,
111
+ query: query.transform_keys(page_size: "pageSize"),
107
112
  model: XTwitterScraper::PaginatedUsers,
108
113
  options: options
109
114
  )
110
115
  end
111
116
 
112
- # Get community moderators
117
+ # List moderators of a community
113
118
  #
114
119
  # @overload retrieve_moderators(id, cursor: nil, request_options: {})
115
120
  #
@@ -134,15 +139,22 @@ module XTwitterScraper
134
139
  )
135
140
  end
136
141
 
137
- # Search tweets across communities
142
+ # Some parameter documentations has been truncated, see
143
+ # {XTwitterScraper::Models::X::CommunityRetrieveSearchParams} for more details.
138
144
  #
139
- # @overload retrieve_search(q:, cursor: nil, query_type: nil, request_options: {})
145
+ # Returns tweets, not community records. Requires a Community ID.
146
+ #
147
+ # @overload retrieve_search(community_id:, q:, cursor: nil, page_size: nil, query_type: nil, request_options: {})
148
+ #
149
+ # @param community_id [String] Numeric ID of the community whose posts to search
140
150
  #
141
151
  # @param q [String] Search query
142
152
  #
143
153
  # @param cursor [String] Pagination cursor for community search
144
154
  #
145
- # @param query_type [String] Sort order (Latest or Top)
155
+ # @param page_size [Integer] Maximum items requested from this page (1-100, default 20). The response can con
156
+ #
157
+ # @param query_type [Symbol, XTwitterScraper::Models::X::CommunityRetrieveSearchParams::QueryType] Sort order (Latest or Top)
146
158
  #
147
159
  # @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}, nil]
148
160
  #
@@ -155,7 +167,11 @@ module XTwitterScraper
155
167
  @client.request(
156
168
  method: :get,
157
169
  path: "x/communities/search",
158
- query: query.transform_keys(query_type: "queryType"),
170
+ query: query.transform_keys(
171
+ community_id: "communityId",
172
+ page_size: "pageSize",
173
+ query_type: "queryType"
174
+ ),
159
175
  model: XTwitterScraper::PaginatedTweets,
160
176
  options: options
161
177
  )
@@ -4,12 +4,17 @@ module XTwitterScraper
4
4
  module Resources
5
5
  class X
6
6
  class Dm
7
+ # Some parameter documentations has been truncated, see
8
+ # {XTwitterScraper::Models::X::DmRetrieveHistoryParams} for more details.
9
+ #
7
10
  # Get DM conversation history
8
11
  #
9
- # @overload retrieve_history(user_id, cursor: nil, max_id: nil, request_options: {})
12
+ # @overload retrieve_history(user_id, account:, cursor: nil, max_id: nil, request_options: {})
10
13
  #
11
14
  # @param user_id [String] Target user ID
12
15
  #
16
+ # @param account [String] X handle (without the `@` prefix) of the connected X account used to read the co
17
+ #
13
18
  # @param cursor [String] Pagination cursor for DM history
14
19
  #
15
20
  # @param max_id [String] Legacy pagination cursor (backward compat)
@@ -19,7 +24,7 @@ module XTwitterScraper
19
24
  # @return [XTwitterScraper::Models::X::DmRetrieveHistoryResponse]
20
25
  #
21
26
  # @see XTwitterScraper::Models::X::DmRetrieveHistoryParams
22
- def retrieve_history(user_id, params = {})
27
+ def retrieve_history(user_id, params)
23
28
  parsed, options = XTwitterScraper::X::DmRetrieveHistoryParams.dump_request(params)
24
29
  query = XTwitterScraper::Internal::Util.encode_query_params(parsed)
25
30
  @client.request(
@@ -33,7 +38,7 @@ module XTwitterScraper
33
38
 
34
39
  # Send direct message
35
40
  #
36
- # @overload send_(user_id, account:, text:, media_ids: nil, reply_to_message_id: nil, request_options: {})
41
+ # @overload send_(user_id, account:, text:, media_ids: nil, request_options: {})
37
42
  #
38
43
  # @param user_id [String] Recipient user ID
39
44
  #
@@ -41,9 +46,7 @@ module XTwitterScraper
41
46
  #
42
47
  # @param text [String]
43
48
  #
44
- # @param media_ids [Array<String>]
45
- #
46
- # @param reply_to_message_id [String]
49
+ # @param media_ids [Array<String>] Optional array containing exactly 1 uploaded media ID.
47
50
  #
48
51
  # @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}, nil]
49
52
  #
@@ -3,15 +3,15 @@
3
3
  module XTwitterScraper
4
4
  module Resources
5
5
  class X
6
- # X data lookups (subscription required)
6
+ # Look up, search, and explore user profiles and relationships
7
7
  class Followers
8
- # Check follow relationship
8
+ # Check if one user follows another
9
9
  #
10
10
  # @overload check(source:, target:, request_options: {})
11
11
  #
12
- # @param source [String] Username to check (without @)
12
+ # @param source [String] Source username, @username, or X or Twitter profile URL
13
13
  #
14
- # @param target [String] Target username (without @)
14
+ # @param target [String] Target username, @username, or X or Twitter profile URL
15
15
  #
16
16
  # @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}, nil]
17
17
  #
@@ -3,16 +3,21 @@
3
3
  module XTwitterScraper
4
4
  module Resources
5
5
  class X
6
- # X data lookups (subscription required)
6
+ # X List followers, members, and tweets
7
7
  class Lists
8
- # Get list followers
8
+ # Some parameter documentations has been truncated, see
9
+ # {XTwitterScraper::Models::X::ListRetrieveFollowersParams} for more details.
9
10
  #
10
- # @overload retrieve_followers(id, cursor: nil, request_options: {})
11
+ # List followers of an X List
12
+ #
13
+ # @overload retrieve_followers(id, cursor: nil, page_size: nil, request_options: {})
11
14
  #
12
15
  # @param id [String] List ID
13
16
  #
14
17
  # @param cursor [String] Pagination cursor for list followers
15
18
  #
19
+ # @param page_size [Integer] Maximum user profiles requested from this page (20-200, default 200). The respon
20
+ #
16
21
  # @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}, nil]
17
22
  #
18
23
  # @return [XTwitterScraper::Models::PaginatedUsers]
@@ -24,20 +29,22 @@ module XTwitterScraper
24
29
  @client.request(
25
30
  method: :get,
26
31
  path: ["x/lists/%1$s/followers", id],
27
- query: query,
32
+ query: query.transform_keys(page_size: "pageSize"),
28
33
  model: XTwitterScraper::PaginatedUsers,
29
34
  options: options
30
35
  )
31
36
  end
32
37
 
33
- # Get list members
38
+ # List members of an X List
34
39
  #
35
- # @overload retrieve_members(id, cursor: nil, request_options: {})
40
+ # @overload retrieve_members(id, cursor: nil, page_size: nil, request_options: {})
36
41
  #
37
42
  # @param id [String] List ID for member lookup
38
43
  #
39
44
  # @param cursor [String] Pagination cursor for list members
40
45
  #
46
+ # @param page_size [Integer] Members per page (20-200, default 20)
47
+ #
41
48
  # @param request_options [XTwitterScraper::RequestOptions, Hash{Symbol=>Object}, nil]
42
49
  #
43
50
  # @return [XTwitterScraper::Models::PaginatedUsers]
@@ -49,15 +56,18 @@ module XTwitterScraper
49
56
  @client.request(
50
57
  method: :get,
51
58
  path: ["x/lists/%1$s/members", id],
52
- query: query,
59
+ query: query.transform_keys(page_size: "pageSize"),
53
60
  model: XTwitterScraper::PaginatedUsers,
54
61
  options: options
55
62
  )
56
63
  end
57
64
 
58
- # Get list tweets
65
+ # Some parameter documentations has been truncated, see
66
+ # {XTwitterScraper::Models::X::ListRetrieveTweetsParams} for more details.
59
67
  #
60
- # @overload retrieve_tweets(id, cursor: nil, include_replies: nil, since_time: nil, until_time: nil, request_options: {})
68
+ # List tweets from an X List
69
+ #
70
+ # @overload retrieve_tweets(id, cursor: nil, include_replies: nil, page_size: nil, since_time: nil, until_time: nil, request_options: {})
61
71
  #
62
72
  # @param id [String] List ID for tweet lookup
63
73
  #
@@ -65,6 +75,8 @@ module XTwitterScraper
65
75
  #
66
76
  # @param include_replies [Boolean] Include replies (default false)
67
77
  #
78
+ # @param page_size [Integer] Maximum items requested from this page (1-100, default 20). The response can con
79
+ #
68
80
  # @param since_time [String] Unix timestamp - filter after
69
81
  #
70
82
  # @param until_time [String] Unix timestamp - filter before
@@ -82,6 +94,7 @@ module XTwitterScraper
82
94
  path: ["x/lists/%1$s/tweets", id],
83
95
  query: query.transform_keys(
84
96
  include_replies: "includeReplies",
97
+ page_size: "pageSize",
85
98
  since_time: "sinceTime",
86
99
  until_time: "untilTime"
87
100
  ),