x-twitter-scraper 0.4.5 → 0.5.2

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 (222) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +33 -0
  3. data/README.md +8 -41
  4. data/lib/x_twitter_scraper/client.rb +1 -1
  5. data/lib/x_twitter_scraper/internal/type/union.rb +13 -0
  6. data/lib/x_twitter_scraper/models/account_retrieve_response.rb +4 -4
  7. data/lib/x_twitter_scraper/models/compose_create_params.rb +194 -122
  8. data/lib/x_twitter_scraper/models/compose_create_response.rb +326 -33
  9. data/lib/x_twitter_scraper/models/credit_retrieve_topup_status_params.rb +2 -2
  10. data/lib/x_twitter_scraper/models/error.rb +99 -3
  11. data/lib/x_twitter_scraper/models/extraction_estimate_cost_params.rb +8 -8
  12. data/lib/x_twitter_scraper/models/guest_wallet_create_params.rb +2 -2
  13. data/lib/x_twitter_scraper/models/guest_wallet_create_response.rb +27 -7
  14. data/lib/x_twitter_scraper/models/guest_wallet_topup_params.rb +2 -2
  15. data/lib/x_twitter_scraper/models/guest_wallet_topup_response.rb +27 -7
  16. data/lib/x_twitter_scraper/models/search_tweet.rb +12 -12
  17. data/lib/x_twitter_scraper/models/support/ticket_create_params.rb +7 -1
  18. data/lib/x_twitter_scraper/models/support/ticket_create_response.rb +40 -3
  19. data/lib/x_twitter_scraper/models/support/ticket_reply_params.rb +7 -1
  20. data/lib/x_twitter_scraper/models/support/ticket_reply_response.rb +40 -3
  21. data/lib/x_twitter_scraper/models/support/ticket_retrieve_response.rb +114 -1
  22. data/lib/x_twitter_scraper/models/x/communities/join_create_params.rb +8 -1
  23. data/lib/x_twitter_scraper/models/x/communities/join_create_response.rb +577 -4
  24. data/lib/x_twitter_scraper/models/x/communities/join_delete_all_params.rb +8 -1
  25. data/lib/x_twitter_scraper/models/x/communities/join_delete_all_response.rb +585 -4
  26. data/lib/x_twitter_scraper/models/x/community_create_params.rb +8 -1
  27. data/lib/x_twitter_scraper/models/x/community_create_response.rb +568 -8
  28. data/lib/x_twitter_scraper/models/x/community_delete_params.rb +8 -1
  29. data/lib/x_twitter_scraper/models/x/community_delete_response.rb +576 -4
  30. data/lib/x_twitter_scraper/models/x/dm_send_params.rb +8 -1
  31. data/lib/x_twitter_scraper/models/x/dm_send_response.rb +573 -7
  32. data/lib/x_twitter_scraper/models/x/media_upload_params.rb +8 -1
  33. data/lib/x_twitter_scraper/models/x/media_upload_response.rb +568 -11
  34. data/lib/x_twitter_scraper/models/x/profile_update_avatar_params.rb +8 -1
  35. data/lib/x_twitter_scraper/models/x/profile_update_avatar_response.rb +576 -4
  36. data/lib/x_twitter_scraper/models/x/profile_update_banner_params.rb +8 -1
  37. data/lib/x_twitter_scraper/models/x/profile_update_banner_response.rb +576 -4
  38. data/lib/x_twitter_scraper/models/x/profile_update_params.rb +8 -1
  39. data/lib/x_twitter_scraper/models/x/profile_update_response.rb +576 -4
  40. data/lib/x_twitter_scraper/models/x/tweet_author.rb +1 -14
  41. data/lib/x_twitter_scraper/models/x/tweet_create_params.rb +5 -5
  42. data/lib/x_twitter_scraper/models/x/tweet_create_response.rb +551 -12
  43. data/lib/x_twitter_scraper/models/x/tweet_delete_params.rb +8 -1
  44. data/lib/x_twitter_scraper/models/x/tweet_delete_response.rb +576 -4
  45. data/lib/x_twitter_scraper/models/x/tweets/like_create_params.rb +8 -1
  46. data/lib/x_twitter_scraper/models/x/tweets/like_create_response.rb +576 -4
  47. data/lib/x_twitter_scraper/models/x/tweets/like_delete_params.rb +8 -1
  48. data/lib/x_twitter_scraper/models/x/tweets/like_delete_response.rb +576 -4
  49. data/lib/x_twitter_scraper/models/x/tweets/retweet_create_params.rb +8 -1
  50. data/lib/x_twitter_scraper/models/x/tweets/retweet_create_response.rb +576 -4
  51. data/lib/x_twitter_scraper/models/x/tweets/retweet_delete_params.rb +8 -1
  52. data/lib/x_twitter_scraper/models/x/tweets/retweet_delete_response.rb +576 -4
  53. data/lib/x_twitter_scraper/models/x/user_remove_follower_params.rb +8 -1
  54. data/lib/x_twitter_scraper/models/x/user_remove_follower_response.rb +576 -4
  55. data/lib/x_twitter_scraper/models/x/user_retrieve_following_params.rb +2 -2
  56. data/lib/x_twitter_scraper/models/x/user_retrieve_replies_params.rb +2 -2
  57. data/lib/x_twitter_scraper/models/x/users/follow_create_params.rb +8 -1
  58. data/lib/x_twitter_scraper/models/x/users/follow_create_response.rb +576 -4
  59. data/lib/x_twitter_scraper/models/x/users/follow_delete_all_params.rb +8 -1
  60. data/lib/x_twitter_scraper/models/x/users/follow_delete_all_response.rb +576 -4
  61. data/lib/x_twitter_scraper/models/x/write_action_retrieve_response.rb +469 -52
  62. data/lib/x_twitter_scraper/models/x/x_account.rb +7 -7
  63. data/lib/x_twitter_scraper/models/x/x_account_detail.rb +1 -1
  64. data/lib/x_twitter_scraper/resources/compose.rb +8 -26
  65. data/lib/x_twitter_scraper/resources/credits.rb +1 -1
  66. data/lib/x_twitter_scraper/resources/extractions.rb +4 -4
  67. data/lib/x_twitter_scraper/resources/guest_wallets.rb +2 -2
  68. data/lib/x_twitter_scraper/resources/monitors/keywords.rb +4 -5
  69. data/lib/x_twitter_scraper/resources/monitors.rb +3 -3
  70. data/lib/x_twitter_scraper/resources/support/tickets.rb +24 -8
  71. data/lib/x_twitter_scraper/resources/trends.rb +1 -1
  72. data/lib/x_twitter_scraper/resources/x/communities/join.rb +22 -8
  73. data/lib/x_twitter_scraper/resources/x/communities.rb +25 -11
  74. data/lib/x_twitter_scraper/resources/x/dm.rb +13 -6
  75. data/lib/x_twitter_scraper/resources/x/media.rb +17 -7
  76. data/lib/x_twitter_scraper/resources/x/profile.rb +46 -17
  77. data/lib/x_twitter_scraper/resources/x/tweets/like.rb +22 -8
  78. data/lib/x_twitter_scraper/resources/x/tweets/retweet.rb +22 -8
  79. data/lib/x_twitter_scraper/resources/x/tweets.rb +31 -16
  80. data/lib/x_twitter_scraper/resources/x/users/follow.rb +22 -8
  81. data/lib/x_twitter_scraper/resources/x/users.rb +16 -9
  82. data/lib/x_twitter_scraper/resources/x.rb +1 -2
  83. data/lib/x_twitter_scraper/version.rb +1 -1
  84. data/rbi/x_twitter_scraper/client.rbi +1 -1
  85. data/rbi/x_twitter_scraper/models/account_retrieve_response.rbi +4 -4
  86. data/rbi/x_twitter_scraper/models/compose_create_params.rbi +392 -215
  87. data/rbi/x_twitter_scraper/models/compose_create_response.rbi +537 -48
  88. data/rbi/x_twitter_scraper/models/credit_retrieve_topup_status_params.rbi +2 -2
  89. data/rbi/x_twitter_scraper/models/error.rbi +379 -13
  90. data/rbi/x_twitter_scraper/models/extraction_estimate_cost_params.rbi +8 -8
  91. data/rbi/x_twitter_scraper/models/guest_wallet_create_params.rbi +2 -2
  92. data/rbi/x_twitter_scraper/models/guest_wallet_create_response.rbi +87 -5
  93. data/rbi/x_twitter_scraper/models/guest_wallet_topup_params.rbi +2 -2
  94. data/rbi/x_twitter_scraper/models/guest_wallet_topup_response.rbi +87 -5
  95. data/rbi/x_twitter_scraper/models/search_tweet.rbi +12 -12
  96. data/rbi/x_twitter_scraper/models/support/ticket_create_params.rbi +9 -1
  97. data/rbi/x_twitter_scraper/models/support/ticket_create_response.rbi +113 -7
  98. data/rbi/x_twitter_scraper/models/support/ticket_reply_params.rbi +9 -1
  99. data/rbi/x_twitter_scraper/models/support/ticket_reply_response.rbi +113 -7
  100. data/rbi/x_twitter_scraper/models/support/ticket_retrieve_response.rbi +276 -5
  101. data/rbi/x_twitter_scraper/models/x/communities/join_create_params.rbi +6 -0
  102. data/rbi/x_twitter_scraper/models/x/communities/join_create_response.rbi +1154 -3
  103. data/rbi/x_twitter_scraper/models/x/communities/join_delete_all_params.rbi +6 -0
  104. data/rbi/x_twitter_scraper/models/x/communities/join_delete_all_response.rbi +1154 -3
  105. data/rbi/x_twitter_scraper/models/x/community_create_params.rbi +6 -0
  106. data/rbi/x_twitter_scraper/models/x/community_create_response.rbi +1127 -5
  107. data/rbi/x_twitter_scraper/models/x/community_delete_params.rbi +6 -0
  108. data/rbi/x_twitter_scraper/models/x/community_delete_response.rbi +1148 -3
  109. data/rbi/x_twitter_scraper/models/x/dm_send_params.rbi +6 -0
  110. data/rbi/x_twitter_scraper/models/x/dm_send_response.rbi +1112 -6
  111. data/rbi/x_twitter_scraper/models/x/media_upload_params.rbi +6 -0
  112. data/rbi/x_twitter_scraper/models/x/media_upload_response.rbi +1124 -9
  113. data/rbi/x_twitter_scraper/models/x/profile_update_avatar_params.rbi +6 -0
  114. data/rbi/x_twitter_scraper/models/x/profile_update_avatar_response.rbi +1152 -3
  115. data/rbi/x_twitter_scraper/models/x/profile_update_banner_params.rbi +6 -0
  116. data/rbi/x_twitter_scraper/models/x/profile_update_banner_response.rbi +1152 -3
  117. data/rbi/x_twitter_scraper/models/x/profile_update_params.rbi +6 -0
  118. data/rbi/x_twitter_scraper/models/x/profile_update_response.rbi +1144 -3
  119. data/rbi/x_twitter_scraper/models/x/tweet_author.rbi +3 -13
  120. data/rbi/x_twitter_scraper/models/x/tweet_create_params.rbi +5 -8
  121. data/rbi/x_twitter_scraper/models/x/tweet_create_response.rbi +1108 -14
  122. data/rbi/x_twitter_scraper/models/x/tweet_delete_params.rbi +6 -0
  123. data/rbi/x_twitter_scraper/models/x/tweet_delete_response.rbi +1140 -3
  124. data/rbi/x_twitter_scraper/models/x/tweets/like_create_params.rbi +6 -0
  125. data/rbi/x_twitter_scraper/models/x/tweets/like_create_response.rbi +1154 -3
  126. data/rbi/x_twitter_scraper/models/x/tweets/like_delete_params.rbi +6 -0
  127. data/rbi/x_twitter_scraper/models/x/tweets/like_delete_response.rbi +1154 -3
  128. data/rbi/x_twitter_scraper/models/x/tweets/retweet_create_params.rbi +6 -0
  129. data/rbi/x_twitter_scraper/models/x/tweets/retweet_create_response.rbi +1154 -3
  130. data/rbi/x_twitter_scraper/models/x/tweets/retweet_delete_params.rbi +6 -0
  131. data/rbi/x_twitter_scraper/models/x/tweets/retweet_delete_response.rbi +1154 -3
  132. data/rbi/x_twitter_scraper/models/x/user_remove_follower_params.rbi +6 -0
  133. data/rbi/x_twitter_scraper/models/x/user_remove_follower_response.rbi +1152 -3
  134. data/rbi/x_twitter_scraper/models/x/user_retrieve_following_params.rbi +2 -2
  135. data/rbi/x_twitter_scraper/models/x/user_retrieve_replies_params.rbi +2 -2
  136. data/rbi/x_twitter_scraper/models/x/users/follow_create_params.rbi +6 -0
  137. data/rbi/x_twitter_scraper/models/x/users/follow_create_response.rbi +1154 -3
  138. data/rbi/x_twitter_scraper/models/x/users/follow_delete_all_params.rbi +6 -0
  139. data/rbi/x_twitter_scraper/models/x/users/follow_delete_all_response.rbi +1154 -3
  140. data/rbi/x_twitter_scraper/models/x/write_action_retrieve_response.rbi +930 -66
  141. data/rbi/x_twitter_scraper/models/x/x_account.rbi +9 -9
  142. data/rbi/x_twitter_scraper/models/x/x_account_detail.rbi +1 -1
  143. data/rbi/x_twitter_scraper/resources/compose.rbi +12 -38
  144. data/rbi/x_twitter_scraper/resources/credits.rbi +1 -1
  145. data/rbi/x_twitter_scraper/resources/extractions.rbi +4 -4
  146. data/rbi/x_twitter_scraper/resources/guest_wallets.rbi +2 -2
  147. data/rbi/x_twitter_scraper/resources/monitors/keywords.rbi +4 -5
  148. data/rbi/x_twitter_scraper/resources/monitors.rbi +3 -3
  149. data/rbi/x_twitter_scraper/resources/support/tickets.rbi +17 -2
  150. data/rbi/x_twitter_scraper/resources/trends.rbi +1 -1
  151. data/rbi/x_twitter_scraper/resources/x/communities/join.rbi +16 -4
  152. data/rbi/x_twitter_scraper/resources/x/communities.rbi +19 -7
  153. data/rbi/x_twitter_scraper/resources/x/dm.rbi +10 -3
  154. data/rbi/x_twitter_scraper/resources/x/media.rbi +9 -4
  155. data/rbi/x_twitter_scraper/resources/x/profile.rbi +27 -8
  156. data/rbi/x_twitter_scraper/resources/x/tweets/like.rbi +16 -4
  157. data/rbi/x_twitter_scraper/resources/x/tweets/retweet.rbi +16 -4
  158. data/rbi/x_twitter_scraper/resources/x/tweets.rbi +31 -12
  159. data/rbi/x_twitter_scraper/resources/x/users/follow.rbi +16 -4
  160. data/rbi/x_twitter_scraper/resources/x/users.rbi +13 -7
  161. data/rbi/x_twitter_scraper/resources/x.rbi +1 -2
  162. data/sig/x_twitter_scraper/models/compose_create_params.rbs +150 -90
  163. data/sig/x_twitter_scraper/models/compose_create_response.rbs +249 -27
  164. data/sig/x_twitter_scraper/models/error.rbs +170 -7
  165. data/sig/x_twitter_scraper/models/guest_wallet_create_response.rbs +35 -5
  166. data/sig/x_twitter_scraper/models/guest_wallet_topup_response.rbs +35 -5
  167. data/sig/x_twitter_scraper/models/support/ticket_create_params.rbs +7 -1
  168. data/sig/x_twitter_scraper/models/support/ticket_create_response.rbs +49 -5
  169. data/sig/x_twitter_scraper/models/support/ticket_reply_params.rbs +7 -1
  170. data/sig/x_twitter_scraper/models/support/ticket_reply_response.rbs +49 -5
  171. data/sig/x_twitter_scraper/models/support/ticket_retrieve_response.rbs +113 -2
  172. data/sig/x_twitter_scraper/models/x/communities/join_create_params.rbs +5 -1
  173. data/sig/x_twitter_scraper/models/x/communities/join_create_response.rbs +540 -4
  174. data/sig/x_twitter_scraper/models/x/communities/join_delete_all_params.rbs +5 -1
  175. data/sig/x_twitter_scraper/models/x/communities/join_delete_all_response.rbs +540 -4
  176. data/sig/x_twitter_scraper/models/x/community_create_params.rbs +10 -1
  177. data/sig/x_twitter_scraper/models/x/community_create_response.rbs +528 -7
  178. data/sig/x_twitter_scraper/models/x/community_delete_params.rbs +10 -1
  179. data/sig/x_twitter_scraper/models/x/community_delete_response.rbs +540 -4
  180. data/sig/x_twitter_scraper/models/x/dm_send_params.rbs +5 -0
  181. data/sig/x_twitter_scraper/models/x/dm_send_response.rbs +539 -5
  182. data/sig/x_twitter_scraper/models/x/media_upload_params.rbs +5 -1
  183. data/sig/x_twitter_scraper/models/x/media_upload_response.rbs +534 -7
  184. data/sig/x_twitter_scraper/models/x/profile_update_avatar_params.rbs +5 -1
  185. data/sig/x_twitter_scraper/models/x/profile_update_avatar_response.rbs +540 -4
  186. data/sig/x_twitter_scraper/models/x/profile_update_banner_params.rbs +5 -1
  187. data/sig/x_twitter_scraper/models/x/profile_update_banner_response.rbs +540 -4
  188. data/sig/x_twitter_scraper/models/x/profile_update_params.rbs +5 -0
  189. data/sig/x_twitter_scraper/models/x/profile_update_response.rbs +540 -4
  190. data/sig/x_twitter_scraper/models/x/tweet_author.rbs +3 -11
  191. data/sig/x_twitter_scraper/models/x/tweet_create_params.rbs +4 -6
  192. data/sig/x_twitter_scraper/models/x/tweet_create_response.rbs +518 -11
  193. data/sig/x_twitter_scraper/models/x/tweet_delete_params.rbs +5 -1
  194. data/sig/x_twitter_scraper/models/x/tweet_delete_response.rbs +540 -4
  195. data/sig/x_twitter_scraper/models/x/tweets/like_create_params.rbs +5 -1
  196. data/sig/x_twitter_scraper/models/x/tweets/like_create_response.rbs +540 -4
  197. data/sig/x_twitter_scraper/models/x/tweets/like_delete_params.rbs +5 -1
  198. data/sig/x_twitter_scraper/models/x/tweets/like_delete_response.rbs +540 -4
  199. data/sig/x_twitter_scraper/models/x/tweets/retweet_create_params.rbs +5 -1
  200. data/sig/x_twitter_scraper/models/x/tweets/retweet_create_response.rbs +540 -4
  201. data/sig/x_twitter_scraper/models/x/tweets/retweet_delete_params.rbs +5 -1
  202. data/sig/x_twitter_scraper/models/x/tweets/retweet_delete_response.rbs +540 -4
  203. data/sig/x_twitter_scraper/models/x/user_remove_follower_params.rbs +5 -1
  204. data/sig/x_twitter_scraper/models/x/user_remove_follower_response.rbs +540 -4
  205. data/sig/x_twitter_scraper/models/x/users/follow_create_params.rbs +5 -1
  206. data/sig/x_twitter_scraper/models/x/users/follow_create_response.rbs +540 -4
  207. data/sig/x_twitter_scraper/models/x/users/follow_delete_all_params.rbs +5 -1
  208. data/sig/x_twitter_scraper/models/x/users/follow_delete_all_response.rbs +540 -4
  209. data/sig/x_twitter_scraper/models/x/write_action_retrieve_response.rbs +428 -54
  210. data/sig/x_twitter_scraper/resources/compose.rbs +2 -12
  211. data/sig/x_twitter_scraper/resources/support/tickets.rbs +2 -0
  212. data/sig/x_twitter_scraper/resources/x/communities/join.rbs +2 -0
  213. data/sig/x_twitter_scraper/resources/x/communities.rbs +2 -0
  214. data/sig/x_twitter_scraper/resources/x/dm.rbs +1 -0
  215. data/sig/x_twitter_scraper/resources/x/media.rbs +1 -0
  216. data/sig/x_twitter_scraper/resources/x/profile.rbs +3 -0
  217. data/sig/x_twitter_scraper/resources/x/tweets/like.rbs +2 -0
  218. data/sig/x_twitter_scraper/resources/x/tweets/retweet.rbs +2 -0
  219. data/sig/x_twitter_scraper/resources/x/tweets.rbs +2 -1
  220. data/sig/x_twitter_scraper/resources/x/users/follow.rbs +2 -0
  221. data/sig/x_twitter_scraper/resources/x/users.rbs +1 -0
  222. metadata +17 -26
@@ -1,43 +1,265 @@
1
1
  module XTwitterScraper
2
2
  module Models
3
3
  type compose_create_response =
4
- {
5
- feedback: String,
6
- score: Float,
7
- suggestions: ::Array[String],
8
- text: String
9
- }
4
+ XTwitterScraper::Models::ComposeCreateResponse::ComposePrepareResult
5
+ | XTwitterScraper::Models::ComposeCreateResponse::ComposeRefineResult
6
+ | XTwitterScraper::Models::ComposeCreateResponse::ComposeScoreResult
10
7
 
11
- class ComposeCreateResponse < XTwitterScraper::Internal::Type::BaseModel
12
- attr_reader feedback: String?
8
+ module ComposeCreateResponse
9
+ extend XTwitterScraper::Internal::Type::Union
13
10
 
14
- def feedback=: (String) -> String
11
+ type compose_prepare_result =
12
+ {
13
+ content_rules: ::Array[XTwitterScraper::Models::ComposeCreateResponse::ComposePrepareResult::ContentRule],
14
+ engagement_multipliers: ::Array[XTwitterScraper::Models::ComposeCreateResponse::ComposePrepareResult::EngagementMultiplier],
15
+ engagement_velocity: String,
16
+ follow_up_questions: ::Array[String],
17
+ intent_url: String,
18
+ next_step: String,
19
+ scorer_weights: ::Array[XTwitterScraper::Models::ComposeCreateResponse::ComposePrepareResult::ScorerWeight],
20
+ source: String,
21
+ top_penalties: ::Array[String],
22
+ saved_styles: ::Array[XTwitterScraper::Models::ComposeCreateResponse::ComposePrepareResult::SavedStyle],
23
+ style_note: String,
24
+ style_tweets: ::Array[String]
25
+ }
15
26
 
16
- attr_reader score: Float?
27
+ class ComposePrepareResult < XTwitterScraper::Internal::Type::BaseModel
28
+ attr_accessor content_rules: ::Array[XTwitterScraper::Models::ComposeCreateResponse::ComposePrepareResult::ContentRule]
17
29
 
18
- def score=: (Float) -> Float
30
+ attr_accessor engagement_multipliers: ::Array[XTwitterScraper::Models::ComposeCreateResponse::ComposePrepareResult::EngagementMultiplier]
19
31
 
20
- attr_reader suggestions: ::Array[String]?
32
+ attr_accessor engagement_velocity: String
21
33
 
22
- def suggestions=: (::Array[String]) -> ::Array[String]
34
+ attr_accessor follow_up_questions: ::Array[String]
23
35
 
24
- attr_reader text: String?
36
+ attr_accessor intent_url: String
25
37
 
26
- def text=: (String) -> String
38
+ attr_accessor next_step: String
27
39
 
28
- def initialize: (
29
- ?feedback: String,
30
- ?score: Float,
31
- ?suggestions: ::Array[String],
32
- ?text: String
33
- ) -> void
40
+ attr_accessor scorer_weights: ::Array[XTwitterScraper::Models::ComposeCreateResponse::ComposePrepareResult::ScorerWeight]
34
41
 
35
- def to_hash: -> {
36
- feedback: String,
37
- score: Float,
38
- suggestions: ::Array[String],
39
- text: String
40
- }
42
+ attr_accessor source: String
43
+
44
+ attr_accessor top_penalties: ::Array[String]
45
+
46
+ attr_reader saved_styles: ::Array[XTwitterScraper::Models::ComposeCreateResponse::ComposePrepareResult::SavedStyle]?
47
+
48
+ def saved_styles=: (
49
+ ::Array[XTwitterScraper::Models::ComposeCreateResponse::ComposePrepareResult::SavedStyle]
50
+ ) -> ::Array[XTwitterScraper::Models::ComposeCreateResponse::ComposePrepareResult::SavedStyle]
51
+
52
+ attr_reader style_note: String?
53
+
54
+ def style_note=: (String) -> String
55
+
56
+ attr_reader style_tweets: ::Array[String]?
57
+
58
+ def style_tweets=: (::Array[String]) -> ::Array[String]
59
+
60
+ def initialize: (
61
+ content_rules: ::Array[XTwitterScraper::Models::ComposeCreateResponse::ComposePrepareResult::ContentRule],
62
+ engagement_multipliers: ::Array[XTwitterScraper::Models::ComposeCreateResponse::ComposePrepareResult::EngagementMultiplier],
63
+ engagement_velocity: String,
64
+ follow_up_questions: ::Array[String],
65
+ intent_url: String,
66
+ next_step: String,
67
+ scorer_weights: ::Array[XTwitterScraper::Models::ComposeCreateResponse::ComposePrepareResult::ScorerWeight],
68
+ source: String,
69
+ top_penalties: ::Array[String],
70
+ ?saved_styles: ::Array[XTwitterScraper::Models::ComposeCreateResponse::ComposePrepareResult::SavedStyle],
71
+ ?style_note: String,
72
+ ?style_tweets: ::Array[String]
73
+ ) -> void
74
+
75
+ def to_hash: -> {
76
+ content_rules: ::Array[XTwitterScraper::Models::ComposeCreateResponse::ComposePrepareResult::ContentRule],
77
+ engagement_multipliers: ::Array[XTwitterScraper::Models::ComposeCreateResponse::ComposePrepareResult::EngagementMultiplier],
78
+ engagement_velocity: String,
79
+ follow_up_questions: ::Array[String],
80
+ intent_url: String,
81
+ next_step: String,
82
+ scorer_weights: ::Array[XTwitterScraper::Models::ComposeCreateResponse::ComposePrepareResult::ScorerWeight],
83
+ source: String,
84
+ top_penalties: ::Array[String],
85
+ saved_styles: ::Array[XTwitterScraper::Models::ComposeCreateResponse::ComposePrepareResult::SavedStyle],
86
+ style_note: String,
87
+ style_tweets: ::Array[String]
88
+ }
89
+
90
+ type content_rule = { rule: String }
91
+
92
+ class ContentRule < XTwitterScraper::Internal::Type::BaseModel
93
+ attr_accessor rule: String
94
+
95
+ def initialize: (rule: String) -> void
96
+
97
+ def to_hash: -> { rule: String }
98
+ end
99
+
100
+ type engagement_multiplier =
101
+ {
102
+ action: String,
103
+ multiplier: :"Production weight not published by X"
104
+ }
105
+
106
+ class EngagementMultiplier < XTwitterScraper::Internal::Type::BaseModel
107
+ attr_accessor action: String
108
+
109
+ attr_accessor multiplier: :"Production weight not published by X"
110
+
111
+ def initialize: (
112
+ action: String,
113
+ ?multiplier: :"Production weight not published by X"
114
+ ) -> void
115
+
116
+ def to_hash: -> {
117
+ action: String,
118
+ multiplier: :"Production weight not published by X"
119
+ }
120
+ end
121
+
122
+ type scorer_weight = { context: String, signal: String, weight: nil }
123
+
124
+ class ScorerWeight < XTwitterScraper::Internal::Type::BaseModel
125
+ attr_accessor context: String
126
+
127
+ attr_accessor signal: String
128
+
129
+ attr_accessor weight: nil
130
+
131
+ def initialize: (context: String, signal: String, weight: nil) -> void
132
+
133
+ def to_hash: -> { context: String, signal: String, weight: nil }
134
+ end
135
+
136
+ type saved_style = { tweet_count: Integer, username: String }
137
+
138
+ class SavedStyle < XTwitterScraper::Internal::Type::BaseModel
139
+ attr_accessor tweet_count: Integer
140
+
141
+ attr_accessor username: String
142
+
143
+ def initialize: (tweet_count: Integer, username: String) -> void
144
+
145
+ def to_hash: -> { tweet_count: Integer, username: String }
146
+ end
147
+ end
148
+
149
+ type compose_refine_result =
150
+ {
151
+ composition_guidance: ::Array[String],
152
+ example_patterns: ::Array[XTwitterScraper::Models::ComposeCreateResponse::ComposeRefineResult::ExamplePattern],
153
+ intent_url: String,
154
+ next_step: String
155
+ }
156
+
157
+ class ComposeRefineResult < XTwitterScraper::Internal::Type::BaseModel
158
+ attr_accessor composition_guidance: ::Array[String]
159
+
160
+ attr_accessor example_patterns: ::Array[XTwitterScraper::Models::ComposeCreateResponse::ComposeRefineResult::ExamplePattern]
161
+
162
+ attr_accessor intent_url: String
163
+
164
+ attr_accessor next_step: String
165
+
166
+ def initialize: (
167
+ composition_guidance: ::Array[String],
168
+ example_patterns: ::Array[XTwitterScraper::Models::ComposeCreateResponse::ComposeRefineResult::ExamplePattern],
169
+ intent_url: String,
170
+ next_step: String
171
+ ) -> void
172
+
173
+ def to_hash: -> {
174
+ composition_guidance: ::Array[String],
175
+ example_patterns: ::Array[XTwitterScraper::Models::ComposeCreateResponse::ComposeRefineResult::ExamplePattern],
176
+ intent_url: String,
177
+ next_step: String
178
+ }
179
+
180
+ type example_pattern = { description: String, pattern: String }
181
+
182
+ class ExamplePattern < XTwitterScraper::Internal::Type::BaseModel
183
+ attr_accessor description: String
184
+
185
+ attr_accessor pattern: String
186
+
187
+ def initialize: (description: String, pattern: String) -> void
188
+
189
+ def to_hash: -> { description: String, pattern: String }
190
+ end
191
+ end
192
+
193
+ type compose_score_result =
194
+ {
195
+ checklist: ::Array[XTwitterScraper::Models::ComposeCreateResponse::ComposeScoreResult::Checklist],
196
+ next_step: String,
197
+ passed: bool,
198
+ passed_count: Integer,
199
+ top_suggestion: String,
200
+ total_checks: 9,
201
+ intent_url: String
202
+ }
203
+
204
+ class ComposeScoreResult < XTwitterScraper::Internal::Type::BaseModel
205
+ attr_accessor checklist: ::Array[XTwitterScraper::Models::ComposeCreateResponse::ComposeScoreResult::Checklist]
206
+
207
+ attr_accessor next_step: String
208
+
209
+ attr_accessor passed: bool
210
+
211
+ attr_accessor passed_count: Integer
212
+
213
+ attr_accessor top_suggestion: String
214
+
215
+ attr_accessor total_checks: 9
216
+
217
+ attr_reader intent_url: String?
218
+
219
+ def intent_url=: (String) -> String
220
+
221
+ def initialize: (
222
+ checklist: ::Array[XTwitterScraper::Models::ComposeCreateResponse::ComposeScoreResult::Checklist],
223
+ next_step: String,
224
+ passed: bool,
225
+ passed_count: Integer,
226
+ top_suggestion: String,
227
+ ?intent_url: String,
228
+ ?total_checks: 9
229
+ ) -> void
230
+
231
+ def to_hash: -> {
232
+ checklist: ::Array[XTwitterScraper::Models::ComposeCreateResponse::ComposeScoreResult::Checklist],
233
+ next_step: String,
234
+ passed: bool,
235
+ passed_count: Integer,
236
+ top_suggestion: String,
237
+ total_checks: 9,
238
+ intent_url: String
239
+ }
240
+
241
+ type checklist = { factor: String, passed: bool, suggestion: String }
242
+
243
+ class Checklist < XTwitterScraper::Internal::Type::BaseModel
244
+ attr_accessor factor: String
245
+
246
+ attr_accessor passed: bool
247
+
248
+ attr_reader suggestion: String?
249
+
250
+ def suggestion=: (String) -> String
251
+
252
+ def initialize: (
253
+ factor: String,
254
+ passed: bool,
255
+ ?suggestion: String
256
+ ) -> void
257
+
258
+ def to_hash: -> { factor: String, passed: bool, suggestion: String }
259
+ end
260
+ end
261
+
262
+ def self?.variants: -> ::Array[XTwitterScraper::Models::compose_create_response]
41
263
  end
42
264
  end
43
265
  end
@@ -1,13 +1,48 @@
1
1
  module XTwitterScraper
2
2
  module Models
3
- type error = { error: XTwitterScraper::Models::Error::error }
3
+ type error =
4
+ {
5
+ error: XTwitterScraper::Models::Error::error,
6
+ message: String,
7
+ reason: String,
8
+ retry_after: Integer,
9
+ retry_after_ms: Integer
10
+ }
4
11
 
5
12
  class Error < XTwitterScraper::Internal::Type::BaseModel
6
13
  attr_accessor error: XTwitterScraper::Models::Error::error
7
14
 
8
- def initialize: (error: XTwitterScraper::Models::Error::error) -> void
15
+ attr_reader message: String?
9
16
 
10
- def to_hash: -> { error: XTwitterScraper::Models::Error::error }
17
+ def message=: (String) -> String
18
+
19
+ attr_reader reason: String?
20
+
21
+ def reason=: (String) -> String
22
+
23
+ attr_reader retry_after: Integer?
24
+
25
+ def retry_after=: (Integer) -> Integer
26
+
27
+ attr_reader retry_after_ms: Integer?
28
+
29
+ def retry_after_ms=: (Integer) -> Integer
30
+
31
+ def initialize: (
32
+ error: XTwitterScraper::Models::Error::error,
33
+ ?message: String,
34
+ ?reason: String,
35
+ ?retry_after: Integer,
36
+ ?retry_after_ms: Integer
37
+ ) -> void
38
+
39
+ def to_hash: -> {
40
+ error: XTwitterScraper::Models::Error::error,
41
+ message: String,
42
+ reason: String,
43
+ retry_after: Integer,
44
+ retry_after_ms: Integer
45
+ }
11
46
 
12
47
  type error =
13
48
  XTwitterScraper::Models::Error::Error::legacy_error_code
@@ -57,6 +92,39 @@ module XTwitterScraper
57
92
  | :unauthenticated
58
93
  | :unsupported_field
59
94
  | :user_not_found
95
+ | :body_too_large
96
+ | :checkout_unavailable
97
+ | :connection_challenge_expired
98
+ | :connection_challenge_inactive
99
+ | :draft_not_found
100
+ | :favoriters_unavailable
101
+ | :forbidden
102
+ | :guest_wallet_unavailable
103
+ | :guest_wallets_disabled
104
+ | :guest_wallets_unavailable
105
+ | :idempotency_conflict
106
+ | :idempotency_key_conflict
107
+ | :invalid_community_id
108
+ | :invalid_idempotency_key
109
+ | :invalid_list_id
110
+ | :invalid_payment_amount
111
+ | :invalid_range
112
+ | :login_rate_limited
113
+ | :missing_idempotency_key
114
+ | :missing_ids
115
+ | :no_cached_style
116
+ | :passkey_required
117
+ | :rate_limited
118
+ | :read_request_timeout
119
+ | :replies_incomplete
120
+ | :support_media_rate_limit
121
+ | :support_request_rate_limit
122
+ | :too_many_ids
123
+ | :unknown_field
124
+ | :unsupported_media_type
125
+ | :webhook_inactive
126
+ | :write_tracking_unavailable
127
+ | :x_write_unconfirmed
60
128
  | :x_account_feature_required
61
129
  | :x_account_protected
62
130
  | :x_account_suspended
@@ -83,7 +151,6 @@ module XTwitterScraper
83
151
  | :x_user_lookup_failed
84
152
  | :x_write_ambiguous
85
153
  | :x_write_failed
86
- | :x_write_unconfirmed
87
154
 
88
155
  module LegacyErrorCode
89
156
  extend XTwitterScraper::Internal::Type::Enum
@@ -128,6 +195,39 @@ module XTwitterScraper
128
195
  UNAUTHENTICATED: :unauthenticated
129
196
  UNSUPPORTED_FIELD: :unsupported_field
130
197
  USER_NOT_FOUND: :user_not_found
198
+ BODY_TOO_LARGE: :body_too_large
199
+ CHECKOUT_UNAVAILABLE: :checkout_unavailable
200
+ CONNECTION_CHALLENGE_EXPIRED: :connection_challenge_expired
201
+ CONNECTION_CHALLENGE_INACTIVE: :connection_challenge_inactive
202
+ DRAFT_NOT_FOUND: :draft_not_found
203
+ FAVORITERS_UNAVAILABLE: :favoriters_unavailable
204
+ FORBIDDEN: :forbidden
205
+ GUEST_WALLET_UNAVAILABLE: :guest_wallet_unavailable
206
+ GUEST_WALLETS_DISABLED: :guest_wallets_disabled
207
+ GUEST_WALLETS_UNAVAILABLE: :guest_wallets_unavailable
208
+ IDEMPOTENCY_CONFLICT: :idempotency_conflict
209
+ IDEMPOTENCY_KEY_CONFLICT: :idempotency_key_conflict
210
+ INVALID_COMMUNITY_ID: :invalid_community_id
211
+ INVALID_IDEMPOTENCY_KEY: :invalid_idempotency_key
212
+ INVALID_LIST_ID: :invalid_list_id
213
+ INVALID_PAYMENT_AMOUNT: :invalid_payment_amount
214
+ INVALID_RANGE: :invalid_range
215
+ LOGIN_RATE_LIMITED: :login_rate_limited
216
+ MISSING_IDEMPOTENCY_KEY: :missing_idempotency_key
217
+ MISSING_IDS: :missing_ids
218
+ NO_CACHED_STYLE: :no_cached_style
219
+ PASSKEY_REQUIRED: :passkey_required
220
+ RATE_LIMITED: :rate_limited
221
+ READ_REQUEST_TIMEOUT: :read_request_timeout
222
+ REPLIES_INCOMPLETE: :replies_incomplete
223
+ SUPPORT_MEDIA_RATE_LIMIT: :support_media_rate_limit
224
+ SUPPORT_REQUEST_RATE_LIMIT: :support_request_rate_limit
225
+ TOO_MANY_IDS: :too_many_ids
226
+ UNKNOWN_FIELD: :unknown_field
227
+ UNSUPPORTED_MEDIA_TYPE: :unsupported_media_type
228
+ WEBHOOK_INACTIVE: :webhook_inactive
229
+ WRITE_TRACKING_UNAVAILABLE: :write_tracking_unavailable
230
+ X_WRITE_UNCONFIRMED: :x_write_unconfirmed
131
231
  X_ACCOUNT_FEATURE_REQUIRED: :x_account_feature_required
132
232
  X_ACCOUNT_PROTECTED: :x_account_protected
133
233
  X_ACCOUNT_SUSPENDED: :x_account_suspended
@@ -154,7 +254,6 @@ module XTwitterScraper
154
254
  X_USER_LOOKUP_FAILED: :x_user_lookup_failed
155
255
  X_WRITE_AMBIGUOUS: :x_write_ambiguous
156
256
  X_WRITE_FAILED: :x_write_failed
157
- X_WRITE_UNCONFIRMED: :x_write_unconfirmed
158
257
 
159
258
  def self?.values: -> ::Array[XTwitterScraper::Models::Error::Error::legacy_error_code]
160
259
  end
@@ -226,6 +325,39 @@ module XTwitterScraper
226
325
  | :unauthenticated
227
326
  | :unsupported_field
228
327
  | :user_not_found
328
+ | :body_too_large
329
+ | :checkout_unavailable
330
+ | :connection_challenge_expired
331
+ | :connection_challenge_inactive
332
+ | :draft_not_found
333
+ | :favoriters_unavailable
334
+ | :forbidden
335
+ | :guest_wallet_unavailable
336
+ | :guest_wallets_disabled
337
+ | :guest_wallets_unavailable
338
+ | :idempotency_conflict
339
+ | :idempotency_key_conflict
340
+ | :invalid_community_id
341
+ | :invalid_idempotency_key
342
+ | :invalid_list_id
343
+ | :invalid_payment_amount
344
+ | :invalid_range
345
+ | :login_rate_limited
346
+ | :missing_idempotency_key
347
+ | :missing_ids
348
+ | :no_cached_style
349
+ | :passkey_required
350
+ | :rate_limited
351
+ | :read_request_timeout
352
+ | :replies_incomplete
353
+ | :support_media_rate_limit
354
+ | :support_request_rate_limit
355
+ | :too_many_ids
356
+ | :unknown_field
357
+ | :unsupported_media_type
358
+ | :webhook_inactive
359
+ | :write_tracking_unavailable
360
+ | :x_write_unconfirmed
229
361
  | :x_account_feature_required
230
362
  | :x_account_protected
231
363
  | :x_account_suspended
@@ -252,7 +384,6 @@ module XTwitterScraper
252
384
  | :x_user_lookup_failed
253
385
  | :x_write_ambiguous
254
386
  | :x_write_failed
255
- | :x_write_unconfirmed
256
387
 
257
388
  module Code
258
389
  extend XTwitterScraper::Internal::Type::Enum
@@ -297,6 +428,39 @@ module XTwitterScraper
297
428
  UNAUTHENTICATED: :unauthenticated
298
429
  UNSUPPORTED_FIELD: :unsupported_field
299
430
  USER_NOT_FOUND: :user_not_found
431
+ BODY_TOO_LARGE: :body_too_large
432
+ CHECKOUT_UNAVAILABLE: :checkout_unavailable
433
+ CONNECTION_CHALLENGE_EXPIRED: :connection_challenge_expired
434
+ CONNECTION_CHALLENGE_INACTIVE: :connection_challenge_inactive
435
+ DRAFT_NOT_FOUND: :draft_not_found
436
+ FAVORITERS_UNAVAILABLE: :favoriters_unavailable
437
+ FORBIDDEN: :forbidden
438
+ GUEST_WALLET_UNAVAILABLE: :guest_wallet_unavailable
439
+ GUEST_WALLETS_DISABLED: :guest_wallets_disabled
440
+ GUEST_WALLETS_UNAVAILABLE: :guest_wallets_unavailable
441
+ IDEMPOTENCY_CONFLICT: :idempotency_conflict
442
+ IDEMPOTENCY_KEY_CONFLICT: :idempotency_key_conflict
443
+ INVALID_COMMUNITY_ID: :invalid_community_id
444
+ INVALID_IDEMPOTENCY_KEY: :invalid_idempotency_key
445
+ INVALID_LIST_ID: :invalid_list_id
446
+ INVALID_PAYMENT_AMOUNT: :invalid_payment_amount
447
+ INVALID_RANGE: :invalid_range
448
+ LOGIN_RATE_LIMITED: :login_rate_limited
449
+ MISSING_IDEMPOTENCY_KEY: :missing_idempotency_key
450
+ MISSING_IDS: :missing_ids
451
+ NO_CACHED_STYLE: :no_cached_style
452
+ PASSKEY_REQUIRED: :passkey_required
453
+ RATE_LIMITED: :rate_limited
454
+ READ_REQUEST_TIMEOUT: :read_request_timeout
455
+ REPLIES_INCOMPLETE: :replies_incomplete
456
+ SUPPORT_MEDIA_RATE_LIMIT: :support_media_rate_limit
457
+ SUPPORT_REQUEST_RATE_LIMIT: :support_request_rate_limit
458
+ TOO_MANY_IDS: :too_many_ids
459
+ UNKNOWN_FIELD: :unknown_field
460
+ UNSUPPORTED_MEDIA_TYPE: :unsupported_media_type
461
+ WEBHOOK_INACTIVE: :webhook_inactive
462
+ WRITE_TRACKING_UNAVAILABLE: :write_tracking_unavailable
463
+ X_WRITE_UNCONFIRMED: :x_write_unconfirmed
300
464
  X_ACCOUNT_FEATURE_REQUIRED: :x_account_feature_required
301
465
  X_ACCOUNT_PROTECTED: :x_account_protected
302
466
  X_ACCOUNT_SUSPENDED: :x_account_suspended
@@ -323,7 +487,6 @@ module XTwitterScraper
323
487
  X_USER_LOOKUP_FAILED: :x_user_lookup_failed
324
488
  X_WRITE_AMBIGUOUS: :x_write_ambiguous
325
489
  X_WRITE_FAILED: :x_write_failed
326
- X_WRITE_UNCONFIRMED: :x_write_unconfirmed
327
490
 
328
491
  def self?.values: -> ::Array[XTwitterScraper::Models::Error::Error::StructuredError::code]
329
492
  end
@@ -86,16 +86,46 @@ module XTwitterScraper
86
86
  wallet_id: String
87
87
  }
88
88
 
89
- type authorization = { header: :Authorization, scheme: :Bearer }
89
+ type authorization =
90
+ {
91
+ header: XTwitterScraper::Models::GuestWalletCreateResponse::Authorization::header,
92
+ scheme: XTwitterScraper::Models::GuestWalletCreateResponse::Authorization::scheme
93
+ }
90
94
 
91
95
  class Authorization < XTwitterScraper::Internal::Type::BaseModel
92
- attr_accessor header: :Authorization
96
+ attr_accessor header: XTwitterScraper::Models::GuestWalletCreateResponse::Authorization::header
93
97
 
94
- attr_accessor scheme: :Bearer
98
+ attr_accessor scheme: XTwitterScraper::Models::GuestWalletCreateResponse::Authorization::scheme
95
99
 
96
- def initialize: (?header: :Authorization, ?scheme: :Bearer) -> void
100
+ def initialize: (
101
+ header: XTwitterScraper::Models::GuestWalletCreateResponse::Authorization::header,
102
+ scheme: XTwitterScraper::Models::GuestWalletCreateResponse::Authorization::scheme
103
+ ) -> void
97
104
 
98
- def to_hash: -> { header: :Authorization, scheme: :Bearer }
105
+ def to_hash: -> {
106
+ header: XTwitterScraper::Models::GuestWalletCreateResponse::Authorization::header,
107
+ scheme: XTwitterScraper::Models::GuestWalletCreateResponse::Authorization::scheme
108
+ }
109
+
110
+ type header = :Authorization
111
+
112
+ module Header
113
+ extend XTwitterScraper::Internal::Type::Enum
114
+
115
+ AUTHORIZATION: :Authorization
116
+
117
+ def self?.values: -> ::Array[XTwitterScraper::Models::GuestWalletCreateResponse::Authorization::header]
118
+ end
119
+
120
+ type scheme = :Bearer
121
+
122
+ module Scheme
123
+ extend XTwitterScraper::Internal::Type::Enum
124
+
125
+ BEARER: :Bearer
126
+
127
+ def self?.values: -> ::Array[XTwitterScraper::Models::GuestWalletCreateResponse::Authorization::scheme]
128
+ end
99
129
  end
100
130
 
101
131
  type status =
@@ -119,16 +119,46 @@ module XTwitterScraper
119
119
  def self?.values: -> ::Array[XTwitterScraper::Models::GuestWalletTopupResponse::status]
120
120
  end
121
121
 
122
- type authorization = { header: :Authorization, scheme: :Bearer }
122
+ type authorization =
123
+ {
124
+ header: XTwitterScraper::Models::GuestWalletTopupResponse::Authorization::header,
125
+ scheme: XTwitterScraper::Models::GuestWalletTopupResponse::Authorization::scheme
126
+ }
123
127
 
124
128
  class Authorization < XTwitterScraper::Internal::Type::BaseModel
125
- attr_accessor header: :Authorization
129
+ attr_accessor header: XTwitterScraper::Models::GuestWalletTopupResponse::Authorization::header
126
130
 
127
- attr_accessor scheme: :Bearer
131
+ attr_accessor scheme: XTwitterScraper::Models::GuestWalletTopupResponse::Authorization::scheme
128
132
 
129
- def initialize: (?header: :Authorization, ?scheme: :Bearer) -> void
133
+ def initialize: (
134
+ header: XTwitterScraper::Models::GuestWalletTopupResponse::Authorization::header,
135
+ scheme: XTwitterScraper::Models::GuestWalletTopupResponse::Authorization::scheme
136
+ ) -> void
130
137
 
131
- def to_hash: -> { header: :Authorization, scheme: :Bearer }
138
+ def to_hash: -> {
139
+ header: XTwitterScraper::Models::GuestWalletTopupResponse::Authorization::header,
140
+ scheme: XTwitterScraper::Models::GuestWalletTopupResponse::Authorization::scheme
141
+ }
142
+
143
+ type header = :Authorization
144
+
145
+ module Header
146
+ extend XTwitterScraper::Internal::Type::Enum
147
+
148
+ AUTHORIZATION: :Authorization
149
+
150
+ def self?.values: -> ::Array[XTwitterScraper::Models::GuestWalletTopupResponse::Authorization::header]
151
+ end
152
+
153
+ type scheme = :Bearer
154
+
155
+ module Scheme
156
+ extend XTwitterScraper::Internal::Type::Enum
157
+
158
+ BEARER: :Bearer
159
+
160
+ def self?.values: -> ::Array[XTwitterScraper::Models::GuestWalletTopupResponse::Authorization::scheme]
161
+ end
132
162
  end
133
163
 
134
164
  type credential_notice =
@@ -2,7 +2,7 @@ module XTwitterScraper
2
2
  module Models
3
3
  module Support
4
4
  type ticket_create_params =
5
- { body: String, subject: String }
5
+ { body: String, subject: String, idempotency_key: String }
6
6
  & XTwitterScraper::Internal::Type::request_parameters
7
7
 
8
8
  class TicketCreateParams < XTwitterScraper::Internal::Type::BaseModel
@@ -13,15 +13,21 @@ module XTwitterScraper
13
13
 
14
14
  attr_accessor subject: String
15
15
 
16
+ attr_reader idempotency_key: String?
17
+
18
+ def idempotency_key=: (String) -> String
19
+
16
20
  def initialize: (
17
21
  body: String,
18
22
  subject: String,
23
+ ?idempotency_key: String,
19
24
  ?request_options: XTwitterScraper::request_opts
20
25
  ) -> void
21
26
 
22
27
  def to_hash: -> {
23
28
  body: String,
24
29
  subject: String,
30
+ idempotency_key: String,
25
31
  request_options: XTwitterScraper::RequestOptions
26
32
  }
27
33
  end