x-twitter-scraper 0.7.2 → 0.9.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 (157) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +24 -0
  3. data/README.md +3 -3
  4. data/lib/x_twitter_scraper/models/credit_topup_balance_response.rb +5 -5
  5. data/lib/x_twitter_scraper/models/draw_export_params.rb +8 -3
  6. data/lib/x_twitter_scraper/models/draw_list_params.rb +2 -2
  7. data/lib/x_twitter_scraper/models/error.rb +8 -0
  8. data/lib/x_twitter_scraper/models/event_list_params.rb +13 -5
  9. data/lib/x_twitter_scraper/models/extraction_estimate_cost_params.rb +731 -82
  10. data/lib/x_twitter_scraper/models/extraction_estimate_cost_response.rb +1 -0
  11. data/lib/x_twitter_scraper/models/extraction_export_results_params.rb +145 -1
  12. data/lib/x_twitter_scraper/models/extraction_list_params.rb +2 -2
  13. data/lib/x_twitter_scraper/models/extraction_retrieve_params.rb +70 -3
  14. data/lib/x_twitter_scraper/models/extraction_run_params.rb +662 -1
  15. data/lib/x_twitter_scraper/models/extraction_run_response.rb +27 -48
  16. data/lib/x_twitter_scraper/models/guest_wallet_create_response.rb +8 -8
  17. data/lib/x_twitter_scraper/models/guest_wallet_topup_response.rb +9 -9
  18. data/lib/x_twitter_scraper/models/monitor.rb +29 -1
  19. data/lib/x_twitter_scraper/models/paginated_tweets.rb +4 -4
  20. data/lib/x_twitter_scraper/models/paginated_users.rb +5 -5
  21. data/lib/x_twitter_scraper/models/support/attachment_download_params.rb +28 -0
  22. data/lib/x_twitter_scraper/models/x/community_retrieve_members_params.rb +113 -1
  23. data/lib/x_twitter_scraper/models/x/community_retrieve_moderators_params.rb +117 -1
  24. data/lib/x_twitter_scraper/models/x/list_retrieve_followers_params.rb +117 -6
  25. data/lib/x_twitter_scraper/models/x/list_retrieve_members_params.rb +116 -1
  26. data/lib/x_twitter_scraper/models/x/tweet_get_favoriters_params.rb +117 -6
  27. data/lib/x_twitter_scraper/models/x/tweet_get_quotes_params.rb +153 -1
  28. data/lib/x_twitter_scraper/models/x/tweet_get_replies_params.rb +246 -16
  29. data/lib/x_twitter_scraper/models/x/tweet_get_replies_response.rb +3 -2
  30. data/lib/x_twitter_scraper/models/x/tweet_get_retweeters_params.rb +117 -6
  31. data/lib/x_twitter_scraper/models/x/tweet_search_params.rb +187 -14
  32. data/lib/x_twitter_scraper/models/x/tweet_search_response.rb +299 -0
  33. data/lib/x_twitter_scraper/models/x/user_retrieve_followers_params.rb +143 -10
  34. data/lib/x_twitter_scraper/models/x/user_retrieve_followers_response.rb +241 -0
  35. data/lib/x_twitter_scraper/models/x/user_retrieve_followers_you_know_params.rb +117 -6
  36. data/lib/x_twitter_scraper/models/x/user_retrieve_following_params.rb +143 -10
  37. data/lib/x_twitter_scraper/models/x/user_retrieve_following_response.rb +241 -0
  38. data/lib/x_twitter_scraper/models/x/user_retrieve_likes_params.rb +153 -1
  39. data/lib/x_twitter_scraper/models/x/user_retrieve_media_params.rb +153 -1
  40. data/lib/x_twitter_scraper/models/x/user_retrieve_mentions_params.rb +153 -1
  41. data/lib/x_twitter_scraper/models/x/user_retrieve_replies_params.rb +159 -7
  42. data/lib/x_twitter_scraper/models/x/user_retrieve_search_params.rb +116 -1
  43. data/lib/x_twitter_scraper/models/x/user_retrieve_tweets_params.rb +159 -7
  44. data/lib/x_twitter_scraper/models/x/user_retrieve_verified_followers_params.rb +157 -8
  45. data/lib/x_twitter_scraper/models/x/user_retrieve_verified_followers_response.rb +245 -0
  46. data/lib/x_twitter_scraper/models/x/x_account.rb +7 -11
  47. data/lib/x_twitter_scraper/resources/credits.rb +2 -2
  48. data/lib/x_twitter_scraper/resources/draws.rb +5 -2
  49. data/lib/x_twitter_scraper/resources/events.rb +10 -4
  50. data/lib/x_twitter_scraper/resources/extractions.rb +383 -84
  51. data/lib/x_twitter_scraper/resources/guest_wallets.rb +9 -13
  52. data/lib/x_twitter_scraper/resources/support/attachments.rb +42 -0
  53. data/lib/x_twitter_scraper/resources/support.rb +5 -0
  54. data/lib/x_twitter_scraper/resources/x/communities.rb +95 -4
  55. data/lib/x_twitter_scraper/resources/x/lists.rb +96 -5
  56. data/lib/x_twitter_scraper/resources/x/tweets.rb +286 -28
  57. data/lib/x_twitter_scraper/resources/x/users.rb +531 -41
  58. data/lib/x_twitter_scraper/version.rb +1 -1
  59. data/lib/x_twitter_scraper.rb +7 -1
  60. data/rbi/x_twitter_scraper/models/credit_topup_balance_response.rbi +6 -6
  61. data/rbi/x_twitter_scraper/models/draw_export_params.rbi +6 -3
  62. data/rbi/x_twitter_scraper/models/draw_list_params.rbi +2 -2
  63. data/rbi/x_twitter_scraper/models/error.rbi +40 -0
  64. data/rbi/x_twitter_scraper/models/event_list_params.rbi +15 -4
  65. data/rbi/x_twitter_scraper/models/extraction_estimate_cost_params.rbi +1338 -86
  66. data/rbi/x_twitter_scraper/models/extraction_estimate_cost_response.rbi +5 -0
  67. data/rbi/x_twitter_scraper/models/extraction_export_results_params.rbi +198 -0
  68. data/rbi/x_twitter_scraper/models/extraction_list_params.rbi +2 -2
  69. data/rbi/x_twitter_scraper/models/extraction_retrieve_params.rbi +194 -2
  70. data/rbi/x_twitter_scraper/models/extraction_run_params.rbi +1221 -0
  71. data/rbi/x_twitter_scraper/models/extraction_run_response.rbi +35 -162
  72. data/rbi/x_twitter_scraper/models/guest_wallet_create_response.rbi +8 -6
  73. data/rbi/x_twitter_scraper/models/guest_wallet_topup_response.rbi +9 -7
  74. data/rbi/x_twitter_scraper/models/monitor.rbi +54 -3
  75. data/rbi/x_twitter_scraper/models/paginated_tweets.rbi +4 -4
  76. data/rbi/x_twitter_scraper/models/paginated_users.rbi +5 -5
  77. data/rbi/x_twitter_scraper/models/support/attachment_download_params.rbi +51 -0
  78. data/rbi/x_twitter_scraper/models/x/community_retrieve_members_params.rbi +154 -0
  79. data/rbi/x_twitter_scraper/models/x/community_retrieve_moderators_params.rbi +154 -0
  80. data/rbi/x_twitter_scraper/models/x/list_retrieve_followers_params.rbi +160 -8
  81. data/rbi/x_twitter_scraper/models/x/list_retrieve_members_params.rbi +154 -0
  82. data/rbi/x_twitter_scraper/models/x/tweet_get_favoriters_params.rbi +160 -8
  83. data/rbi/x_twitter_scraper/models/x/tweet_get_quotes_params.rbi +209 -0
  84. data/rbi/x_twitter_scraper/models/x/tweet_get_replies_params.rbi +403 -20
  85. data/rbi/x_twitter_scraper/models/x/tweet_get_replies_response.rbi +3 -2
  86. data/rbi/x_twitter_scraper/models/x/tweet_get_retweeters_params.rbi +160 -8
  87. data/rbi/x_twitter_scraper/models/x/tweet_search_params.rbi +279 -16
  88. data/rbi/x_twitter_scraper/models/x/tweet_search_response.rbi +543 -0
  89. data/rbi/x_twitter_scraper/models/x/user_retrieve_followers_params.rbi +228 -12
  90. data/rbi/x_twitter_scraper/models/x/user_retrieve_followers_response.rbi +440 -0
  91. data/rbi/x_twitter_scraper/models/x/user_retrieve_followers_you_know_params.rbi +160 -8
  92. data/rbi/x_twitter_scraper/models/x/user_retrieve_following_params.rbi +228 -12
  93. data/rbi/x_twitter_scraper/models/x/user_retrieve_following_response.rbi +440 -0
  94. data/rbi/x_twitter_scraper/models/x/user_retrieve_likes_params.rbi +209 -0
  95. data/rbi/x_twitter_scraper/models/x/user_retrieve_media_params.rbi +209 -0
  96. data/rbi/x_twitter_scraper/models/x/user_retrieve_mentions_params.rbi +209 -0
  97. data/rbi/x_twitter_scraper/models/x/user_retrieve_replies_params.rbi +217 -8
  98. data/rbi/x_twitter_scraper/models/x/user_retrieve_search_params.rbi +154 -0
  99. data/rbi/x_twitter_scraper/models/x/user_retrieve_tweets_params.rbi +217 -8
  100. data/rbi/x_twitter_scraper/models/x/user_retrieve_verified_followers_params.rbi +248 -10
  101. data/rbi/x_twitter_scraper/models/x/user_retrieve_verified_followers_response.rbi +440 -0
  102. data/rbi/x_twitter_scraper/models/x/x_account.rbi +9 -15
  103. data/rbi/x_twitter_scraper/resources/credits.rbi +2 -2
  104. data/rbi/x_twitter_scraper/resources/draws.rbi +3 -2
  105. data/rbi/x_twitter_scraper/resources/events.rbi +5 -2
  106. data/rbi/x_twitter_scraper/resources/extractions.rbi +525 -83
  107. data/rbi/x_twitter_scraper/resources/guest_wallets.rbi +9 -13
  108. data/rbi/x_twitter_scraper/resources/support/attachments.rbi +35 -0
  109. data/rbi/x_twitter_scraper/resources/support.rbi +4 -0
  110. data/rbi/x_twitter_scraper/resources/x/communities.rbi +84 -0
  111. data/rbi/x_twitter_scraper/resources/x/lists.rbi +87 -4
  112. data/rbi/x_twitter_scraper/resources/x/tweets.rbi +307 -31
  113. data/rbi/x_twitter_scraper/resources/x/users.rbi +558 -34
  114. data/sig/x_twitter_scraper/models/error.rbs +16 -0
  115. data/sig/x_twitter_scraper/models/event_list_params.rbs +7 -0
  116. data/sig/x_twitter_scraper/models/extraction_estimate_cost_params.rbs +605 -1
  117. data/sig/x_twitter_scraper/models/extraction_estimate_cost_response.rbs +2 -0
  118. data/sig/x_twitter_scraper/models/extraction_export_results_params.rbs +127 -1
  119. data/sig/x_twitter_scraper/models/extraction_retrieve_params.rbs +74 -1
  120. data/sig/x_twitter_scraper/models/extraction_run_params.rbs +611 -1
  121. data/sig/x_twitter_scraper/models/extraction_run_response.rbs +29 -67
  122. data/sig/x_twitter_scraper/models/guest_wallet_create_response.rbs +4 -4
  123. data/sig/x_twitter_scraper/models/guest_wallet_topup_response.rbs +4 -4
  124. data/sig/x_twitter_scraper/models/monitor.rbs +29 -3
  125. data/sig/x_twitter_scraper/models/support/attachment_download_params.rbs +32 -0
  126. data/sig/x_twitter_scraper/models/x/community_retrieve_members_params.rbs +103 -1
  127. data/sig/x_twitter_scraper/models/x/community_retrieve_moderators_params.rbs +102 -1
  128. data/sig/x_twitter_scraper/models/x/list_retrieve_followers_params.rbs +103 -1
  129. data/sig/x_twitter_scraper/models/x/list_retrieve_members_params.rbs +103 -1
  130. data/sig/x_twitter_scraper/models/x/tweet_get_favoriters_params.rbs +103 -1
  131. data/sig/x_twitter_scraper/models/x/tweet_get_quotes_params.rbs +134 -1
  132. data/sig/x_twitter_scraper/models/x/tweet_get_replies_params.rbs +207 -2
  133. data/sig/x_twitter_scraper/models/x/tweet_get_retweeters_params.rbs +103 -1
  134. data/sig/x_twitter_scraper/models/x/tweet_search_params.rbs +154 -1
  135. data/sig/x_twitter_scraper/models/x/tweet_search_response.rbs +258 -0
  136. data/sig/x_twitter_scraper/models/x/user_retrieve_followers_params.rbs +119 -1
  137. data/sig/x_twitter_scraper/models/x/user_retrieve_followers_response.rbs +216 -0
  138. data/sig/x_twitter_scraper/models/x/user_retrieve_followers_you_know_params.rbs +103 -1
  139. data/sig/x_twitter_scraper/models/x/user_retrieve_following_params.rbs +119 -1
  140. data/sig/x_twitter_scraper/models/x/user_retrieve_following_response.rbs +216 -0
  141. data/sig/x_twitter_scraper/models/x/user_retrieve_likes_params.rbs +134 -1
  142. data/sig/x_twitter_scraper/models/x/user_retrieve_media_params.rbs +134 -1
  143. data/sig/x_twitter_scraper/models/x/user_retrieve_mentions_params.rbs +134 -1
  144. data/sig/x_twitter_scraper/models/x/user_retrieve_replies_params.rbs +134 -1
  145. data/sig/x_twitter_scraper/models/x/user_retrieve_search_params.rbs +102 -1
  146. data/sig/x_twitter_scraper/models/x/user_retrieve_tweets_params.rbs +134 -1
  147. data/sig/x_twitter_scraper/models/x/user_retrieve_verified_followers_params.rbs +137 -1
  148. data/sig/x_twitter_scraper/models/x/user_retrieve_verified_followers_response.rbs +216 -0
  149. data/sig/x_twitter_scraper/resources/events.rbs +1 -0
  150. data/sig/x_twitter_scraper/resources/extractions.rbs +137 -0
  151. data/sig/x_twitter_scraper/resources/support/attachments.rbs +15 -0
  152. data/sig/x_twitter_scraper/resources/support.rbs +2 -0
  153. data/sig/x_twitter_scraper/resources/x/communities.rbs +28 -0
  154. data/sig/x_twitter_scraper/resources/x/lists.rbs +28 -0
  155. data/sig/x_twitter_scraper/resources/x/tweets.rbs +93 -1
  156. data/sig/x_twitter_scraper/resources/x/users.rbs +173 -3
  157. metadata +19 -1
@@ -6,84 +6,46 @@ module XTwitterScraper
6
6
  module Models
7
7
  type extraction_run_response =
8
8
  {
9
- id: String,
10
- status: :running,
11
- tool_type: XTwitterScraper::Models::ExtractionRunResponse::tool_type
9
+ allowed: bool,
10
+ credits_available: String,
11
+ credits_required: String,
12
+ estimated_results: Integer,
13
+ source: String,
14
+ resolved_x_user_id: String
12
15
  }
13
16
 
14
17
  class ExtractionRunResponse < XTwitterScraper::Internal::Type::BaseModel
15
- attr_accessor id: String
18
+ attr_accessor allowed: bool
16
19
 
17
- attr_accessor status: :running
20
+ attr_accessor credits_available: String
18
21
 
19
- attr_accessor tool_type: XTwitterScraper::Models::ExtractionRunResponse::tool_type
22
+ attr_accessor credits_required: String
20
23
 
21
- def initialize: (
22
- id: String,
23
- tool_type: XTwitterScraper::Models::ExtractionRunResponse::tool_type,
24
- ?status: :running
25
- ) -> void
24
+ attr_accessor estimated_results: Integer
26
25
 
27
- def to_hash: -> {
28
- id: String,
29
- status: :running,
30
- tool_type: XTwitterScraper::Models::ExtractionRunResponse::tool_type
31
- }
26
+ attr_accessor source: String
32
27
 
33
- type tool_type =
34
- :article_extractor
35
- | :community_extractor
36
- | :community_moderator_explorer
37
- | :community_post_extractor
38
- | :community_search
39
- | :favoriters
40
- | :follower_explorer
41
- | :following_explorer
42
- | :list_follower_explorer
43
- | :list_member_extractor
44
- | :list_post_extractor
45
- | :mention_extractor
46
- | :people_search
47
- | :post_extractor
48
- | :quote_extractor
49
- | :reply_extractor
50
- | :repost_extractor
51
- | :space_explorer
52
- | :thread_extractor
53
- | :tweet_search_extractor
54
- | :user_likes
55
- | :user_media
56
- | :verified_follower_explorer
28
+ attr_reader resolved_x_user_id: String?
57
29
 
58
- module ToolType
59
- extend XTwitterScraper::Internal::Type::Enum
30
+ def resolved_x_user_id=: (String) -> String
60
31
 
61
- ARTICLE_EXTRACTOR: :article_extractor
62
- COMMUNITY_EXTRACTOR: :community_extractor
63
- COMMUNITY_MODERATOR_EXPLORER: :community_moderator_explorer
64
- COMMUNITY_POST_EXTRACTOR: :community_post_extractor
65
- COMMUNITY_SEARCH: :community_search
66
- FAVORITERS: :favoriters
67
- FOLLOWER_EXPLORER: :follower_explorer
68
- FOLLOWING_EXPLORER: :following_explorer
69
- LIST_FOLLOWER_EXPLORER: :list_follower_explorer
70
- LIST_MEMBER_EXTRACTOR: :list_member_extractor
71
- LIST_POST_EXTRACTOR: :list_post_extractor
72
- MENTION_EXTRACTOR: :mention_extractor
73
- PEOPLE_SEARCH: :people_search
74
- POST_EXTRACTOR: :post_extractor
75
- QUOTE_EXTRACTOR: :quote_extractor
76
- REPLY_EXTRACTOR: :reply_extractor
77
- REPOST_EXTRACTOR: :repost_extractor
78
- SPACE_EXPLORER: :space_explorer
79
- THREAD_EXTRACTOR: :thread_extractor
80
- TWEET_SEARCH_EXTRACTOR: :tweet_search_extractor
81
- USER_LIKES: :user_likes
82
- USER_MEDIA: :user_media
83
- VERIFIED_FOLLOWER_EXPLORER: :verified_follower_explorer
32
+ def initialize: (
33
+ allowed: bool,
34
+ credits_available: String,
35
+ credits_required: String,
36
+ estimated_results: Integer,
37
+ source: String,
38
+ ?resolved_x_user_id: String
39
+ ) -> void
84
40
 
85
- def self?.values: -> ::Array[XTwitterScraper::Models::ExtractionRunResponse::tool_type]
86
- end
41
+ def to_hash: -> {
42
+ allowed: bool,
43
+ credits_available: String,
44
+ credits_required: String,
45
+ estimated_results: Integer,
46
+ source: String,
47
+ resolved_x_user_id: String
48
+ }
87
49
  end
88
50
  end
89
51
  end
@@ -14,7 +14,7 @@ module XTwitterScraper
14
14
  credential_notice: :"Store api_key and the Idempotency-Key securely before sharing checkout_url. No email recovery is available.",
15
15
  credits: String,
16
16
  expires_at: Time,
17
- instructions: :"Give checkout_url to the user. They must complete payment on Stripe. Never submit payment for them. After payment, poll status_url every poll_after_seconds until latest_purchase.status is no longer pending.",
17
+ instructions: String,
18
18
  poll_after_seconds: 2,
19
19
  purchase_id: String,
20
20
  requires_user_interaction: true,
@@ -40,7 +40,7 @@ module XTwitterScraper
40
40
 
41
41
  attr_accessor expires_at: Time
42
42
 
43
- attr_accessor instructions: :"Give checkout_url to the user. They must complete payment on Stripe. Never submit payment for them. After payment, poll status_url every poll_after_seconds until latest_purchase.status is no longer pending."
43
+ attr_accessor instructions: String
44
44
 
45
45
  attr_accessor poll_after_seconds: 2
46
46
 
@@ -61,12 +61,12 @@ module XTwitterScraper
61
61
  checkout_url: String,
62
62
  credits: String,
63
63
  expires_at: Time,
64
+ instructions: String,
64
65
  purchase_id: String,
65
66
  status: XTwitterScraper::Models::GuestWalletCreateResponse::status,
66
67
  wallet_id: String,
67
68
  ?account_required: false,
68
69
  ?credential_notice: :"Store api_key and the Idempotency-Key securely before sharing checkout_url. No email recovery is available.",
69
- ?instructions: :"Give checkout_url to the user. They must complete payment on Stripe. Never submit payment for them. After payment, poll status_url every poll_after_seconds until latest_purchase.status is no longer pending.",
70
70
  ?poll_after_seconds: 2,
71
71
  ?requires_user_interaction: true,
72
72
  ?status_url: :"https://xquik.com/api/v1/guest-wallets/status"
@@ -81,7 +81,7 @@ module XTwitterScraper
81
81
  credential_notice: :"Store api_key and the Idempotency-Key securely before sharing checkout_url. No email recovery is available.",
82
82
  credits: String,
83
83
  expires_at: Time,
84
- instructions: :"Give checkout_url to the user. They must complete payment on Stripe. Never submit payment for them. After payment, poll status_url every poll_after_seconds until latest_purchase.status is no longer pending.",
84
+ instructions: String,
85
85
  poll_after_seconds: 2,
86
86
  purchase_id: String,
87
87
  requires_user_interaction: true,
@@ -11,7 +11,7 @@ module XTwitterScraper
11
11
  checkout_url: String,
12
12
  credits: String,
13
13
  expires_at: Time,
14
- instructions: :"Give checkout_url to the user. They must complete payment on Stripe. Never submit payment for them. After payment, poll status_url every poll_after_seconds until latest_purchase.status is no longer pending.",
14
+ instructions: String,
15
15
  poll_after_seconds: 2,
16
16
  purchase_id: String,
17
17
  requires_user_interaction: true,
@@ -34,7 +34,7 @@ module XTwitterScraper
34
34
 
35
35
  attr_accessor expires_at: Time
36
36
 
37
- attr_accessor instructions: :"Give checkout_url to the user. They must complete payment on Stripe. Never submit payment for them. After payment, poll status_url every poll_after_seconds until latest_purchase.status is no longer pending."
37
+ attr_accessor instructions: String
38
38
 
39
39
  attr_accessor poll_after_seconds: 2
40
40
 
@@ -69,6 +69,7 @@ module XTwitterScraper
69
69
  checkout_url: String,
70
70
  credits: String,
71
71
  expires_at: Time,
72
+ instructions: String,
72
73
  purchase_id: String,
73
74
  status: XTwitterScraper::Models::GuestWalletTopupResponse::status,
74
75
  wallet_id: String,
@@ -76,7 +77,6 @@ module XTwitterScraper
76
77
  ?authorization: XTwitterScraper::Models::GuestWalletTopupResponse::Authorization,
77
78
  ?credential_notice: XTwitterScraper::Models::GuestWalletTopupResponse::credential_notice,
78
79
  ?account_required: false,
79
- ?instructions: :"Give checkout_url to the user. They must complete payment on Stripe. Never submit payment for them. After payment, poll status_url every poll_after_seconds until latest_purchase.status is no longer pending.",
80
80
  ?poll_after_seconds: 2,
81
81
  ?requires_user_interaction: true,
82
82
  ?status_url: :"https://xquik.com/api/v1/guest-wallets/status"
@@ -88,7 +88,7 @@ module XTwitterScraper
88
88
  checkout_url: String,
89
89
  credits: String,
90
90
  expires_at: Time,
91
- instructions: :"Give checkout_url to the user. They must complete payment on Stripe. Never submit payment for them. After payment, poll status_url every poll_after_seconds until latest_purchase.status is no longer pending.",
91
+ instructions: String,
92
92
  poll_after_seconds: 2,
93
93
  purchase_id: String,
94
94
  requires_user_interaction: true,
@@ -12,7 +12,9 @@ module XTwitterScraper
12
12
  is_active: bool,
13
13
  next_billing_at: Time,
14
14
  username: String,
15
- x_user_id: String
15
+ x_user_id: String,
16
+ paused_at: Time,
17
+ paused_reason: XTwitterScraper::Models::Monitor::paused_reason
16
18
  }
17
19
 
18
20
  class Monitor < XTwitterScraper::Internal::Type::BaseModel
@@ -30,6 +32,16 @@ module XTwitterScraper
30
32
 
31
33
  attr_accessor x_user_id: String
32
34
 
35
+ attr_reader paused_at: Time?
36
+
37
+ def paused_at=: (Time) -> Time
38
+
39
+ attr_reader paused_reason: XTwitterScraper::Models::Monitor::paused_reason?
40
+
41
+ def paused_reason=: (
42
+ XTwitterScraper::Models::Monitor::paused_reason
43
+ ) -> XTwitterScraper::Models::Monitor::paused_reason
44
+
33
45
  def initialize: (
34
46
  id: String,
35
47
  created_at: Time,
@@ -37,7 +49,9 @@ module XTwitterScraper
37
49
  is_active: bool,
38
50
  next_billing_at: Time,
39
51
  username: String,
40
- x_user_id: String
52
+ x_user_id: String,
53
+ ?paused_at: Time,
54
+ ?paused_reason: XTwitterScraper::Models::Monitor::paused_reason
41
55
  ) -> void
42
56
 
43
57
  def to_hash: -> {
@@ -47,8 +61,20 @@ module XTwitterScraper
47
61
  is_active: bool,
48
62
  next_billing_at: Time,
49
63
  username: String,
50
- x_user_id: String
64
+ x_user_id: String,
65
+ paused_at: Time,
66
+ paused_reason: XTwitterScraper::Models::Monitor::paused_reason
51
67
  }
68
+
69
+ type paused_reason = :x_user_not_found
70
+
71
+ module PausedReason
72
+ extend XTwitterScraper::Internal::Type::Enum
73
+
74
+ X_USER_NOT_FOUND: :x_user_not_found
75
+
76
+ def self?.values: -> ::Array[XTwitterScraper::Models::Monitor::paused_reason]
77
+ end
52
78
  end
53
79
  end
54
80
  end
@@ -0,0 +1,32 @@
1
+ module XTwitterScraper
2
+ module Models
3
+ module Support
4
+ type attachment_download_params =
5
+ { id: String, range: String }
6
+ & XTwitterScraper::Internal::Type::request_parameters
7
+
8
+ class AttachmentDownloadParams < XTwitterScraper::Internal::Type::BaseModel
9
+ extend XTwitterScraper::Internal::Type::RequestParameters::Converter
10
+ include XTwitterScraper::Internal::Type::RequestParameters
11
+
12
+ attr_accessor id: String
13
+
14
+ attr_reader range: String?
15
+
16
+ def range=: (String) -> String
17
+
18
+ def initialize: (
19
+ id: String,
20
+ ?range: String,
21
+ ?request_options: XTwitterScraper::request_opts
22
+ ) -> void
23
+
24
+ def to_hash: -> {
25
+ id: String,
26
+ range: String,
27
+ request_options: XTwitterScraper::RequestOptions
28
+ }
29
+ end
30
+ end
31
+ end
32
+ end
@@ -6,7 +6,25 @@ module XTwitterScraper
6
6
  module Models
7
7
  module X
8
8
  type community_retrieve_members_params =
9
- { id: String, cursor: String, page_size: Integer }
9
+ {
10
+ id: String,
11
+ bio_contains: String,
12
+ cursor: String,
13
+ has_location: bool,
14
+ has_website: bool,
15
+ location_contains: String,
16
+ max_followers: Integer,
17
+ max_following: Integer,
18
+ max_statuses: Integer,
19
+ min_account_age_days: Integer,
20
+ min_followers: Integer,
21
+ min_following: Integer,
22
+ min_statuses: Integer,
23
+ page_size: Integer,
24
+ username_contains: String,
25
+ verified_only: bool,
26
+ verified_type: String
27
+ }
10
28
  & XTwitterScraper::Internal::Type::request_parameters
11
29
 
12
30
  class CommunityRetrieveMembersParams < XTwitterScraper::Internal::Type::BaseModel
@@ -15,25 +33,109 @@ module XTwitterScraper
15
33
 
16
34
  attr_accessor id: String
17
35
 
36
+ attr_reader bio_contains: String?
37
+
38
+ def bio_contains=: (String) -> String
39
+
18
40
  attr_reader cursor: String?
19
41
 
20
42
  def cursor=: (String) -> String
21
43
 
44
+ attr_reader has_location: bool?
45
+
46
+ def has_location=: (bool) -> bool
47
+
48
+ attr_reader has_website: bool?
49
+
50
+ def has_website=: (bool) -> bool
51
+
52
+ attr_reader location_contains: String?
53
+
54
+ def location_contains=: (String) -> String
55
+
56
+ attr_reader max_followers: Integer?
57
+
58
+ def max_followers=: (Integer) -> Integer
59
+
60
+ attr_reader max_following: Integer?
61
+
62
+ def max_following=: (Integer) -> Integer
63
+
64
+ attr_reader max_statuses: Integer?
65
+
66
+ def max_statuses=: (Integer) -> Integer
67
+
68
+ attr_reader min_account_age_days: Integer?
69
+
70
+ def min_account_age_days=: (Integer) -> Integer
71
+
72
+ attr_reader min_followers: Integer?
73
+
74
+ def min_followers=: (Integer) -> Integer
75
+
76
+ attr_reader min_following: Integer?
77
+
78
+ def min_following=: (Integer) -> Integer
79
+
80
+ attr_reader min_statuses: Integer?
81
+
82
+ def min_statuses=: (Integer) -> Integer
83
+
22
84
  attr_reader page_size: Integer?
23
85
 
24
86
  def page_size=: (Integer) -> Integer
25
87
 
88
+ attr_reader username_contains: String?
89
+
90
+ def username_contains=: (String) -> String
91
+
92
+ attr_reader verified_only: bool?
93
+
94
+ def verified_only=: (bool) -> bool
95
+
96
+ attr_reader verified_type: String?
97
+
98
+ def verified_type=: (String) -> String
99
+
26
100
  def initialize: (
27
101
  id: String,
102
+ ?bio_contains: String,
28
103
  ?cursor: String,
104
+ ?has_location: bool,
105
+ ?has_website: bool,
106
+ ?location_contains: String,
107
+ ?max_followers: Integer,
108
+ ?max_following: Integer,
109
+ ?max_statuses: Integer,
110
+ ?min_account_age_days: Integer,
111
+ ?min_followers: Integer,
112
+ ?min_following: Integer,
113
+ ?min_statuses: Integer,
29
114
  ?page_size: Integer,
115
+ ?username_contains: String,
116
+ ?verified_only: bool,
117
+ ?verified_type: String,
30
118
  ?request_options: XTwitterScraper::request_opts
31
119
  ) -> void
32
120
 
33
121
  def to_hash: -> {
34
122
  id: String,
123
+ bio_contains: String,
35
124
  cursor: String,
125
+ has_location: bool,
126
+ has_website: bool,
127
+ location_contains: String,
128
+ max_followers: Integer,
129
+ max_following: Integer,
130
+ max_statuses: Integer,
131
+ min_account_age_days: Integer,
132
+ min_followers: Integer,
133
+ min_following: Integer,
134
+ min_statuses: Integer,
36
135
  page_size: Integer,
136
+ username_contains: String,
137
+ verified_only: bool,
138
+ verified_type: String,
37
139
  request_options: XTwitterScraper::RequestOptions
38
140
  }
39
141
  end
@@ -6,7 +6,24 @@ module XTwitterScraper
6
6
  module Models
7
7
  module X
8
8
  type community_retrieve_moderators_params =
9
- { id: String, cursor: String }
9
+ {
10
+ id: String,
11
+ bio_contains: String,
12
+ cursor: String,
13
+ has_location: bool,
14
+ has_website: bool,
15
+ location_contains: String,
16
+ max_followers: Integer,
17
+ max_following: Integer,
18
+ max_statuses: Integer,
19
+ min_account_age_days: Integer,
20
+ min_followers: Integer,
21
+ min_following: Integer,
22
+ min_statuses: Integer,
23
+ username_contains: String,
24
+ verified_only: bool,
25
+ verified_type: String
26
+ }
10
27
  & XTwitterScraper::Internal::Type::request_parameters
11
28
 
12
29
  class CommunityRetrieveModeratorsParams < XTwitterScraper::Internal::Type::BaseModel
@@ -15,19 +32,103 @@ module XTwitterScraper
15
32
 
16
33
  attr_accessor id: String
17
34
 
35
+ attr_reader bio_contains: String?
36
+
37
+ def bio_contains=: (String) -> String
38
+
18
39
  attr_reader cursor: String?
19
40
 
20
41
  def cursor=: (String) -> String
21
42
 
43
+ attr_reader has_location: bool?
44
+
45
+ def has_location=: (bool) -> bool
46
+
47
+ attr_reader has_website: bool?
48
+
49
+ def has_website=: (bool) -> bool
50
+
51
+ attr_reader location_contains: String?
52
+
53
+ def location_contains=: (String) -> String
54
+
55
+ attr_reader max_followers: Integer?
56
+
57
+ def max_followers=: (Integer) -> Integer
58
+
59
+ attr_reader max_following: Integer?
60
+
61
+ def max_following=: (Integer) -> Integer
62
+
63
+ attr_reader max_statuses: Integer?
64
+
65
+ def max_statuses=: (Integer) -> Integer
66
+
67
+ attr_reader min_account_age_days: Integer?
68
+
69
+ def min_account_age_days=: (Integer) -> Integer
70
+
71
+ attr_reader min_followers: Integer?
72
+
73
+ def min_followers=: (Integer) -> Integer
74
+
75
+ attr_reader min_following: Integer?
76
+
77
+ def min_following=: (Integer) -> Integer
78
+
79
+ attr_reader min_statuses: Integer?
80
+
81
+ def min_statuses=: (Integer) -> Integer
82
+
83
+ attr_reader username_contains: String?
84
+
85
+ def username_contains=: (String) -> String
86
+
87
+ attr_reader verified_only: bool?
88
+
89
+ def verified_only=: (bool) -> bool
90
+
91
+ attr_reader verified_type: String?
92
+
93
+ def verified_type=: (String) -> String
94
+
22
95
  def initialize: (
23
96
  id: String,
97
+ ?bio_contains: String,
24
98
  ?cursor: String,
99
+ ?has_location: bool,
100
+ ?has_website: bool,
101
+ ?location_contains: String,
102
+ ?max_followers: Integer,
103
+ ?max_following: Integer,
104
+ ?max_statuses: Integer,
105
+ ?min_account_age_days: Integer,
106
+ ?min_followers: Integer,
107
+ ?min_following: Integer,
108
+ ?min_statuses: Integer,
109
+ ?username_contains: String,
110
+ ?verified_only: bool,
111
+ ?verified_type: String,
25
112
  ?request_options: XTwitterScraper::request_opts
26
113
  ) -> void
27
114
 
28
115
  def to_hash: -> {
29
116
  id: String,
117
+ bio_contains: String,
30
118
  cursor: String,
119
+ has_location: bool,
120
+ has_website: bool,
121
+ location_contains: String,
122
+ max_followers: Integer,
123
+ max_following: Integer,
124
+ max_statuses: Integer,
125
+ min_account_age_days: Integer,
126
+ min_followers: Integer,
127
+ min_following: Integer,
128
+ min_statuses: Integer,
129
+ username_contains: String,
130
+ verified_only: bool,
131
+ verified_type: String,
31
132
  request_options: XTwitterScraper::RequestOptions
32
133
  }
33
134
  end
@@ -6,7 +6,25 @@ module XTwitterScraper
6
6
  module Models
7
7
  module X
8
8
  type list_retrieve_followers_params =
9
- { id: String, cursor: String, page_size: Integer }
9
+ {
10
+ id: String,
11
+ bio_contains: String,
12
+ cursor: String,
13
+ has_location: bool,
14
+ has_website: bool,
15
+ location_contains: String,
16
+ max_followers: Integer,
17
+ max_following: Integer,
18
+ max_statuses: Integer,
19
+ min_account_age_days: Integer,
20
+ min_followers: Integer,
21
+ min_following: Integer,
22
+ min_statuses: Integer,
23
+ page_size: Integer,
24
+ username_contains: String,
25
+ verified_only: bool,
26
+ verified_type: String
27
+ }
10
28
  & XTwitterScraper::Internal::Type::request_parameters
11
29
 
12
30
  class ListRetrieveFollowersParams < XTwitterScraper::Internal::Type::BaseModel
@@ -15,25 +33,109 @@ module XTwitterScraper
15
33
 
16
34
  attr_accessor id: String
17
35
 
36
+ attr_reader bio_contains: String?
37
+
38
+ def bio_contains=: (String) -> String
39
+
18
40
  attr_reader cursor: String?
19
41
 
20
42
  def cursor=: (String) -> String
21
43
 
44
+ attr_reader has_location: bool?
45
+
46
+ def has_location=: (bool) -> bool
47
+
48
+ attr_reader has_website: bool?
49
+
50
+ def has_website=: (bool) -> bool
51
+
52
+ attr_reader location_contains: String?
53
+
54
+ def location_contains=: (String) -> String
55
+
56
+ attr_reader max_followers: Integer?
57
+
58
+ def max_followers=: (Integer) -> Integer
59
+
60
+ attr_reader max_following: Integer?
61
+
62
+ def max_following=: (Integer) -> Integer
63
+
64
+ attr_reader max_statuses: Integer?
65
+
66
+ def max_statuses=: (Integer) -> Integer
67
+
68
+ attr_reader min_account_age_days: Integer?
69
+
70
+ def min_account_age_days=: (Integer) -> Integer
71
+
72
+ attr_reader min_followers: Integer?
73
+
74
+ def min_followers=: (Integer) -> Integer
75
+
76
+ attr_reader min_following: Integer?
77
+
78
+ def min_following=: (Integer) -> Integer
79
+
80
+ attr_reader min_statuses: Integer?
81
+
82
+ def min_statuses=: (Integer) -> Integer
83
+
22
84
  attr_reader page_size: Integer?
23
85
 
24
86
  def page_size=: (Integer) -> Integer
25
87
 
88
+ attr_reader username_contains: String?
89
+
90
+ def username_contains=: (String) -> String
91
+
92
+ attr_reader verified_only: bool?
93
+
94
+ def verified_only=: (bool) -> bool
95
+
96
+ attr_reader verified_type: String?
97
+
98
+ def verified_type=: (String) -> String
99
+
26
100
  def initialize: (
27
101
  id: String,
102
+ ?bio_contains: String,
28
103
  ?cursor: String,
104
+ ?has_location: bool,
105
+ ?has_website: bool,
106
+ ?location_contains: String,
107
+ ?max_followers: Integer,
108
+ ?max_following: Integer,
109
+ ?max_statuses: Integer,
110
+ ?min_account_age_days: Integer,
111
+ ?min_followers: Integer,
112
+ ?min_following: Integer,
113
+ ?min_statuses: Integer,
29
114
  ?page_size: Integer,
115
+ ?username_contains: String,
116
+ ?verified_only: bool,
117
+ ?verified_type: String,
30
118
  ?request_options: XTwitterScraper::request_opts
31
119
  ) -> void
32
120
 
33
121
  def to_hash: -> {
34
122
  id: String,
123
+ bio_contains: String,
35
124
  cursor: String,
125
+ has_location: bool,
126
+ has_website: bool,
127
+ location_contains: String,
128
+ max_followers: Integer,
129
+ max_following: Integer,
130
+ max_statuses: Integer,
131
+ min_account_age_days: Integer,
132
+ min_followers: Integer,
133
+ min_following: Integer,
134
+ min_statuses: Integer,
36
135
  page_size: Integer,
136
+ username_contains: String,
137
+ verified_only: bool,
138
+ verified_type: String,
37
139
  request_options: XTwitterScraper::RequestOptions
38
140
  }
39
141
  end