x-twitter-scraper 0.3.0 → 0.4.0

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 (456) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +25 -0
  3. data/README.md +5 -5
  4. data/lib/x_twitter_scraper/models/api_key.rb +2 -0
  5. data/lib/x_twitter_scraper/models/api_key_list_response.rb +3 -44
  6. data/lib/x_twitter_scraper/models/delivery.rb +2 -0
  7. data/lib/x_twitter_scraper/models/draft.rb +2 -0
  8. data/lib/x_twitter_scraper/models/draft_detail.rb +3 -0
  9. data/lib/x_twitter_scraper/models/draft_list_params.rb +2 -1
  10. data/lib/x_twitter_scraper/models/draft_list_response.rb +3 -38
  11. data/lib/x_twitter_scraper/models/draw_detail.rb +2 -0
  12. data/lib/x_twitter_scraper/models/draw_export_params.rb +3 -1
  13. data/lib/x_twitter_scraper/models/draw_list_item.rb +2 -0
  14. data/lib/x_twitter_scraper/models/draw_list_params.rb +4 -3
  15. data/lib/x_twitter_scraper/models/draw_list_response.rb +3 -50
  16. data/lib/x_twitter_scraper/models/draw_retrieve_response.rb +8 -124
  17. data/lib/x_twitter_scraper/models/draw_run_response.rb +3 -32
  18. data/lib/x_twitter_scraper/models/error.rb +2 -0
  19. data/lib/x_twitter_scraper/models/event.rb +11 -18
  20. data/lib/x_twitter_scraper/models/event_detail.rb +7 -18
  21. data/lib/x_twitter_scraper/models/event_list_params.rb +10 -21
  22. data/lib/x_twitter_scraper/models/event_list_response.rb +3 -59
  23. data/lib/x_twitter_scraper/models/event_type.rb +1 -0
  24. data/lib/x_twitter_scraper/models/extraction_estimate_cost_params.rb +9 -7
  25. data/lib/x_twitter_scraper/models/extraction_export_results_params.rb +5 -1
  26. data/lib/x_twitter_scraper/models/extraction_job.rb +11 -1
  27. data/lib/x_twitter_scraper/models/extraction_list_params.rb +10 -5
  28. data/lib/x_twitter_scraper/models/extraction_list_response.rb +3 -87
  29. data/lib/x_twitter_scraper/models/extraction_retrieve_params.rb +4 -3
  30. data/lib/x_twitter_scraper/models/extraction_run_params.rb +3 -1
  31. data/lib/x_twitter_scraper/models/extraction_run_response.rb +10 -15
  32. data/lib/x_twitter_scraper/models/integration.rb +12 -32
  33. data/lib/x_twitter_scraper/models/integration_create_params.rb +8 -32
  34. data/lib/x_twitter_scraper/models/integration_delivery.rb +2 -0
  35. data/lib/x_twitter_scraper/models/integration_list_deliveries_params.rb +4 -1
  36. data/lib/x_twitter_scraper/models/integration_list_deliveries_response.rb +3 -67
  37. data/lib/x_twitter_scraper/models/integration_list_response.rb +3 -112
  38. data/lib/x_twitter_scraper/models/integration_update_params.rb +4 -19
  39. data/lib/x_twitter_scraper/models/monitor.rb +12 -17
  40. data/lib/x_twitter_scraper/models/monitor_create_params.rb +4 -19
  41. data/lib/x_twitter_scraper/models/monitor_create_response.rb +8 -17
  42. data/lib/x_twitter_scraper/models/monitor_list_response.rb +3 -60
  43. data/lib/x_twitter_scraper/models/monitor_update_params.rb +7 -19
  44. data/lib/x_twitter_scraper/models/paginated_tweets.rb +5 -96
  45. data/lib/x_twitter_scraper/models/paginated_users.rb +5 -73
  46. data/lib/x_twitter_scraper/models/radar_item.rb +2 -0
  47. data/lib/x_twitter_scraper/models/radar_retrieve_trending_topics_params.rb +20 -3
  48. data/lib/x_twitter_scraper/models/radar_retrieve_trending_topics_response.rb +3 -62
  49. data/lib/x_twitter_scraper/models/style_compare_response.rb +9 -134
  50. data/lib/x_twitter_scraper/models/style_delete_params.rb +4 -4
  51. data/lib/x_twitter_scraper/models/style_get_performance_params.rb +4 -4
  52. data/lib/x_twitter_scraper/models/style_list_response.rb +3 -32
  53. data/lib/x_twitter_scraper/models/style_profile.rb +3 -0
  54. data/lib/x_twitter_scraper/models/style_profile_summary.rb +2 -0
  55. data/lib/x_twitter_scraper/models/style_retrieve_params.rb +4 -4
  56. data/lib/x_twitter_scraper/models/style_update_params.rb +4 -4
  57. data/lib/x_twitter_scraper/models/trend_list_params.rb +2 -1
  58. data/lib/x_twitter_scraper/models/webhook.rb +11 -17
  59. data/lib/x_twitter_scraper/models/webhook_create_params.rb +4 -19
  60. data/lib/x_twitter_scraper/models/webhook_create_response.rb +8 -17
  61. data/lib/x_twitter_scraper/models/webhook_list_deliveries_response.rb +3 -56
  62. data/lib/x_twitter_scraper/models/webhook_list_response.rb +3 -54
  63. data/lib/x_twitter_scraper/models/webhook_update_params.rb +8 -19
  64. data/lib/x_twitter_scraper/models/winner.rb +2 -0
  65. data/lib/x_twitter_scraper/models/x/account_bulk_retry_params.rb +16 -0
  66. data/lib/x_twitter_scraper/models/x/account_bulk_retry_response.rb +19 -0
  67. data/lib/x_twitter_scraper/models/x/account_list_response.rb +3 -38
  68. data/lib/x_twitter_scraper/models/x/account_reauth_params.rb +4 -4
  69. data/lib/x_twitter_scraper/models/x/bookmark_list_params.rb +2 -2
  70. data/lib/x_twitter_scraper/models/x/communities/join_create_params.rb +2 -2
  71. data/lib/x_twitter_scraper/models/x/communities/join_delete_all_params.rb +2 -2
  72. data/lib/x_twitter_scraper/models/x/communities/tweet_list_by_community_params.rb +33 -0
  73. data/lib/x_twitter_scraper/models/x/communities/tweet_list_params.rb +6 -6
  74. data/lib/x_twitter_scraper/models/x/community_action_result.rb +2 -0
  75. data/lib/x_twitter_scraper/models/x/community_create_params.rb +2 -2
  76. data/lib/x_twitter_scraper/models/x/community_delete_params.rb +2 -2
  77. data/lib/x_twitter_scraper/models/x/community_retrieve_info_response.rb +6 -6
  78. data/lib/x_twitter_scraper/models/x/community_retrieve_moderators_params.rb +2 -2
  79. data/lib/x_twitter_scraper/models/x/community_retrieve_search_params.rb +2 -2
  80. data/lib/x_twitter_scraper/models/x/dm_retrieve_history_params.rb +2 -2
  81. data/lib/x_twitter_scraper/models/x/dm_send_params.rb +2 -2
  82. data/lib/x_twitter_scraper/models/x/list_retrieve_followers_params.rb +2 -2
  83. data/lib/x_twitter_scraper/models/x/list_retrieve_members_params.rb +2 -2
  84. data/lib/x_twitter_scraper/models/x/list_retrieve_tweets_params.rb +2 -2
  85. data/lib/x_twitter_scraper/models/x/media_upload_params.rb +2 -2
  86. data/lib/x_twitter_scraper/models/x/profile_update_avatar_params.rb +2 -2
  87. data/lib/x_twitter_scraper/models/x/profile_update_banner_params.rb +2 -2
  88. data/lib/x_twitter_scraper/models/x/profile_update_params.rb +2 -2
  89. data/lib/x_twitter_scraper/models/x/search_tweet.rb +20 -1
  90. data/lib/x_twitter_scraper/models/x/tweet_author.rb +2 -0
  91. data/lib/x_twitter_scraper/models/x/tweet_delete_params.rb +6 -6
  92. data/lib/x_twitter_scraper/models/x/tweet_detail.rb +109 -1
  93. data/lib/x_twitter_scraper/models/x/tweet_get_favoriters_params.rb +2 -2
  94. data/lib/x_twitter_scraper/models/x/tweet_get_quotes_params.rb +8 -8
  95. data/lib/x_twitter_scraper/models/x/tweet_get_replies_params.rb +6 -6
  96. data/lib/x_twitter_scraper/models/x/tweet_get_retweeters_params.rb +2 -2
  97. data/lib/x_twitter_scraper/models/x/tweet_get_thread_params.rb +2 -2
  98. data/lib/x_twitter_scraper/models/x/tweet_retrieve_params.rb +4 -4
  99. data/lib/x_twitter_scraper/models/x/tweet_retrieve_response.rb +9 -100
  100. data/lib/x_twitter_scraper/models/x/tweet_search_params.rb +2 -2
  101. data/lib/x_twitter_scraper/models/x/tweets/like_create_params.rb +6 -6
  102. data/lib/x_twitter_scraper/models/x/tweets/like_delete_params.rb +6 -6
  103. data/lib/x_twitter_scraper/models/x/tweets/retweet_create_params.rb +6 -6
  104. data/lib/x_twitter_scraper/models/x/tweets/retweet_delete_params.rb +6 -6
  105. data/lib/x_twitter_scraper/models/x/user_profile.rb +3 -0
  106. data/lib/x_twitter_scraper/models/x/user_retrieve_followers_params.rb +2 -2
  107. data/lib/x_twitter_scraper/models/x/user_retrieve_followers_you_know_params.rb +2 -2
  108. data/lib/x_twitter_scraper/models/x/user_retrieve_following_params.rb +4 -4
  109. data/lib/x_twitter_scraper/models/x/user_retrieve_likes_params.rb +2 -2
  110. data/lib/x_twitter_scraper/models/x/user_retrieve_media_params.rb +2 -2
  111. data/lib/x_twitter_scraper/models/x/user_retrieve_mentions_params.rb +6 -6
  112. data/lib/x_twitter_scraper/models/x/user_retrieve_params.rb +4 -4
  113. data/lib/x_twitter_scraper/models/x/user_retrieve_search_params.rb +4 -4
  114. data/lib/x_twitter_scraper/models/x/user_retrieve_tweets_params.rb +2 -2
  115. data/lib/x_twitter_scraper/models/x/user_retrieve_verified_followers_params.rb +2 -2
  116. data/lib/x_twitter_scraper/models/x/users/follow_create_params.rb +6 -6
  117. data/lib/x_twitter_scraper/models/x/users/follow_delete_all_params.rb +6 -6
  118. data/lib/x_twitter_scraper/models/x/x_account.rb +2 -0
  119. data/lib/x_twitter_scraper/models/x/x_account_detail.rb +3 -0
  120. data/lib/x_twitter_scraper/models/x_get_article_response.rb +5 -38
  121. data/lib/x_twitter_scraper/models/x_get_home_timeline_params.rb +2 -2
  122. data/lib/x_twitter_scraper/models/x_get_notifications_params.rb +2 -2
  123. data/lib/x_twitter_scraper/models/x_get_trends_response.rb +57 -0
  124. data/lib/x_twitter_scraper/resources/drafts.rb +5 -5
  125. data/lib/x_twitter_scraper/resources/draws.rb +3 -3
  126. data/lib/x_twitter_scraper/resources/events.rb +6 -6
  127. data/lib/x_twitter_scraper/resources/extractions.rb +12 -12
  128. data/lib/x_twitter_scraper/resources/integrations.rb +11 -11
  129. data/lib/x_twitter_scraper/resources/monitors.rb +6 -6
  130. data/lib/x_twitter_scraper/resources/radar.rb +1 -1
  131. data/lib/x_twitter_scraper/resources/styles.rb +22 -22
  132. data/lib/x_twitter_scraper/resources/support/tickets.rb +8 -3
  133. data/lib/x_twitter_scraper/resources/trends.rb +2 -2
  134. data/lib/x_twitter_scraper/resources/webhooks.rb +4 -4
  135. data/lib/x_twitter_scraper/resources/x/accounts.rb +24 -4
  136. data/lib/x_twitter_scraper/resources/x/bookmarks.rb +3 -3
  137. data/lib/x_twitter_scraper/resources/x/communities/join.rb +6 -6
  138. data/lib/x_twitter_scraper/resources/x/communities/tweets.rb +30 -5
  139. data/lib/x_twitter_scraper/resources/x/communities.rb +12 -12
  140. data/lib/x_twitter_scraper/resources/x/dm.rb +2 -2
  141. data/lib/x_twitter_scraper/resources/x/lists.rb +11 -11
  142. data/lib/x_twitter_scraper/resources/x/media.rb +1 -1
  143. data/lib/x_twitter_scraper/resources/x/profile.rb +3 -3
  144. data/lib/x_twitter_scraper/resources/x/tweets/like.rb +10 -10
  145. data/lib/x_twitter_scraper/resources/x/tweets/retweet.rb +10 -10
  146. data/lib/x_twitter_scraper/resources/x/tweets.rb +46 -39
  147. data/lib/x_twitter_scraper/resources/x/users/follow.rb +10 -10
  148. data/lib/x_twitter_scraper/resources/x/users.rb +45 -45
  149. data/lib/x_twitter_scraper/resources/x.rb +13 -7
  150. data/lib/x_twitter_scraper/version.rb +1 -1
  151. data/lib/x_twitter_scraper.rb +4 -28
  152. data/rbi/x_twitter_scraper/models/api_key.rbi +1 -0
  153. data/rbi/x_twitter_scraper/models/api_key_list_response.rbi +5 -78
  154. data/rbi/x_twitter_scraper/models/delivery.rbi +1 -0
  155. data/rbi/x_twitter_scraper/models/draft.rbi +1 -0
  156. data/rbi/x_twitter_scraper/models/draft_detail.rbi +1 -0
  157. data/rbi/x_twitter_scraper/models/draft_list_params.rbi +2 -0
  158. data/rbi/x_twitter_scraper/models/draft_list_response.rbi +3 -63
  159. data/rbi/x_twitter_scraper/models/draw_detail.rbi +1 -0
  160. data/rbi/x_twitter_scraper/models/draw_export_params.rbi +3 -0
  161. data/rbi/x_twitter_scraper/models/draw_list_item.rbi +1 -0
  162. data/rbi/x_twitter_scraper/models/draw_list_params.rbi +4 -2
  163. data/rbi/x_twitter_scraper/models/draw_list_response.rbi +3 -76
  164. data/rbi/x_twitter_scraper/models/draw_retrieve_response.rbi +13 -178
  165. data/rbi/x_twitter_scraper/models/draw_run_response.rbi +3 -52
  166. data/rbi/x_twitter_scraper/models/error.rbi +1 -0
  167. data/rbi/x_twitter_scraper/models/event.rbi +14 -31
  168. data/rbi/x_twitter_scraper/models/event_detail.rbi +6 -47
  169. data/rbi/x_twitter_scraper/models/event_list_params.rbi +12 -63
  170. data/rbi/x_twitter_scraper/models/event_list_response.rbi +3 -122
  171. data/rbi/x_twitter_scraper/models/event_type.rbi +1 -0
  172. data/rbi/x_twitter_scraper/models/extraction_estimate_cost_params.rbi +9 -6
  173. data/rbi/x_twitter_scraper/models/extraction_export_results_params.rbi +8 -1
  174. data/rbi/x_twitter_scraper/models/extraction_job.rbi +8 -4
  175. data/rbi/x_twitter_scraper/models/extraction_list_params.rbi +10 -2
  176. data/rbi/x_twitter_scraper/models/extraction_list_response.rbi +3 -254
  177. data/rbi/x_twitter_scraper/models/extraction_retrieve_params.rbi +4 -2
  178. data/rbi/x_twitter_scraper/models/extraction_run_params.rbi +3 -0
  179. data/rbi/x_twitter_scraper/models/extraction_run_response.rbi +12 -40
  180. data/rbi/x_twitter_scraper/models/integration.rbi +12 -81
  181. data/rbi/x_twitter_scraper/models/integration_create_params.rbi +9 -96
  182. data/rbi/x_twitter_scraper/models/integration_delivery.rbi +1 -0
  183. data/rbi/x_twitter_scraper/models/integration_list_deliveries_params.rbi +7 -1
  184. data/rbi/x_twitter_scraper/models/integration_list_deliveries_response.rbi +3 -119
  185. data/rbi/x_twitter_scraper/models/integration_list_response.rbi +3 -227
  186. data/rbi/x_twitter_scraper/models/integration_update_params.rbi +6 -74
  187. data/rbi/x_twitter_scraper/models/monitor.rbi +6 -48
  188. data/rbi/x_twitter_scraper/models/monitor_create_params.rbi +5 -62
  189. data/rbi/x_twitter_scraper/models/monitor_create_response.rbi +12 -70
  190. data/rbi/x_twitter_scraper/models/monitor_list_response.rbi +3 -141
  191. data/rbi/x_twitter_scraper/models/monitor_update_params.rbi +12 -69
  192. data/rbi/x_twitter_scraper/models/paginated_tweets.rbi +4 -169
  193. data/rbi/x_twitter_scraper/models/paginated_users.rbi +4 -120
  194. data/rbi/x_twitter_scraper/models/radar_item.rbi +1 -0
  195. data/rbi/x_twitter_scraper/models/radar_retrieve_trending_topics_params.rbi +78 -4
  196. data/rbi/x_twitter_scraper/models/radar_retrieve_trending_topics_response.rbi +3 -108
  197. data/rbi/x_twitter_scraper/models/style_compare_response.rbi +16 -259
  198. data/rbi/x_twitter_scraper/models/style_delete_params.rbi +4 -4
  199. data/rbi/x_twitter_scraper/models/style_get_performance_params.rbi +4 -4
  200. data/rbi/x_twitter_scraper/models/style_list_response.rbi +3 -54
  201. data/rbi/x_twitter_scraper/models/style_profile.rbi +1 -0
  202. data/rbi/x_twitter_scraper/models/style_profile_summary.rbi +1 -0
  203. data/rbi/x_twitter_scraper/models/style_retrieve_params.rbi +4 -4
  204. data/rbi/x_twitter_scraper/models/style_update_params.rbi +4 -4
  205. data/rbi/x_twitter_scraper/models/trend_list_params.rbi +2 -0
  206. data/rbi/x_twitter_scraper/models/webhook.rbi +13 -49
  207. data/rbi/x_twitter_scraper/models/webhook_create_params.rbi +5 -62
  208. data/rbi/x_twitter_scraper/models/webhook_create_response.rbi +12 -70
  209. data/rbi/x_twitter_scraper/models/webhook_list_deliveries_response.rbi +5 -105
  210. data/rbi/x_twitter_scraper/models/webhook_list_response.rbi +5 -134
  211. data/rbi/x_twitter_scraper/models/webhook_update_params.rbi +6 -68
  212. data/rbi/x_twitter_scraper/models/winner.rbi +1 -0
  213. data/rbi/x_twitter_scraper/models/x/account_bulk_retry_params.rbi +34 -0
  214. data/rbi/x_twitter_scraper/models/x/account_bulk_retry_response.rbi +32 -0
  215. data/rbi/x_twitter_scraper/models/x/account_list_response.rbi +3 -68
  216. data/rbi/x_twitter_scraper/models/x/account_reauth_params.rbi +4 -4
  217. data/rbi/x_twitter_scraper/models/x/bookmark_list_params.rbi +2 -2
  218. data/rbi/x_twitter_scraper/models/x/communities/join_create_params.rbi +2 -2
  219. data/rbi/x_twitter_scraper/models/x/communities/join_delete_all_params.rbi +2 -2
  220. data/rbi/x_twitter_scraper/models/x/communities/tweet_list_by_community_params.rbi +59 -0
  221. data/rbi/x_twitter_scraper/models/x/communities/tweet_list_params.rbi +6 -6
  222. data/rbi/x_twitter_scraper/models/x/community_action_result.rbi +1 -0
  223. data/rbi/x_twitter_scraper/models/x/community_create_params.rbi +2 -2
  224. data/rbi/x_twitter_scraper/models/x/community_delete_params.rbi +2 -2
  225. data/rbi/x_twitter_scraper/models/x/community_retrieve_info_response.rbi +6 -6
  226. data/rbi/x_twitter_scraper/models/x/community_retrieve_moderators_params.rbi +2 -2
  227. data/rbi/x_twitter_scraper/models/x/community_retrieve_search_params.rbi +2 -2
  228. data/rbi/x_twitter_scraper/models/x/dm_retrieve_history_params.rbi +2 -2
  229. data/rbi/x_twitter_scraper/models/x/dm_send_params.rbi +2 -2
  230. data/rbi/x_twitter_scraper/models/x/list_retrieve_followers_params.rbi +2 -2
  231. data/rbi/x_twitter_scraper/models/x/list_retrieve_members_params.rbi +2 -2
  232. data/rbi/x_twitter_scraper/models/x/list_retrieve_tweets_params.rbi +2 -2
  233. data/rbi/x_twitter_scraper/models/x/media_upload_params.rbi +2 -2
  234. data/rbi/x_twitter_scraper/models/x/profile_update_avatar_params.rbi +2 -2
  235. data/rbi/x_twitter_scraper/models/x/profile_update_banner_params.rbi +2 -2
  236. data/rbi/x_twitter_scraper/models/x/profile_update_params.rbi +2 -2
  237. data/rbi/x_twitter_scraper/models/x/search_tweet.rbi +12 -0
  238. data/rbi/x_twitter_scraper/models/x/tweet_author.rbi +1 -0
  239. data/rbi/x_twitter_scraper/models/x/tweet_delete_params.rbi +6 -6
  240. data/rbi/x_twitter_scraper/models/x/tweet_detail.rbi +195 -3
  241. data/rbi/x_twitter_scraper/models/x/tweet_get_favoriters_params.rbi +2 -2
  242. data/rbi/x_twitter_scraper/models/x/tweet_get_quotes_params.rbi +8 -8
  243. data/rbi/x_twitter_scraper/models/x/tweet_get_replies_params.rbi +6 -6
  244. data/rbi/x_twitter_scraper/models/x/tweet_get_retweeters_params.rbi +2 -2
  245. data/rbi/x_twitter_scraper/models/x/tweet_get_thread_params.rbi +2 -2
  246. data/rbi/x_twitter_scraper/models/x/tweet_retrieve_params.rbi +4 -7
  247. data/rbi/x_twitter_scraper/models/x/tweet_retrieve_response.rbi +16 -171
  248. data/rbi/x_twitter_scraper/models/x/tweet_search_params.rbi +2 -2
  249. data/rbi/x_twitter_scraper/models/x/tweets/like_create_params.rbi +6 -6
  250. data/rbi/x_twitter_scraper/models/x/tweets/like_delete_params.rbi +6 -6
  251. data/rbi/x_twitter_scraper/models/x/tweets/retweet_create_params.rbi +6 -6
  252. data/rbi/x_twitter_scraper/models/x/tweets/retweet_delete_params.rbi +6 -6
  253. data/rbi/x_twitter_scraper/models/x/user_profile.rbi +1 -0
  254. data/rbi/x_twitter_scraper/models/x/user_retrieve_followers_params.rbi +2 -2
  255. data/rbi/x_twitter_scraper/models/x/user_retrieve_followers_you_know_params.rbi +2 -2
  256. data/rbi/x_twitter_scraper/models/x/user_retrieve_following_params.rbi +4 -4
  257. data/rbi/x_twitter_scraper/models/x/user_retrieve_likes_params.rbi +2 -2
  258. data/rbi/x_twitter_scraper/models/x/user_retrieve_media_params.rbi +2 -2
  259. data/rbi/x_twitter_scraper/models/x/user_retrieve_mentions_params.rbi +6 -6
  260. data/rbi/x_twitter_scraper/models/x/user_retrieve_params.rbi +4 -7
  261. data/rbi/x_twitter_scraper/models/x/user_retrieve_search_params.rbi +4 -4
  262. data/rbi/x_twitter_scraper/models/x/user_retrieve_tweets_params.rbi +2 -2
  263. data/rbi/x_twitter_scraper/models/x/user_retrieve_verified_followers_params.rbi +2 -2
  264. data/rbi/x_twitter_scraper/models/x/users/follow_create_params.rbi +6 -6
  265. data/rbi/x_twitter_scraper/models/x/users/follow_delete_all_params.rbi +6 -6
  266. data/rbi/x_twitter_scraper/models/x/x_account.rbi +1 -0
  267. data/rbi/x_twitter_scraper/models/x/x_account_detail.rbi +1 -0
  268. data/rbi/x_twitter_scraper/models/x_get_article_response.rbi +10 -71
  269. data/rbi/x_twitter_scraper/models/x_get_home_timeline_params.rbi +2 -2
  270. data/rbi/x_twitter_scraper/models/x_get_notifications_params.rbi +2 -2
  271. data/rbi/x_twitter_scraper/models/x_get_trends_response.rbi +102 -0
  272. data/rbi/x_twitter_scraper/resources/drafts.rbi +3 -2
  273. data/rbi/x_twitter_scraper/resources/draws.rbi +3 -1
  274. data/rbi/x_twitter_scraper/resources/events.rbi +6 -3
  275. data/rbi/x_twitter_scraper/resources/extractions.rbi +12 -5
  276. data/rbi/x_twitter_scraper/resources/integrations.rbi +10 -13
  277. data/rbi/x_twitter_scraper/resources/monitors.rbi +6 -6
  278. data/rbi/x_twitter_scraper/resources/radar.rbi +2 -1
  279. data/rbi/x_twitter_scraper/resources/styles.rbi +15 -15
  280. data/rbi/x_twitter_scraper/resources/support/tickets.rbi +17 -3
  281. data/rbi/x_twitter_scraper/resources/trends.rbi +2 -1
  282. data/rbi/x_twitter_scraper/resources/webhooks.rbi +5 -5
  283. data/rbi/x_twitter_scraper/resources/x/accounts.rbi +13 -3
  284. data/rbi/x_twitter_scraper/resources/x/bookmarks.rbi +2 -2
  285. data/rbi/x_twitter_scraper/resources/x/communities/join.rbi +4 -8
  286. data/rbi/x_twitter_scraper/resources/x/communities/tweets.rbi +21 -4
  287. data/rbi/x_twitter_scraper/resources/x/communities.rbi +9 -9
  288. data/rbi/x_twitter_scraper/resources/x/dm.rbi +2 -2
  289. data/rbi/x_twitter_scraper/resources/x/lists.rbi +8 -8
  290. data/rbi/x_twitter_scraper/resources/x/media.rbi +1 -1
  291. data/rbi/x_twitter_scraper/resources/x/profile.rbi +3 -3
  292. data/rbi/x_twitter_scraper/resources/x/tweets/like.rbi +8 -6
  293. data/rbi/x_twitter_scraper/resources/x/tweets/retweet.rbi +8 -6
  294. data/rbi/x_twitter_scraper/resources/x/tweets.rbi +33 -28
  295. data/rbi/x_twitter_scraper/resources/x/users/follow.rbi +6 -6
  296. data/rbi/x_twitter_scraper/resources/x/users.rbi +33 -34
  297. data/rbi/x_twitter_scraper/resources/x.rbi +11 -5
  298. data/sig/x_twitter_scraper/models/api_key_list_response.rbs +4 -53
  299. data/sig/x_twitter_scraper/models/draft_list_response.rbs +4 -45
  300. data/sig/x_twitter_scraper/models/draw_list_response.rbs +4 -53
  301. data/sig/x_twitter_scraper/models/draw_retrieve_response.rbs +8 -124
  302. data/sig/x_twitter_scraper/models/draw_run_response.rbs +4 -36
  303. data/sig/x_twitter_scraper/models/event.rbs +4 -25
  304. data/sig/x_twitter_scraper/models/event_detail.rbs +4 -25
  305. data/sig/x_twitter_scraper/models/event_list_params.rbs +6 -27
  306. data/sig/x_twitter_scraper/models/event_list_response.rbs +4 -67
  307. data/sig/x_twitter_scraper/models/extraction_list_response.rbs +4 -109
  308. data/sig/x_twitter_scraper/models/extraction_run_response.rbs +5 -15
  309. data/sig/x_twitter_scraper/models/integration.rbs +9 -40
  310. data/sig/x_twitter_scraper/models/integration_create_params.rbs +8 -39
  311. data/sig/x_twitter_scraper/models/integration_list_deliveries_response.rbs +4 -78
  312. data/sig/x_twitter_scraper/models/integration_list_response.rbs +4 -114
  313. data/sig/x_twitter_scraper/models/integration_update_params.rbs +6 -27
  314. data/sig/x_twitter_scraper/models/monitor.rbs +4 -25
  315. data/sig/x_twitter_scraper/models/monitor_create_params.rbs +4 -25
  316. data/sig/x_twitter_scraper/models/monitor_create_response.rbs +4 -25
  317. data/sig/x_twitter_scraper/models/monitor_list_response.rbs +4 -70
  318. data/sig/x_twitter_scraper/models/monitor_update_params.rbs +6 -27
  319. data/sig/x_twitter_scraper/models/paginated_tweets.rbs +4 -113
  320. data/sig/x_twitter_scraper/models/paginated_users.rbs +4 -87
  321. data/sig/x_twitter_scraper/models/radar_retrieve_trending_topics_params.rbs +30 -5
  322. data/sig/x_twitter_scraper/models/radar_retrieve_trending_topics_response.rbs +4 -70
  323. data/sig/x_twitter_scraper/models/style_compare_response.rbs +8 -154
  324. data/sig/x_twitter_scraper/models/style_delete_params.rbs +4 -4
  325. data/sig/x_twitter_scraper/models/style_get_performance_params.rbs +4 -4
  326. data/sig/x_twitter_scraper/models/style_list_response.rbs +4 -38
  327. data/sig/x_twitter_scraper/models/style_retrieve_params.rbs +4 -4
  328. data/sig/x_twitter_scraper/models/style_update_params.rbs +4 -4
  329. data/sig/x_twitter_scraper/models/webhook.rbs +4 -25
  330. data/sig/x_twitter_scraper/models/webhook_create_params.rbs +4 -28
  331. data/sig/x_twitter_scraper/models/webhook_create_response.rbs +4 -25
  332. data/sig/x_twitter_scraper/models/webhook_list_deliveries_response.rbs +4 -68
  333. data/sig/x_twitter_scraper/models/webhook_list_response.rbs +4 -69
  334. data/sig/x_twitter_scraper/models/webhook_update_params.rbs +6 -27
  335. data/sig/x_twitter_scraper/models/x/account_bulk_retry_params.rbs +19 -0
  336. data/sig/x_twitter_scraper/models/x/account_bulk_retry_response.rbs +15 -0
  337. data/sig/x_twitter_scraper/models/x/account_list_response.rbs +4 -45
  338. data/sig/x_twitter_scraper/models/x/communities/tweet_list_by_community_params.rbs +34 -0
  339. data/sig/x_twitter_scraper/models/x/search_tweet.rbs +7 -0
  340. data/sig/x_twitter_scraper/models/x/tweet_delete_params.rbs +4 -4
  341. data/sig/x_twitter_scraper/models/x/tweet_detail.rbs +108 -3
  342. data/sig/x_twitter_scraper/models/x/tweet_retrieve_params.rbs +4 -5
  343. data/sig/x_twitter_scraper/models/x/tweet_retrieve_response.rbs +10 -108
  344. data/sig/x_twitter_scraper/models/x/tweets/like_create_params.rbs +4 -4
  345. data/sig/x_twitter_scraper/models/x/tweets/like_delete_params.rbs +4 -4
  346. data/sig/x_twitter_scraper/models/x/tweets/retweet_create_params.rbs +4 -4
  347. data/sig/x_twitter_scraper/models/x/tweets/retweet_delete_params.rbs +4 -4
  348. data/sig/x_twitter_scraper/models/x/user_retrieve_params.rbs +4 -5
  349. data/sig/x_twitter_scraper/models/x/users/follow_create_params.rbs +4 -4
  350. data/sig/x_twitter_scraper/models/x/users/follow_delete_all_params.rbs +4 -4
  351. data/sig/x_twitter_scraper/models/x_get_article_response.rbs +6 -45
  352. data/sig/x_twitter_scraper/models/x_get_trends_response.rbs +63 -0
  353. data/sig/x_twitter_scraper/resources/drafts.rbs +2 -2
  354. data/sig/x_twitter_scraper/resources/events.rbs +2 -2
  355. data/sig/x_twitter_scraper/resources/integrations.rbs +6 -6
  356. data/sig/x_twitter_scraper/resources/monitors.rbs +4 -4
  357. data/sig/x_twitter_scraper/resources/radar.rbs +1 -1
  358. data/sig/x_twitter_scraper/resources/styles.rbs +7 -7
  359. data/sig/x_twitter_scraper/resources/webhooks.rbs +3 -3
  360. data/sig/x_twitter_scraper/resources/x/accounts.rbs +5 -1
  361. data/sig/x_twitter_scraper/resources/x/bookmarks.rbs +1 -1
  362. data/sig/x_twitter_scraper/resources/x/communities/join.rbs +2 -2
  363. data/sig/x_twitter_scraper/resources/x/communities/tweets.rbs +7 -1
  364. data/sig/x_twitter_scraper/resources/x/communities.rbs +3 -3
  365. data/sig/x_twitter_scraper/resources/x/lists.rbs +3 -3
  366. data/sig/x_twitter_scraper/resources/x/tweets/like.rbs +2 -2
  367. data/sig/x_twitter_scraper/resources/x/tweets/retweet.rbs +2 -2
  368. data/sig/x_twitter_scraper/resources/x/tweets.rbs +9 -9
  369. data/sig/x_twitter_scraper/resources/x/users/follow.rbs +2 -2
  370. data/sig/x_twitter_scraper/resources/x/users.rbs +12 -12
  371. data/sig/x_twitter_scraper/resources/x.rbs +4 -2
  372. metadata +17 -88
  373. data/lib/x_twitter_scraper/models/draft_create_response.rb +0 -46
  374. data/lib/x_twitter_scraper/models/draft_retrieve_response.rb +0 -46
  375. data/lib/x_twitter_scraper/models/event_retrieve_response.rb +0 -74
  376. data/lib/x_twitter_scraper/models/integration_create_response.rb +0 -114
  377. data/lib/x_twitter_scraper/models/integration_retrieve_response.rb +0 -114
  378. data/lib/x_twitter_scraper/models/integration_update_response.rb +0 -114
  379. data/lib/x_twitter_scraper/models/monitor_retrieve_response.rb +0 -62
  380. data/lib/x_twitter_scraper/models/monitor_update_response.rb +0 -62
  381. data/lib/x_twitter_scraper/models/style_analyze_response.rb +0 -69
  382. data/lib/x_twitter_scraper/models/style_retrieve_response.rb +0 -69
  383. data/lib/x_twitter_scraper/models/style_update_response.rb +0 -69
  384. data/lib/x_twitter_scraper/models/webhook_update_response.rb +0 -56
  385. data/lib/x_twitter_scraper/models/x/account_retrieve_response.rb +0 -60
  386. data/lib/x_twitter_scraper/models/x/bookmark_list_response.rb +0 -124
  387. data/lib/x_twitter_scraper/models/x/communities/join_create_response.rb +0 -32
  388. data/lib/x_twitter_scraper/models/x/communities/join_delete_all_response.rb +0 -32
  389. data/lib/x_twitter_scraper/models/x/tweet_get_favoriters_response.rb +0 -101
  390. data/lib/x_twitter_scraper/models/x/tweet_get_quotes_response.rb +0 -124
  391. data/lib/x_twitter_scraper/models/x/tweet_get_replies_response.rb +0 -124
  392. data/lib/x_twitter_scraper/models/x/tweet_get_retweeters_response.rb +0 -101
  393. data/lib/x_twitter_scraper/models/x/tweet_get_thread_response.rb +0 -124
  394. data/lib/x_twitter_scraper/models/x/tweet_search_response.rb +0 -124
  395. data/lib/x_twitter_scraper/models/x/user_retrieve_followers_you_know_response.rb +0 -101
  396. data/lib/x_twitter_scraper/models/x/user_retrieve_likes_response.rb +0 -124
  397. data/lib/x_twitter_scraper/models/x/user_retrieve_media_response.rb +0 -124
  398. data/lib/x_twitter_scraper/models/x/user_retrieve_response.rb +0 -78
  399. data/lib/x_twitter_scraper/models/x/user_retrieve_tweets_response.rb +0 -124
  400. data/lib/x_twitter_scraper/models/x_get_home_timeline_response.rb +0 -122
  401. data/rbi/x_twitter_scraper/models/draft_create_response.rbi +0 -67
  402. data/rbi/x_twitter_scraper/models/draft_retrieve_response.rbi +0 -67
  403. data/rbi/x_twitter_scraper/models/event_retrieve_response.rbi +0 -135
  404. data/rbi/x_twitter_scraper/models/integration_create_response.rbi +0 -215
  405. data/rbi/x_twitter_scraper/models/integration_retrieve_response.rbi +0 -215
  406. data/rbi/x_twitter_scraper/models/integration_update_response.rbi +0 -215
  407. data/rbi/x_twitter_scraper/models/monitor_retrieve_response.rbi +0 -134
  408. data/rbi/x_twitter_scraper/models/monitor_update_response.rbi +0 -134
  409. data/rbi/x_twitter_scraper/models/style_analyze_response.rbi +0 -120
  410. data/rbi/x_twitter_scraper/models/style_retrieve_response.rbi +0 -120
  411. data/rbi/x_twitter_scraper/models/style_update_response.rbi +0 -120
  412. data/rbi/x_twitter_scraper/models/webhook_update_response.rbi +0 -122
  413. data/rbi/x_twitter_scraper/models/x/account_retrieve_response.rbi +0 -91
  414. data/rbi/x_twitter_scraper/models/x/bookmark_list_response.rbi +0 -231
  415. data/rbi/x_twitter_scraper/models/x/communities/join_create_response.rbi +0 -50
  416. data/rbi/x_twitter_scraper/models/x/communities/join_delete_all_response.rbi +0 -50
  417. data/rbi/x_twitter_scraper/models/x/tweet_get_favoriters_response.rbi +0 -177
  418. data/rbi/x_twitter_scraper/models/x/tweet_get_quotes_response.rbi +0 -231
  419. data/rbi/x_twitter_scraper/models/x/tweet_get_replies_response.rbi +0 -231
  420. data/rbi/x_twitter_scraper/models/x/tweet_get_retweeters_response.rbi +0 -177
  421. data/rbi/x_twitter_scraper/models/x/tweet_get_thread_response.rbi +0 -231
  422. data/rbi/x_twitter_scraper/models/x/tweet_search_response.rbi +0 -229
  423. data/rbi/x_twitter_scraper/models/x/user_retrieve_followers_you_know_response.rbi +0 -177
  424. data/rbi/x_twitter_scraper/models/x/user_retrieve_likes_response.rbi +0 -233
  425. data/rbi/x_twitter_scraper/models/x/user_retrieve_media_response.rbi +0 -233
  426. data/rbi/x_twitter_scraper/models/x/user_retrieve_response.rbi +0 -124
  427. data/rbi/x_twitter_scraper/models/x/user_retrieve_tweets_response.rbi +0 -233
  428. data/rbi/x_twitter_scraper/models/x_get_home_timeline_response.rbi +0 -227
  429. data/sig/x_twitter_scraper/models/draft_create_response.rbs +0 -49
  430. data/sig/x_twitter_scraper/models/draft_retrieve_response.rbs +0 -49
  431. data/sig/x_twitter_scraper/models/event_retrieve_response.rbs +0 -73
  432. data/sig/x_twitter_scraper/models/integration_create_response.rbs +0 -109
  433. data/sig/x_twitter_scraper/models/integration_retrieve_response.rbs +0 -109
  434. data/sig/x_twitter_scraper/models/integration_update_response.rbs +0 -109
  435. data/sig/x_twitter_scraper/models/monitor_retrieve_response.rbs +0 -66
  436. data/sig/x_twitter_scraper/models/monitor_update_response.rbs +0 -66
  437. data/sig/x_twitter_scraper/models/style_analyze_response.rbs +0 -76
  438. data/sig/x_twitter_scraper/models/style_retrieve_response.rbs +0 -76
  439. data/sig/x_twitter_scraper/models/style_update_response.rbs +0 -76
  440. data/sig/x_twitter_scraper/models/webhook_update_response.rbs +0 -61
  441. data/sig/x_twitter_scraper/models/x/account_retrieve_response.rbs +0 -63
  442. data/sig/x_twitter_scraper/models/x/bookmark_list_response.rbs +0 -141
  443. data/sig/x_twitter_scraper/models/x/communities/join_create_response.rbs +0 -30
  444. data/sig/x_twitter_scraper/models/x/communities/join_delete_all_response.rbs +0 -30
  445. data/sig/x_twitter_scraper/models/x/tweet_get_favoriters_response.rbs +0 -115
  446. data/sig/x_twitter_scraper/models/x/tweet_get_quotes_response.rbs +0 -141
  447. data/sig/x_twitter_scraper/models/x/tweet_get_replies_response.rbs +0 -141
  448. data/sig/x_twitter_scraper/models/x/tweet_get_retweeters_response.rbs +0 -115
  449. data/sig/x_twitter_scraper/models/x/tweet_get_thread_response.rbs +0 -141
  450. data/sig/x_twitter_scraper/models/x/tweet_search_response.rbs +0 -141
  451. data/sig/x_twitter_scraper/models/x/user_retrieve_followers_you_know_response.rbs +0 -115
  452. data/sig/x_twitter_scraper/models/x/user_retrieve_likes_response.rbs +0 -141
  453. data/sig/x_twitter_scraper/models/x/user_retrieve_media_response.rbs +0 -141
  454. data/sig/x_twitter_scraper/models/x/user_retrieve_response.rbs +0 -88
  455. data/sig/x_twitter_scraper/models/x/user_retrieve_tweets_response.rbs +0 -141
  456. data/sig/x_twitter_scraper/models/x_get_home_timeline_response.rbs +0 -139
@@ -12,13 +12,13 @@ module XTwitterScraper
12
12
  # Look up X user
13
13
  sig do
14
14
  params(
15
- username: String,
15
+ id: String,
16
16
  request_options: XTwitterScraper::RequestOptions::OrHash
17
- ).returns(XTwitterScraper::Models::X::UserRetrieveResponse)
17
+ ).returns(XTwitterScraper::X::UserProfile)
18
18
  end
19
19
  def retrieve(
20
- # X username (without @)
21
- username,
20
+ # X username (without @) or user ID
21
+ id,
22
22
  request_options: {}
23
23
  )
24
24
  end
@@ -28,7 +28,7 @@ module XTwitterScraper
28
28
  params(
29
29
  ids: String,
30
30
  request_options: XTwitterScraper::RequestOptions::OrHash
31
- ).void
31
+ ).returns(XTwitterScraper::PaginatedUsers)
32
32
  end
33
33
  def retrieve_batch(
34
34
  # Comma-separated user IDs (max 100)
@@ -44,12 +44,12 @@ module XTwitterScraper
44
44
  cursor: String,
45
45
  page_size: Integer,
46
46
  request_options: XTwitterScraper::RequestOptions::OrHash
47
- ).void
47
+ ).returns(XTwitterScraper::PaginatedUsers)
48
48
  end
49
49
  def retrieve_followers(
50
50
  # User ID or username
51
51
  id,
52
- # Pagination cursor
52
+ # Pagination cursor for followers list
53
53
  cursor: nil,
54
54
  # Items per page (20-200, default 200)
55
55
  page_size: nil,
@@ -63,14 +63,12 @@ module XTwitterScraper
63
63
  id: String,
64
64
  cursor: String,
65
65
  request_options: XTwitterScraper::RequestOptions::OrHash
66
- ).returns(
67
- XTwitterScraper::Models::X::UserRetrieveFollowersYouKnowResponse
68
- )
66
+ ).returns(XTwitterScraper::PaginatedUsers)
69
67
  end
70
68
  def retrieve_followers_you_know(
71
- # User ID
69
+ # User ID for followers-you-know lookup
72
70
  id,
73
- # Pagination cursor from previous response
71
+ # Pagination cursor for followers-you-know
74
72
  cursor: nil,
75
73
  request_options: {}
76
74
  )
@@ -83,14 +81,14 @@ module XTwitterScraper
83
81
  cursor: String,
84
82
  page_size: Integer,
85
83
  request_options: XTwitterScraper::RequestOptions::OrHash
86
- ).void
84
+ ).returns(XTwitterScraper::PaginatedUsers)
87
85
  end
88
86
  def retrieve_following(
89
- # User ID or username
87
+ # User ID or username for following lookup
90
88
  id,
91
- # Pagination cursor
89
+ # Pagination cursor for following list
92
90
  cursor: nil,
93
- # Items per page (20-200, default 200)
91
+ # Results per page (20-200, default 200)
94
92
  page_size: nil,
95
93
  request_options: {}
96
94
  )
@@ -102,12 +100,12 @@ module XTwitterScraper
102
100
  id: String,
103
101
  cursor: String,
104
102
  request_options: XTwitterScraper::RequestOptions::OrHash
105
- ).returns(XTwitterScraper::Models::X::UserRetrieveLikesResponse)
103
+ ).returns(XTwitterScraper::PaginatedTweets)
106
104
  end
107
105
  def retrieve_likes(
108
106
  # User ID
109
107
  id,
110
- # Pagination cursor from previous response
108
+ # Pagination cursor for liked tweets
111
109
  cursor: nil,
112
110
  request_options: {}
113
111
  )
@@ -119,12 +117,12 @@ module XTwitterScraper
119
117
  id: String,
120
118
  cursor: String,
121
119
  request_options: XTwitterScraper::RequestOptions::OrHash
122
- ).returns(XTwitterScraper::Models::X::UserRetrieveMediaResponse)
120
+ ).returns(XTwitterScraper::PaginatedTweets)
123
121
  end
124
122
  def retrieve_media(
125
- # User ID
123
+ # User ID for media lookup
126
124
  id,
127
- # Pagination cursor from previous response
125
+ # Pagination cursor for media tweets
128
126
  cursor: nil,
129
127
  request_options: {}
130
128
  )
@@ -138,16 +136,16 @@ module XTwitterScraper
138
136
  since_time: String,
139
137
  until_time: String,
140
138
  request_options: XTwitterScraper::RequestOptions::OrHash
141
- ).void
139
+ ).returns(XTwitterScraper::PaginatedTweets)
142
140
  end
143
141
  def retrieve_mentions(
144
- # User ID or username
142
+ # User ID or username for mentions lookup
145
143
  id,
146
- # Pagination cursor
144
+ # Pagination cursor for mentions
147
145
  cursor: nil,
148
- # Unix timestamp - filter after
146
+ # Unix timestamp - return mentions after this time
149
147
  since_time: nil,
150
- # Unix timestamp - filter before
148
+ # Unix timestamp - return mentions before this time
151
149
  until_time: nil,
152
150
  request_options: {}
153
151
  )
@@ -159,12 +157,12 @@ module XTwitterScraper
159
157
  q: String,
160
158
  cursor: String,
161
159
  request_options: XTwitterScraper::RequestOptions::OrHash
162
- ).void
160
+ ).returns(XTwitterScraper::PaginatedUsers)
163
161
  end
164
162
  def retrieve_search(
165
- # Search query
163
+ # User search query
166
164
  q:,
167
- # Pagination cursor
165
+ # Pagination cursor for user search
168
166
  cursor: nil,
169
167
  request_options: {}
170
168
  )
@@ -178,11 +176,12 @@ module XTwitterScraper
178
176
  include_parent_tweet: T::Boolean,
179
177
  include_replies: T::Boolean,
180
178
  request_options: XTwitterScraper::RequestOptions::OrHash
181
- ).returns(XTwitterScraper::Models::X::UserRetrieveTweetsResponse)
179
+ ).returns(XTwitterScraper::PaginatedTweets)
182
180
  end
183
181
  def retrieve_tweets(
182
+ # X user ID or username
184
183
  id,
185
- # Pagination cursor from previous response
184
+ # Pagination cursor for user tweets
186
185
  cursor: nil,
187
186
  # Include parent tweet for replies
188
187
  include_parent_tweet: nil,
@@ -198,12 +197,12 @@ module XTwitterScraper
198
197
  id: String,
199
198
  cursor: String,
200
199
  request_options: XTwitterScraper::RequestOptions::OrHash
201
- ).void
200
+ ).returns(XTwitterScraper::PaginatedUsers)
202
201
  end
203
202
  def retrieve_verified_followers(
204
- # User ID or username
203
+ # User ID or username for verified followers
205
204
  id,
206
- # Pagination cursor
205
+ # Pagination cursor for verified followers
207
206
  cursor: nil,
208
207
  request_options: {}
209
208
  )
@@ -48,7 +48,11 @@ module XTwitterScraper
48
48
  request_options: XTwitterScraper::RequestOptions::OrHash
49
49
  ).returns(XTwitterScraper::Models::XGetArticleResponse)
50
50
  end
51
- def get_article(tweet_id, request_options: {})
51
+ def get_article(
52
+ # Tweet ID of the article
53
+ tweet_id,
54
+ request_options: {}
55
+ )
52
56
  end
53
57
 
54
58
  # Get home timeline
@@ -57,10 +61,10 @@ module XTwitterScraper
57
61
  cursor: String,
58
62
  seen_tweet_ids: String,
59
63
  request_options: XTwitterScraper::RequestOptions::OrHash
60
- ).returns(XTwitterScraper::Models::XGetHomeTimelineResponse)
64
+ ).returns(XTwitterScraper::PaginatedTweets)
61
65
  end
62
66
  def get_home_timeline(
63
- # Pagination cursor from previous response
67
+ # Pagination cursor for timeline
64
68
  cursor: nil,
65
69
  # Comma-separated tweet IDs to exclude from results
66
70
  seen_tweet_ids: nil,
@@ -77,7 +81,7 @@ module XTwitterScraper
77
81
  ).returns(XTwitterScraper::Models::XGetNotificationsResponse)
78
82
  end
79
83
  def get_notifications(
80
- # Pagination cursor from previous response
84
+ # Pagination cursor for notifications
81
85
  cursor: nil,
82
86
  # Notification type filter
83
87
  type: nil,
@@ -87,7 +91,9 @@ module XTwitterScraper
87
91
 
88
92
  # Get trending topics
89
93
  sig do
90
- params(request_options: XTwitterScraper::RequestOptions::OrHash).void
94
+ params(
95
+ request_options: XTwitterScraper::RequestOptions::OrHash
96
+ ).returns(XTwitterScraper::Models::XGetTrendsResponse)
91
97
  end
92
98
  def get_trends(request_options: {})
93
99
  end
@@ -1,62 +1,13 @@
1
1
  module XTwitterScraper
2
2
  module Models
3
- type api_key_list_response =
4
- { keys: ::Array[XTwitterScraper::Models::APIKeyListResponse::Key] }
3
+ type api_key_list_response = { keys: ::Array[XTwitterScraper::APIKey] }
5
4
 
6
5
  class APIKeyListResponse < XTwitterScraper::Internal::Type::BaseModel
7
- attr_accessor keys: ::Array[XTwitterScraper::Models::APIKeyListResponse::Key]
6
+ attr_accessor keys: ::Array[XTwitterScraper::APIKey]
8
7
 
9
- def initialize: (
10
- keys: ::Array[XTwitterScraper::Models::APIKeyListResponse::Key]
11
- ) -> void
8
+ def initialize: (keys: ::Array[XTwitterScraper::APIKey]) -> void
12
9
 
13
- def to_hash: -> {
14
- keys: ::Array[XTwitterScraper::Models::APIKeyListResponse::Key]
15
- }
16
-
17
- type key =
18
- {
19
- id: String,
20
- created_at: Time,
21
- is_active: bool,
22
- name: String,
23
- prefix: String,
24
- last_used_at: Time
25
- }
26
-
27
- class Key < XTwitterScraper::Internal::Type::BaseModel
28
- attr_accessor id: String
29
-
30
- attr_accessor created_at: Time
31
-
32
- attr_accessor is_active: bool
33
-
34
- attr_accessor name: String
35
-
36
- attr_accessor prefix: String
37
-
38
- attr_reader last_used_at: Time?
39
-
40
- def last_used_at=: (Time) -> Time
41
-
42
- def initialize: (
43
- id: String,
44
- created_at: Time,
45
- is_active: bool,
46
- name: String,
47
- prefix: String,
48
- ?last_used_at: Time
49
- ) -> void
50
-
51
- def to_hash: -> {
52
- id: String,
53
- created_at: Time,
54
- is_active: bool,
55
- name: String,
56
- prefix: String,
57
- last_used_at: Time
58
- }
59
- end
10
+ def to_hash: -> { keys: ::Array[XTwitterScraper::APIKey] }
60
11
  end
61
12
  end
62
13
  end
@@ -2,13 +2,13 @@ module XTwitterScraper
2
2
  module Models
3
3
  type draft_list_response =
4
4
  {
5
- drafts: ::Array[XTwitterScraper::Models::DraftListResponse::Draft],
5
+ drafts: ::Array[XTwitterScraper::Draft],
6
6
  has_more: bool,
7
7
  next_cursor: String
8
8
  }
9
9
 
10
10
  class DraftListResponse < XTwitterScraper::Internal::Type::BaseModel
11
- attr_accessor drafts: ::Array[XTwitterScraper::Models::DraftListResponse::Draft]
11
+ attr_accessor drafts: ::Array[XTwitterScraper::Draft]
12
12
 
13
13
  attr_accessor has_more: bool
14
14
 
@@ -17,57 +17,16 @@ module XTwitterScraper
17
17
  def next_cursor=: (String) -> String
18
18
 
19
19
  def initialize: (
20
- drafts: ::Array[XTwitterScraper::Models::DraftListResponse::Draft],
20
+ drafts: ::Array[XTwitterScraper::Draft],
21
21
  has_more: bool,
22
22
  ?next_cursor: String
23
23
  ) -> void
24
24
 
25
25
  def to_hash: -> {
26
- drafts: ::Array[XTwitterScraper::Models::DraftListResponse::Draft],
26
+ drafts: ::Array[XTwitterScraper::Draft],
27
27
  has_more: bool,
28
28
  next_cursor: String
29
29
  }
30
-
31
- type draft =
32
- {
33
- id: String,
34
- created_at: Time,
35
- text: String,
36
- goal: String,
37
- topic: String
38
- }
39
-
40
- class Draft < XTwitterScraper::Internal::Type::BaseModel
41
- attr_accessor id: String
42
-
43
- attr_accessor created_at: Time
44
-
45
- attr_accessor text: String
46
-
47
- attr_reader goal: String?
48
-
49
- def goal=: (String) -> String
50
-
51
- attr_reader topic: String?
52
-
53
- def topic=: (String) -> String
54
-
55
- def initialize: (
56
- id: String,
57
- created_at: Time,
58
- text: String,
59
- ?goal: String,
60
- ?topic: String
61
- ) -> void
62
-
63
- def to_hash: -> {
64
- id: String,
65
- created_at: Time,
66
- text: String,
67
- goal: String,
68
- topic: String
69
- }
70
- end
71
30
  end
72
31
  end
73
32
  end
@@ -2,13 +2,13 @@ module XTwitterScraper
2
2
  module Models
3
3
  type draw_list_response =
4
4
  {
5
- draws: ::Array[XTwitterScraper::Models::DrawListResponse::Draw],
5
+ draws: ::Array[XTwitterScraper::DrawListItem],
6
6
  has_more: bool,
7
7
  next_cursor: String
8
8
  }
9
9
 
10
10
  class DrawListResponse < XTwitterScraper::Internal::Type::BaseModel
11
- attr_accessor draws: ::Array[XTwitterScraper::Models::DrawListResponse::Draw]
11
+ attr_accessor draws: ::Array[XTwitterScraper::DrawListItem]
12
12
 
13
13
  attr_accessor has_more: bool
14
14
 
@@ -17,65 +17,16 @@ module XTwitterScraper
17
17
  def next_cursor=: (String) -> String
18
18
 
19
19
  def initialize: (
20
- draws: ::Array[XTwitterScraper::Models::DrawListResponse::Draw],
20
+ draws: ::Array[XTwitterScraper::DrawListItem],
21
21
  has_more: bool,
22
22
  ?next_cursor: String
23
23
  ) -> void
24
24
 
25
25
  def to_hash: -> {
26
- draws: ::Array[XTwitterScraper::Models::DrawListResponse::Draw],
26
+ draws: ::Array[XTwitterScraper::DrawListItem],
27
27
  has_more: bool,
28
28
  next_cursor: String
29
29
  }
30
-
31
- type draw =
32
- {
33
- id: String,
34
- created_at: Time,
35
- status: String,
36
- total_entries: Integer,
37
- tweet_url: String,
38
- valid_entries: Integer,
39
- drawn_at: Time
40
- }
41
-
42
- class Draw < XTwitterScraper::Internal::Type::BaseModel
43
- attr_accessor id: String
44
-
45
- attr_accessor created_at: Time
46
-
47
- attr_accessor status: String
48
-
49
- attr_accessor total_entries: Integer
50
-
51
- attr_accessor tweet_url: String
52
-
53
- attr_accessor valid_entries: Integer
54
-
55
- attr_reader drawn_at: Time?
56
-
57
- def drawn_at=: (Time) -> Time
58
-
59
- def initialize: (
60
- id: String,
61
- created_at: Time,
62
- status: String,
63
- total_entries: Integer,
64
- tweet_url: String,
65
- valid_entries: Integer,
66
- ?drawn_at: Time
67
- ) -> void
68
-
69
- def to_hash: -> {
70
- id: String,
71
- created_at: Time,
72
- status: String,
73
- total_entries: Integer,
74
- tweet_url: String,
75
- valid_entries: Integer,
76
- drawn_at: Time
77
- }
78
- end
79
30
  end
80
31
  end
81
32
  end
@@ -2,140 +2,24 @@ module XTwitterScraper
2
2
  module Models
3
3
  type draw_retrieve_response =
4
4
  {
5
- draw: XTwitterScraper::Models::DrawRetrieveResponse::Draw,
6
- winners: ::Array[XTwitterScraper::Models::DrawRetrieveResponse::Winner]
5
+ draw: XTwitterScraper::DrawDetail,
6
+ winners: ::Array[XTwitterScraper::Winner]
7
7
  }
8
8
 
9
9
  class DrawRetrieveResponse < XTwitterScraper::Internal::Type::BaseModel
10
- attr_accessor draw: XTwitterScraper::Models::DrawRetrieveResponse::Draw
10
+ attr_accessor draw: XTwitterScraper::DrawDetail
11
11
 
12
- attr_accessor winners: ::Array[XTwitterScraper::Models::DrawRetrieveResponse::Winner]
12
+ attr_accessor winners: ::Array[XTwitterScraper::Winner]
13
13
 
14
14
  def initialize: (
15
- draw: XTwitterScraper::Models::DrawRetrieveResponse::Draw,
16
- winners: ::Array[XTwitterScraper::Models::DrawRetrieveResponse::Winner]
15
+ draw: XTwitterScraper::DrawDetail,
16
+ winners: ::Array[XTwitterScraper::Winner]
17
17
  ) -> void
18
18
 
19
19
  def to_hash: -> {
20
- draw: XTwitterScraper::Models::DrawRetrieveResponse::Draw,
21
- winners: ::Array[XTwitterScraper::Models::DrawRetrieveResponse::Winner]
20
+ draw: XTwitterScraper::DrawDetail,
21
+ winners: ::Array[XTwitterScraper::Winner]
22
22
  }
23
-
24
- type draw =
25
- {
26
- id: String,
27
- created_at: Time,
28
- status: String,
29
- total_entries: Integer,
30
- tweet_author_username: String,
31
- tweet_id: String,
32
- tweet_like_count: Integer,
33
- tweet_quote_count: Integer,
34
- tweet_reply_count: Integer,
35
- tweet_retweet_count: Integer,
36
- tweet_text: String,
37
- tweet_url: String,
38
- valid_entries: Integer,
39
- drawn_at: Time
40
- }
41
-
42
- class Draw < XTwitterScraper::Internal::Type::BaseModel
43
- attr_accessor id: String
44
-
45
- attr_accessor created_at: Time
46
-
47
- attr_accessor status: String
48
-
49
- attr_accessor total_entries: Integer
50
-
51
- attr_accessor tweet_author_username: String
52
-
53
- attr_accessor tweet_id: String
54
-
55
- attr_accessor tweet_like_count: Integer
56
-
57
- attr_accessor tweet_quote_count: Integer
58
-
59
- attr_accessor tweet_reply_count: Integer
60
-
61
- attr_accessor tweet_retweet_count: Integer
62
-
63
- attr_accessor tweet_text: String
64
-
65
- attr_accessor tweet_url: String
66
-
67
- attr_accessor valid_entries: Integer
68
-
69
- attr_reader drawn_at: Time?
70
-
71
- def drawn_at=: (Time) -> Time
72
-
73
- def initialize: (
74
- id: String,
75
- created_at: Time,
76
- status: String,
77
- total_entries: Integer,
78
- tweet_author_username: String,
79
- tweet_id: String,
80
- tweet_like_count: Integer,
81
- tweet_quote_count: Integer,
82
- tweet_reply_count: Integer,
83
- tweet_retweet_count: Integer,
84
- tweet_text: String,
85
- tweet_url: String,
86
- valid_entries: Integer,
87
- ?drawn_at: Time
88
- ) -> void
89
-
90
- def to_hash: -> {
91
- id: String,
92
- created_at: Time,
93
- status: String,
94
- total_entries: Integer,
95
- tweet_author_username: String,
96
- tweet_id: String,
97
- tweet_like_count: Integer,
98
- tweet_quote_count: Integer,
99
- tweet_reply_count: Integer,
100
- tweet_retweet_count: Integer,
101
- tweet_text: String,
102
- tweet_url: String,
103
- valid_entries: Integer,
104
- drawn_at: Time
105
- }
106
- end
107
-
108
- type winner =
109
- {
110
- author_username: String,
111
- is_backup: bool,
112
- position: Integer,
113
- tweet_id: String
114
- }
115
-
116
- class Winner < XTwitterScraper::Internal::Type::BaseModel
117
- attr_accessor author_username: String
118
-
119
- attr_accessor is_backup: bool
120
-
121
- attr_accessor position: Integer
122
-
123
- attr_accessor tweet_id: String
124
-
125
- def initialize: (
126
- author_username: String,
127
- is_backup: bool,
128
- position: Integer,
129
- tweet_id: String
130
- ) -> void
131
-
132
- def to_hash: -> {
133
- author_username: String,
134
- is_backup: bool,
135
- position: Integer,
136
- tweet_id: String
137
- }
138
- end
139
23
  end
140
24
  end
141
25
  end
@@ -6,7 +6,7 @@ module XTwitterScraper
6
6
  total_entries: Integer,
7
7
  tweet_id: String,
8
8
  valid_entries: Integer,
9
- winners: ::Array[XTwitterScraper::Models::DrawRunResponse::Winner]
9
+ winners: ::Array[XTwitterScraper::Winner]
10
10
  }
11
11
 
12
12
  class DrawRunResponse < XTwitterScraper::Internal::Type::BaseModel
@@ -18,14 +18,14 @@ module XTwitterScraper
18
18
 
19
19
  attr_accessor valid_entries: Integer
20
20
 
21
- attr_accessor winners: ::Array[XTwitterScraper::Models::DrawRunResponse::Winner]
21
+ attr_accessor winners: ::Array[XTwitterScraper::Winner]
22
22
 
23
23
  def initialize: (
24
24
  id: String,
25
25
  total_entries: Integer,
26
26
  tweet_id: String,
27
27
  valid_entries: Integer,
28
- winners: ::Array[XTwitterScraper::Models::DrawRunResponse::Winner]
28
+ winners: ::Array[XTwitterScraper::Winner]
29
29
  ) -> void
30
30
 
31
31
  def to_hash: -> {
@@ -33,40 +33,8 @@ module XTwitterScraper
33
33
  total_entries: Integer,
34
34
  tweet_id: String,
35
35
  valid_entries: Integer,
36
- winners: ::Array[XTwitterScraper::Models::DrawRunResponse::Winner]
36
+ winners: ::Array[XTwitterScraper::Winner]
37
37
  }
38
-
39
- type winner =
40
- {
41
- author_username: String,
42
- is_backup: bool,
43
- position: Integer,
44
- tweet_id: String
45
- }
46
-
47
- class Winner < XTwitterScraper::Internal::Type::BaseModel
48
- attr_accessor author_username: String
49
-
50
- attr_accessor is_backup: bool
51
-
52
- attr_accessor position: Integer
53
-
54
- attr_accessor tweet_id: String
55
-
56
- def initialize: (
57
- author_username: String,
58
- is_backup: bool,
59
- position: Integer,
60
- tweet_id: String
61
- ) -> void
62
-
63
- def to_hash: -> {
64
- author_username: String,
65
- is_backup: bool,
66
- position: Integer,
67
- tweet_id: String
68
- }
69
- end
70
38
  end
71
39
  end
72
40
  end