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
@@ -17,22 +17,22 @@ module XTwitterScraper
17
17
  end
18
18
 
19
19
  sig { returns(String) }
20
- attr_accessor :user_id
20
+ attr_accessor :id
21
21
 
22
- # X account (@username or account ID)
22
+ # X account identifier (@username or account ID)
23
23
  sig { returns(String) }
24
24
  attr_accessor :account
25
25
 
26
26
  sig do
27
27
  params(
28
- user_id: String,
28
+ id: String,
29
29
  account: String,
30
30
  request_options: XTwitterScraper::RequestOptions::OrHash
31
31
  ).returns(T.attached_class)
32
32
  end
33
33
  def self.new(
34
- user_id:,
35
- # X account (@username or account ID)
34
+ id:,
35
+ # X account identifier (@username or account ID)
36
36
  account:,
37
37
  request_options: {}
38
38
  )
@@ -41,7 +41,7 @@ module XTwitterScraper
41
41
  sig do
42
42
  override.returns(
43
43
  {
44
- user_id: String,
44
+ id: String,
45
45
  account: String,
46
46
  request_options: XTwitterScraper::RequestOptions
47
47
  }
@@ -29,6 +29,7 @@ module XTwitterScraper
29
29
  sig { returns(String) }
30
30
  attr_accessor :x_username
31
31
 
32
+ # Linked X account summary with username and connection status.
32
33
  sig do
33
34
  params(
34
35
  id: String,
@@ -47,6 +47,7 @@ module XTwitterScraper
47
47
  sig { params(updated_at: Time).void }
48
48
  attr_writer :updated_at
49
49
 
50
+ # Full X account details including proxy, cookies, and update timestamp.
50
51
  sig do
51
52
  params(
52
53
  id: String,
@@ -21,33 +21,32 @@ module XTwitterScraper
21
21
  end
22
22
  attr_writer :article
23
23
 
24
- sig do
25
- returns(T.nilable(XTwitterScraper::Models::XGetArticleResponse::Author))
26
- end
24
+ # Author of a tweet with follower count and verification status.
25
+ sig { returns(T.nilable(XTwitterScraper::X::TweetAuthor)) }
27
26
  attr_reader :author
28
27
 
29
- sig do
30
- params(
31
- author: XTwitterScraper::Models::XGetArticleResponse::Author::OrHash
32
- ).void
33
- end
28
+ sig { params(author: XTwitterScraper::X::TweetAuthor::OrHash).void }
34
29
  attr_writer :author
35
30
 
36
31
  sig do
37
32
  params(
38
33
  article:
39
34
  XTwitterScraper::Models::XGetArticleResponse::Article::OrHash,
40
- author: XTwitterScraper::Models::XGetArticleResponse::Author::OrHash
35
+ author: XTwitterScraper::X::TweetAuthor::OrHash
41
36
  ).returns(T.attached_class)
42
37
  end
43
- def self.new(article:, author: nil)
38
+ def self.new(
39
+ article:,
40
+ # Author of a tweet with follower count and verification status.
41
+ author: nil
42
+ )
44
43
  end
45
44
 
46
45
  sig do
47
46
  override.returns(
48
47
  {
49
48
  article: XTwitterScraper::Models::XGetArticleResponse::Article,
50
- author: XTwitterScraper::Models::XGetArticleResponse::Author
49
+ author: XTwitterScraper::X::TweetAuthor
51
50
  }
52
51
  )
53
52
  end
@@ -260,66 +259,6 @@ module XTwitterScraper
260
259
  end
261
260
  end
262
261
  end
263
-
264
- class Author < XTwitterScraper::Internal::Type::BaseModel
265
- OrHash =
266
- T.type_alias do
267
- T.any(
268
- XTwitterScraper::Models::XGetArticleResponse::Author,
269
- XTwitterScraper::Internal::AnyHash
270
- )
271
- end
272
-
273
- sig { returns(String) }
274
- attr_accessor :id
275
-
276
- sig { returns(Integer) }
277
- attr_accessor :followers
278
-
279
- sig { returns(String) }
280
- attr_accessor :username
281
-
282
- sig { returns(T::Boolean) }
283
- attr_accessor :verified
284
-
285
- sig { returns(T.nilable(String)) }
286
- attr_reader :profile_picture
287
-
288
- sig { params(profile_picture: String).void }
289
- attr_writer :profile_picture
290
-
291
- sig do
292
- params(
293
- id: String,
294
- followers: Integer,
295
- username: String,
296
- verified: T::Boolean,
297
- profile_picture: String
298
- ).returns(T.attached_class)
299
- end
300
- def self.new(
301
- id:,
302
- followers:,
303
- username:,
304
- verified:,
305
- profile_picture: nil
306
- )
307
- end
308
-
309
- sig do
310
- override.returns(
311
- {
312
- id: String,
313
- followers: Integer,
314
- username: String,
315
- verified: T::Boolean,
316
- profile_picture: String
317
- }
318
- )
319
- end
320
- def to_hash
321
- end
322
- end
323
262
  end
324
263
  end
325
264
  end
@@ -14,7 +14,7 @@ module XTwitterScraper
14
14
  )
15
15
  end
16
16
 
17
- # Pagination cursor from previous response
17
+ # Pagination cursor for timeline
18
18
  sig { returns(T.nilable(String)) }
19
19
  attr_reader :cursor
20
20
 
@@ -36,7 +36,7 @@ module XTwitterScraper
36
36
  ).returns(T.attached_class)
37
37
  end
38
38
  def self.new(
39
- # Pagination cursor from previous response
39
+ # Pagination cursor for timeline
40
40
  cursor: nil,
41
41
  # Comma-separated tweet IDs to exclude from results
42
42
  seen_tweet_ids: nil,
@@ -14,7 +14,7 @@ module XTwitterScraper
14
14
  )
15
15
  end
16
16
 
17
- # Pagination cursor from previous response
17
+ # Pagination cursor for notifications
18
18
  sig { returns(T.nilable(String)) }
19
19
  attr_reader :cursor
20
20
 
@@ -44,7 +44,7 @@ module XTwitterScraper
44
44
  ).returns(T.attached_class)
45
45
  end
46
46
  def self.new(
47
- # Pagination cursor from previous response
47
+ # Pagination cursor for notifications
48
48
  cursor: nil,
49
49
  # Notification type filter
50
50
  type: nil,
@@ -0,0 +1,102 @@
1
+ # typed: strong
2
+
3
+ module XTwitterScraper
4
+ module Models
5
+ class XGetTrendsResponse < XTwitterScraper::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ XTwitterScraper::Models::XGetTrendsResponse,
10
+ XTwitterScraper::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ sig { returns(Integer) }
15
+ attr_accessor :count
16
+
17
+ sig do
18
+ returns(T::Array[XTwitterScraper::Models::XGetTrendsResponse::Trend])
19
+ end
20
+ attr_accessor :trends
21
+
22
+ sig { returns(Integer) }
23
+ attr_accessor :woeid
24
+
25
+ sig do
26
+ params(
27
+ count: Integer,
28
+ trends:
29
+ T::Array[
30
+ XTwitterScraper::Models::XGetTrendsResponse::Trend::OrHash
31
+ ],
32
+ woeid: Integer
33
+ ).returns(T.attached_class)
34
+ end
35
+ def self.new(count:, trends:, woeid:)
36
+ end
37
+
38
+ sig do
39
+ override.returns(
40
+ {
41
+ count: Integer,
42
+ trends:
43
+ T::Array[XTwitterScraper::Models::XGetTrendsResponse::Trend],
44
+ woeid: Integer
45
+ }
46
+ )
47
+ end
48
+ def to_hash
49
+ end
50
+
51
+ class Trend < XTwitterScraper::Internal::Type::BaseModel
52
+ OrHash =
53
+ T.type_alias do
54
+ T.any(
55
+ XTwitterScraper::Models::XGetTrendsResponse::Trend,
56
+ XTwitterScraper::Internal::AnyHash
57
+ )
58
+ end
59
+
60
+ sig { returns(String) }
61
+ attr_accessor :name
62
+
63
+ sig { returns(T.nilable(String)) }
64
+ attr_reader :description
65
+
66
+ sig { params(description: String).void }
67
+ attr_writer :description
68
+
69
+ sig { returns(T.nilable(String)) }
70
+ attr_reader :query
71
+
72
+ sig { params(query: String).void }
73
+ attr_writer :query
74
+
75
+ sig { returns(T.nilable(Integer)) }
76
+ attr_reader :rank
77
+
78
+ sig { params(rank: Integer).void }
79
+ attr_writer :rank
80
+
81
+ sig do
82
+ params(
83
+ name: String,
84
+ description: String,
85
+ query: String,
86
+ rank: Integer
87
+ ).returns(T.attached_class)
88
+ end
89
+ def self.new(name:, description: nil, query: nil, rank: nil)
90
+ end
91
+
92
+ sig do
93
+ override.returns(
94
+ { name: String, description: String, query: String, rank: Integer }
95
+ )
96
+ end
97
+ def to_hash
98
+ end
99
+ end
100
+ end
101
+ end
102
+ end
@@ -11,7 +11,7 @@ module XTwitterScraper
11
11
  goal: XTwitterScraper::DraftCreateParams::Goal::OrSymbol,
12
12
  topic: String,
13
13
  request_options: XTwitterScraper::RequestOptions::OrHash
14
- ).returns(XTwitterScraper::Models::DraftCreateResponse)
14
+ ).returns(XTwitterScraper::DraftDetail)
15
15
  end
16
16
  def create(text:, goal: nil, topic: nil, request_options: {})
17
17
  end
@@ -21,7 +21,7 @@ module XTwitterScraper
21
21
  params(
22
22
  id: String,
23
23
  request_options: XTwitterScraper::RequestOptions::OrHash
24
- ).returns(XTwitterScraper::Models::DraftRetrieveResponse)
24
+ ).returns(XTwitterScraper::DraftDetail)
25
25
  end
26
26
  def retrieve(
27
27
  # Resource ID (stringified bigint)
@@ -41,6 +41,7 @@ module XTwitterScraper
41
41
  def list(
42
42
  # Cursor for pagination
43
43
  after_cursor: nil,
44
+ # Maximum number of items to return (1-100, default 50)
44
45
  limit: nil,
45
46
  request_options: {}
46
47
  )
@@ -27,8 +27,9 @@ module XTwitterScraper
27
27
  ).returns(XTwitterScraper::Models::DrawListResponse)
28
28
  end
29
29
  def list(
30
- # Cursor for pagination
30
+ # Cursor for keyset pagination
31
31
  after: nil,
32
+ # Maximum number of items to return (1-100, default 50)
32
33
  limit: nil,
33
34
  request_options: {}
34
35
  )
@@ -46,6 +47,7 @@ module XTwitterScraper
46
47
  def export(
47
48
  # Resource ID (stringified bigint)
48
49
  id,
50
+ # Export output format
49
51
  format_: nil,
50
52
  # Export winners or all entries
51
53
  type: nil,
@@ -9,7 +9,7 @@ module XTwitterScraper
9
9
  params(
10
10
  id: String,
11
11
  request_options: XTwitterScraper::RequestOptions::OrHash
12
- ).returns(XTwitterScraper::Models::EventRetrieveResponse)
12
+ ).returns(XTwitterScraper::EventDetail)
13
13
  end
14
14
  def retrieve(
15
15
  # Resource ID (stringified bigint)
@@ -22,17 +22,20 @@ module XTwitterScraper
22
22
  sig do
23
23
  params(
24
24
  after: String,
25
- event_type: XTwitterScraper::EventListParams::EventType::OrSymbol,
25
+ event_type: XTwitterScraper::EventType::OrSymbol,
26
26
  limit: Integer,
27
27
  monitor_id: String,
28
28
  request_options: XTwitterScraper::RequestOptions::OrHash
29
29
  ).returns(XTwitterScraper::Models::EventListResponse)
30
30
  end
31
31
  def list(
32
- # Cursor for pagination
32
+ # Cursor for keyset pagination
33
33
  after: nil,
34
+ # Filter events by type
34
35
  event_type: nil,
36
+ # Maximum number of items to return (1-100, default 50)
35
37
  limit: nil,
38
+ # Filter events by monitor ID
36
39
  monitor_id: nil,
37
40
  request_options: {}
38
41
  )
@@ -16,8 +16,9 @@ module XTwitterScraper
16
16
  def retrieve(
17
17
  # Extraction public ID (UUID)
18
18
  id,
19
- # Cursor for pagination
19
+ # Cursor for keyset pagination
20
20
  after: nil,
21
+ # Maximum number of results to return (1-1000, default 100)
21
22
  limit: nil,
22
23
  request_options: {}
23
24
  )
@@ -34,10 +35,13 @@ module XTwitterScraper
34
35
  ).returns(XTwitterScraper::Models::ExtractionListResponse)
35
36
  end
36
37
  def list(
37
- # Cursor for pagination
38
+ # Cursor for keyset pagination
38
39
  after: nil,
40
+ # Maximum number of items to return (1-100, default 50)
39
41
  limit: nil,
42
+ # Filter by job status
40
43
  status: nil,
44
+ # Filter by extraction tool type
41
45
  tool_type: nil,
42
46
  request_options: {}
43
47
  )
@@ -61,12 +65,13 @@ module XTwitterScraper
61
65
  ).returns(XTwitterScraper::Models::ExtractionEstimateCostResponse)
62
66
  end
63
67
  def estimate_cost(
68
+ # Identifier for the extraction tool used to run a job.
64
69
  tool_type:,
65
- # Raw advanced search query appended as-is (tweet_search_extractor)
70
+ # Raw advanced query string appended to the estimate (tweet_search_extractor)
66
71
  advanced_query: nil,
67
- # Exact phrase to match (tweet_search_extractor)
72
+ # Exact phrase filter for search estimation
68
73
  exact_phrase: nil,
69
- # Words to exclude from results (tweet_search_extractor)
74
+ # Words excluded from estimated search results
70
75
  exclude_words: nil,
71
76
  search_query: nil,
72
77
  target_community_id: nil,
@@ -90,6 +95,7 @@ module XTwitterScraper
90
95
  def export_results(
91
96
  # Extraction public ID
92
97
  id,
98
+ # Export file format
93
99
  format_: nil,
94
100
  request_options: {}
95
101
  )
@@ -112,6 +118,7 @@ module XTwitterScraper
112
118
  ).returns(XTwitterScraper::Models::ExtractionRunResponse)
113
119
  end
114
120
  def run(
121
+ # Identifier for the extraction tool used to run a job.
115
122
  tool_type:,
116
123
  # Raw advanced search query appended as-is (tweet_search_extractor)
117
124
  advanced_query: nil,
@@ -8,21 +8,19 @@ module XTwitterScraper
8
8
  sig do
9
9
  params(
10
10
  config: XTwitterScraper::IntegrationCreateParams::Config::OrHash,
11
- event_types:
12
- T::Array[
13
- XTwitterScraper::IntegrationCreateParams::EventType::OrSymbol
14
- ],
11
+ event_types: T::Array[XTwitterScraper::EventType::OrSymbol],
15
12
  name: String,
16
- type: XTwitterScraper::IntegrationCreateParams::Type::OrSymbol,
13
+ type: Symbol,
17
14
  request_options: XTwitterScraper::RequestOptions::OrHash
18
- ).returns(XTwitterScraper::Models::IntegrationCreateResponse)
15
+ ).returns(XTwitterScraper::Integration)
19
16
  end
20
17
  def create(
21
18
  # Integration config (e.g. Telegram chatId)
22
19
  config:,
20
+ # Array of event types to subscribe to.
23
21
  event_types:,
24
22
  name:,
25
- type:,
23
+ type: :telegram,
26
24
  request_options: {}
27
25
  )
28
26
  end
@@ -32,7 +30,7 @@ module XTwitterScraper
32
30
  params(
33
31
  id: String,
34
32
  request_options: XTwitterScraper::RequestOptions::OrHash
35
- ).returns(XTwitterScraper::Models::IntegrationRetrieveResponse)
33
+ ).returns(XTwitterScraper::Integration)
36
34
  end
37
35
  def retrieve(
38
36
  # Resource ID (stringified bigint)
@@ -45,10 +43,7 @@ module XTwitterScraper
45
43
  sig do
46
44
  params(
47
45
  id: String,
48
- event_types:
49
- T::Array[
50
- XTwitterScraper::IntegrationUpdateParams::EventType::OrSymbol
51
- ],
46
+ event_types: T::Array[XTwitterScraper::EventType::OrSymbol],
52
47
  filters: T::Hash[Symbol, T.anything],
53
48
  is_active: T::Boolean,
54
49
  message_template: T::Hash[Symbol, T.anything],
@@ -56,11 +51,12 @@ module XTwitterScraper
56
51
  scope_all_monitors: T::Boolean,
57
52
  silent_push: T::Boolean,
58
53
  request_options: XTwitterScraper::RequestOptions::OrHash
59
- ).returns(XTwitterScraper::Models::IntegrationUpdateResponse)
54
+ ).returns(XTwitterScraper::Integration)
60
55
  end
61
56
  def update(
62
57
  # Resource ID (stringified bigint)
63
58
  id,
59
+ # Array of event types to subscribe to.
64
60
  event_types: nil,
65
61
  # Event filter rules (JSON)
66
62
  filters: nil,
@@ -108,6 +104,7 @@ module XTwitterScraper
108
104
  def list_deliveries(
109
105
  # Resource ID (stringified bigint)
110
106
  id,
107
+ # Maximum number of items to return (1-100, default 50)
111
108
  limit: nil,
112
109
  request_options: {}
113
110
  )
@@ -7,13 +7,13 @@ module XTwitterScraper
7
7
  # Create monitor
8
8
  sig do
9
9
  params(
10
- event_types:
11
- T::Array[XTwitterScraper::MonitorCreateParams::EventType::OrSymbol],
10
+ event_types: T::Array[XTwitterScraper::EventType::OrSymbol],
12
11
  username: String,
13
12
  request_options: XTwitterScraper::RequestOptions::OrHash
14
13
  ).returns(XTwitterScraper::Models::MonitorCreateResponse)
15
14
  end
16
15
  def create(
16
+ # Array of event types to subscribe to.
17
17
  event_types:,
18
18
  # X username (without @)
19
19
  username:,
@@ -26,7 +26,7 @@ module XTwitterScraper
26
26
  params(
27
27
  id: String,
28
28
  request_options: XTwitterScraper::RequestOptions::OrHash
29
- ).returns(XTwitterScraper::Models::MonitorRetrieveResponse)
29
+ ).returns(XTwitterScraper::Monitor)
30
30
  end
31
31
  def retrieve(
32
32
  # Resource ID (stringified bigint)
@@ -39,15 +39,15 @@ module XTwitterScraper
39
39
  sig do
40
40
  params(
41
41
  id: String,
42
- event_types:
43
- T::Array[XTwitterScraper::MonitorUpdateParams::EventType::OrSymbol],
42
+ event_types: T::Array[XTwitterScraper::EventType::OrSymbol],
44
43
  is_active: T::Boolean,
45
44
  request_options: XTwitterScraper::RequestOptions::OrHash
46
- ).returns(XTwitterScraper::Models::MonitorUpdateResponse)
45
+ ).returns(XTwitterScraper::Monitor)
47
46
  end
48
47
  def update(
49
48
  # Resource ID (stringified bigint)
50
49
  id,
50
+ # Array of event types to subscribe to.
51
51
  event_types: nil,
52
52
  is_active: nil,
53
53
  request_options: {}
@@ -11,7 +11,8 @@ module XTwitterScraper
11
11
  count: Integer,
12
12
  hours: Integer,
13
13
  region: String,
14
- source: String,
14
+ source:
15
+ XTwitterScraper::RadarRetrieveTrendingTopicsParams::Source::OrSymbol,
15
16
  request_options: XTwitterScraper::RequestOptions::OrHash
16
17
  ).returns(XTwitterScraper::Models::RadarRetrieveTrendingTopicsResponse)
17
18
  end
@@ -7,13 +7,13 @@ module XTwitterScraper
7
7
  # Get cached style profile
8
8
  sig do
9
9
  params(
10
- username: String,
10
+ id: String,
11
11
  request_options: XTwitterScraper::RequestOptions::OrHash
12
- ).returns(XTwitterScraper::Models::StyleRetrieveResponse)
12
+ ).returns(XTwitterScraper::StyleProfile)
13
13
  end
14
14
  def retrieve(
15
- # X username of cached style
16
- username,
15
+ # Style profile ID or X username
16
+ id,
17
17
  request_options: {}
18
18
  )
19
19
  end
@@ -21,15 +21,15 @@ module XTwitterScraper
21
21
  # Save style profile with custom tweets
22
22
  sig do
23
23
  params(
24
- username: String,
24
+ id: String,
25
25
  label: String,
26
26
  tweets: T::Array[XTwitterScraper::StyleUpdateParams::Tweet::OrHash],
27
27
  request_options: XTwitterScraper::RequestOptions::OrHash
28
- ).returns(XTwitterScraper::Models::StyleUpdateResponse)
28
+ ).returns(XTwitterScraper::StyleProfile)
29
29
  end
30
30
  def update(
31
- # X username of cached style
32
- username,
31
+ # Style profile ID or X username
32
+ id,
33
33
  # Display label for the style
34
34
  label:,
35
35
  # Array of tweet objects
@@ -50,13 +50,13 @@ module XTwitterScraper
50
50
  # Delete a style profile
51
51
  sig do
52
52
  params(
53
- username: String,
53
+ id: String,
54
54
  request_options: XTwitterScraper::RequestOptions::OrHash
55
55
  ).void
56
56
  end
57
57
  def delete(
58
- # X username of cached style
59
- username,
58
+ # Style profile ID or X username
59
+ id,
60
60
  request_options: {}
61
61
  )
62
62
  end
@@ -66,7 +66,7 @@ module XTwitterScraper
66
66
  params(
67
67
  username: String,
68
68
  request_options: XTwitterScraper::RequestOptions::OrHash
69
- ).returns(XTwitterScraper::Models::StyleAnalyzeResponse)
69
+ ).returns(XTwitterScraper::StyleProfile)
70
70
  end
71
71
  def analyze(
72
72
  # X username to analyze
@@ -95,13 +95,13 @@ module XTwitterScraper
95
95
  # Get engagement metrics for style tweets
96
96
  sig do
97
97
  params(
98
- username: String,
98
+ id: String,
99
99
  request_options: XTwitterScraper::RequestOptions::OrHash
100
100
  ).returns(XTwitterScraper::Models::StyleGetPerformanceResponse)
101
101
  end
102
102
  def get_performance(
103
- # X username of cached style
104
- username,
103
+ # Style profile ID or X username
104
+ id,
105
105
  request_options: {}
106
106
  )
107
107
  end
@@ -23,7 +23,11 @@ module XTwitterScraper
23
23
  request_options: XTwitterScraper::RequestOptions::OrHash
24
24
  ).returns(XTwitterScraper::Models::Support::TicketRetrieveResponse)
25
25
  end
26
- def retrieve(id, request_options: {})
26
+ def retrieve(
27
+ # Support ticket ID
28
+ id,
29
+ request_options: {}
30
+ )
27
31
  end
28
32
 
29
33
  # Update ticket status
@@ -35,7 +39,12 @@ module XTwitterScraper
35
39
  request_options: XTwitterScraper::RequestOptions::OrHash
36
40
  ).returns(XTwitterScraper::Models::Support::TicketUpdateResponse)
37
41
  end
38
- def update(id, status:, request_options: {})
42
+ def update(
43
+ # Support ticket ID to update
44
+ id,
45
+ status:,
46
+ request_options: {}
47
+ )
39
48
  end
40
49
 
41
50
  # List user's support tickets
@@ -55,7 +64,12 @@ module XTwitterScraper
55
64
  request_options: XTwitterScraper::RequestOptions::OrHash
56
65
  ).returns(XTwitterScraper::Models::Support::TicketReplyResponse)
57
66
  end
58
- def reply(id, body:, request_options: {})
67
+ def reply(
68
+ # Support ticket ID for the reply
69
+ id,
70
+ body:,
71
+ request_options: {}
72
+ )
59
73
  end
60
74
 
61
75
  # @api private