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
@@ -2,14 +2,550 @@ module XTwitterScraper
2
2
  module Models
3
3
  module X
4
4
  module Communities
5
- type join_delete_all_response = { success: true }
5
+ type join_delete_all_response =
6
+ {
7
+ id: String,
8
+ account: XTwitterScraper::Models::X::Communities::JoinDeleteAllResponse::Account?,
9
+ action: XTwitterScraper::Models::X::Communities::JoinDeleteAllResponse::action,
10
+ billing: XTwitterScraper::Models::X::Communities::JoinDeleteAllResponse::Billing,
11
+ charged: bool,
12
+ charged_credits: String,
13
+ next_action: XTwitterScraper::Models::X::Communities::JoinDeleteAllResponse::NextAction?,
14
+ object: :x_write_action,
15
+ poll_after_ms: Integer?,
16
+ request: XTwitterScraper::Models::X::Communities::JoinDeleteAllResponse::Request,
17
+ result: XTwitterScraper::Models::X::Communities::JoinDeleteAllResponse::Result?,
18
+ retryable: bool,
19
+ safe_to_retry: bool,
20
+ send_dispatched: bool,
21
+ status: XTwitterScraper::Models::X::Communities::JoinDeleteAllResponse::status,
22
+ status_url: String,
23
+ success: bool,
24
+ target: XTwitterScraper::Models::X::Communities::JoinDeleteAllResponse::Target?,
25
+ target_id: String?,
26
+ terminal: bool,
27
+ write_action_id: String,
28
+ community_id: String,
29
+ community_name: String,
30
+ completed_at: Time,
31
+ confirmation_attempts: Integer,
32
+ confirmation_checked_at: Time,
33
+ confirmed_at: Time,
34
+ created_at: Time,
35
+ details: ::Hash[Symbol, top],
36
+ error: String,
37
+ expires_at: Time,
38
+ idempotent: bool,
39
+ media: ::Hash[Symbol, top],
40
+ media_id: String,
41
+ media_url: String,
42
+ message: String,
43
+ message_id: String,
44
+ request_hash: String,
45
+ request_id: String,
46
+ result_id: String,
47
+ send_dispatched_at: Time,
48
+ tweet_id: String,
49
+ updated_at: Time
50
+ }
6
51
 
7
52
  class JoinDeleteAllResponse < XTwitterScraper::Internal::Type::BaseModel
8
- attr_accessor success: true
53
+ attr_accessor id: String
9
54
 
10
- def initialize: (?success: true) -> void
55
+ attr_accessor account: XTwitterScraper::Models::X::Communities::JoinDeleteAllResponse::Account?
11
56
 
12
- def to_hash: -> { success: true }
57
+ attr_accessor action: XTwitterScraper::Models::X::Communities::JoinDeleteAllResponse::action
58
+
59
+ attr_accessor billing: XTwitterScraper::Models::X::Communities::JoinDeleteAllResponse::Billing
60
+
61
+ attr_accessor charged: bool
62
+
63
+ attr_accessor charged_credits: String
64
+
65
+ attr_accessor next_action: XTwitterScraper::Models::X::Communities::JoinDeleteAllResponse::NextAction?
66
+
67
+ attr_accessor object: :x_write_action
68
+
69
+ attr_accessor poll_after_ms: Integer?
70
+
71
+ attr_accessor request: XTwitterScraper::Models::X::Communities::JoinDeleteAllResponse::Request
72
+
73
+ attr_accessor result: XTwitterScraper::Models::X::Communities::JoinDeleteAllResponse::Result?
74
+
75
+ attr_accessor retryable: bool
76
+
77
+ attr_accessor safe_to_retry: bool
78
+
79
+ attr_accessor send_dispatched: bool
80
+
81
+ attr_accessor status: XTwitterScraper::Models::X::Communities::JoinDeleteAllResponse::status
82
+
83
+ attr_accessor status_url: String
84
+
85
+ attr_accessor success: bool
86
+
87
+ attr_accessor target: XTwitterScraper::Models::X::Communities::JoinDeleteAllResponse::Target?
88
+
89
+ attr_accessor target_id: String?
90
+
91
+ attr_accessor terminal: bool
92
+
93
+ attr_accessor write_action_id: String
94
+
95
+ attr_reader community_id: String?
96
+
97
+ def community_id=: (String) -> String
98
+
99
+ attr_reader community_name: String?
100
+
101
+ def community_name=: (String) -> String
102
+
103
+ attr_reader completed_at: Time?
104
+
105
+ def completed_at=: (Time) -> Time
106
+
107
+ attr_reader confirmation_attempts: Integer?
108
+
109
+ def confirmation_attempts=: (Integer) -> Integer
110
+
111
+ attr_reader confirmation_checked_at: Time?
112
+
113
+ def confirmation_checked_at=: (Time) -> Time
114
+
115
+ attr_reader confirmed_at: Time?
116
+
117
+ def confirmed_at=: (Time) -> Time
118
+
119
+ attr_reader created_at: Time?
120
+
121
+ def created_at=: (Time) -> Time
122
+
123
+ attr_reader details: ::Hash[Symbol, top]?
124
+
125
+ def details=: (::Hash[Symbol, top]) -> ::Hash[Symbol, top]
126
+
127
+ attr_reader error: String?
128
+
129
+ def error=: (String) -> String
130
+
131
+ attr_reader expires_at: Time?
132
+
133
+ def expires_at=: (Time) -> Time
134
+
135
+ attr_reader idempotent: bool?
136
+
137
+ def idempotent=: (bool) -> bool
138
+
139
+ attr_reader media: ::Hash[Symbol, top]?
140
+
141
+ def media=: (::Hash[Symbol, top]) -> ::Hash[Symbol, top]
142
+
143
+ attr_reader media_id: String?
144
+
145
+ def media_id=: (String) -> String
146
+
147
+ attr_reader media_url: String?
148
+
149
+ def media_url=: (String) -> String
150
+
151
+ attr_reader message: String?
152
+
153
+ def message=: (String) -> String
154
+
155
+ attr_reader message_id: String?
156
+
157
+ def message_id=: (String) -> String
158
+
159
+ attr_reader request_hash: String?
160
+
161
+ def request_hash=: (String) -> String
162
+
163
+ attr_reader request_id: String?
164
+
165
+ def request_id=: (String) -> String
166
+
167
+ attr_reader result_id: String?
168
+
169
+ def result_id=: (String) -> String
170
+
171
+ attr_reader send_dispatched_at: Time?
172
+
173
+ def send_dispatched_at=: (Time) -> Time
174
+
175
+ attr_reader tweet_id: String?
176
+
177
+ def tweet_id=: (String) -> String
178
+
179
+ attr_reader updated_at: Time?
180
+
181
+ def updated_at=: (Time) -> Time
182
+
183
+ def initialize: (
184
+ id: String,
185
+ account: XTwitterScraper::Models::X::Communities::JoinDeleteAllResponse::Account?,
186
+ action: XTwitterScraper::Models::X::Communities::JoinDeleteAllResponse::action,
187
+ billing: XTwitterScraper::Models::X::Communities::JoinDeleteAllResponse::Billing,
188
+ charged: bool,
189
+ charged_credits: String,
190
+ next_action: XTwitterScraper::Models::X::Communities::JoinDeleteAllResponse::NextAction?,
191
+ poll_after_ms: Integer?,
192
+ request: XTwitterScraper::Models::X::Communities::JoinDeleteAllResponse::Request,
193
+ result: XTwitterScraper::Models::X::Communities::JoinDeleteAllResponse::Result?,
194
+ retryable: bool,
195
+ safe_to_retry: bool,
196
+ send_dispatched: bool,
197
+ status: XTwitterScraper::Models::X::Communities::JoinDeleteAllResponse::status,
198
+ status_url: String,
199
+ success: bool,
200
+ target: XTwitterScraper::Models::X::Communities::JoinDeleteAllResponse::Target?,
201
+ target_id: String?,
202
+ terminal: bool,
203
+ write_action_id: String,
204
+ ?community_id: String,
205
+ ?community_name: String,
206
+ ?completed_at: Time,
207
+ ?confirmation_attempts: Integer,
208
+ ?confirmation_checked_at: Time,
209
+ ?confirmed_at: Time,
210
+ ?created_at: Time,
211
+ ?details: ::Hash[Symbol, top],
212
+ ?error: String,
213
+ ?expires_at: Time,
214
+ ?idempotent: bool,
215
+ ?media: ::Hash[Symbol, top],
216
+ ?media_id: String,
217
+ ?media_url: String,
218
+ ?message: String,
219
+ ?message_id: String,
220
+ ?request_hash: String,
221
+ ?request_id: String,
222
+ ?result_id: String,
223
+ ?send_dispatched_at: Time,
224
+ ?tweet_id: String,
225
+ ?updated_at: Time,
226
+ ?object: :x_write_action
227
+ ) -> void
228
+
229
+ def to_hash: -> {
230
+ id: String,
231
+ account: XTwitterScraper::Models::X::Communities::JoinDeleteAllResponse::Account?,
232
+ action: XTwitterScraper::Models::X::Communities::JoinDeleteAllResponse::action,
233
+ billing: XTwitterScraper::Models::X::Communities::JoinDeleteAllResponse::Billing,
234
+ charged: bool,
235
+ charged_credits: String,
236
+ next_action: XTwitterScraper::Models::X::Communities::JoinDeleteAllResponse::NextAction?,
237
+ object: :x_write_action,
238
+ poll_after_ms: Integer?,
239
+ request: XTwitterScraper::Models::X::Communities::JoinDeleteAllResponse::Request,
240
+ result: XTwitterScraper::Models::X::Communities::JoinDeleteAllResponse::Result?,
241
+ retryable: bool,
242
+ safe_to_retry: bool,
243
+ send_dispatched: bool,
244
+ status: XTwitterScraper::Models::X::Communities::JoinDeleteAllResponse::status,
245
+ status_url: String,
246
+ success: bool,
247
+ target: XTwitterScraper::Models::X::Communities::JoinDeleteAllResponse::Target?,
248
+ target_id: String?,
249
+ terminal: bool,
250
+ write_action_id: String,
251
+ community_id: String,
252
+ community_name: String,
253
+ completed_at: Time,
254
+ confirmation_attempts: Integer,
255
+ confirmation_checked_at: Time,
256
+ confirmed_at: Time,
257
+ created_at: Time,
258
+ details: ::Hash[Symbol, top],
259
+ error: String,
260
+ expires_at: Time,
261
+ idempotent: bool,
262
+ media: ::Hash[Symbol, top],
263
+ media_id: String,
264
+ media_url: String,
265
+ message: String,
266
+ message_id: String,
267
+ request_hash: String,
268
+ request_id: String,
269
+ result_id: String,
270
+ send_dispatched_at: Time,
271
+ tweet_id: String,
272
+ updated_at: Time
273
+ }
274
+
275
+ type account = { id: String, username: String }
276
+
277
+ class Account < XTwitterScraper::Internal::Type::BaseModel
278
+ attr_accessor id: String
279
+
280
+ attr_accessor username: String
281
+
282
+ def initialize: (id: String, username: String) -> void
283
+
284
+ def to_hash: -> { id: String, username: String }
285
+ end
286
+
287
+ type action =
288
+ :create_tweet
289
+ | :delete_tweet
290
+ | :like
291
+ | :unlike
292
+ | :retweet
293
+ | :unretweet
294
+ | :follow
295
+ | :unfollow
296
+ | :remove_follower
297
+ | :send_dm
298
+ | :upload_media
299
+ | :update_profile
300
+ | :update_avatar
301
+ | :update_banner
302
+ | :create_community
303
+ | :delete_community
304
+ | :join_community
305
+ | :leave_community
306
+
307
+ module Action
308
+ extend XTwitterScraper::Internal::Type::Enum
309
+
310
+ CREATE_TWEET: :create_tweet
311
+ DELETE_TWEET: :delete_tweet
312
+ LIKE: :like
313
+ UNLIKE: :unlike
314
+ RETWEET: :retweet
315
+ UNRETWEET: :unretweet
316
+ FOLLOW: :follow
317
+ UNFOLLOW: :unfollow
318
+ REMOVE_FOLLOWER: :remove_follower
319
+ SEND_DM: :send_dm
320
+ UPLOAD_MEDIA: :upload_media
321
+ UPDATE_PROFILE: :update_profile
322
+ UPDATE_AVATAR: :update_avatar
323
+ UPDATE_BANNER: :update_banner
324
+ CREATE_COMMUNITY: :create_community
325
+ DELETE_COMMUNITY: :delete_community
326
+ JOIN_COMMUNITY: :join_community
327
+ LEAVE_COMMUNITY: :leave_community
328
+
329
+ def self?.values: -> ::Array[XTwitterScraper::Models::X::Communities::JoinDeleteAllResponse::action]
330
+ end
331
+
332
+ type billing =
333
+ {
334
+ charged: bool,
335
+ charged_credits: String,
336
+ planned_credits: String,
337
+ status: XTwitterScraper::Models::X::Communities::JoinDeleteAllResponse::Billing::status
338
+ }
339
+
340
+ class Billing < XTwitterScraper::Internal::Type::BaseModel
341
+ attr_accessor charged: bool
342
+
343
+ attr_accessor charged_credits: String
344
+
345
+ attr_accessor planned_credits: String
346
+
347
+ attr_accessor status: XTwitterScraper::Models::X::Communities::JoinDeleteAllResponse::Billing::status
348
+
349
+ def initialize: (
350
+ charged: bool,
351
+ charged_credits: String,
352
+ planned_credits: String,
353
+ status: XTwitterScraper::Models::X::Communities::JoinDeleteAllResponse::Billing::status
354
+ ) -> void
355
+
356
+ def to_hash: -> {
357
+ charged: bool,
358
+ charged_credits: String,
359
+ planned_credits: String,
360
+ status: XTwitterScraper::Models::X::Communities::JoinDeleteAllResponse::Billing::status
361
+ }
362
+
363
+ type status =
364
+ :not_charged | :pending | :charged | :charge_failed | :refunded
365
+
366
+ module Status
367
+ extend XTwitterScraper::Internal::Type::Enum
368
+
369
+ NOT_CHARGED: :not_charged
370
+ PENDING: :pending
371
+ CHARGED: :charged
372
+ CHARGE_FAILED: :charge_failed
373
+ REFUNDED: :refunded
374
+
375
+ def self?.values: -> ::Array[XTwitterScraper::Models::X::Communities::JoinDeleteAllResponse::Billing::status]
376
+ end
377
+ end
378
+
379
+ type next_action =
380
+ {
381
+ type: XTwitterScraper::Models::X::Communities::JoinDeleteAllResponse::NextAction::type_,
382
+ after_ms: Integer,
383
+ requires_new_idempotency_key: bool,
384
+ url: String
385
+ }
386
+
387
+ class NextAction < XTwitterScraper::Internal::Type::BaseModel
388
+ attr_accessor type: XTwitterScraper::Models::X::Communities::JoinDeleteAllResponse::NextAction::type_
389
+
390
+ attr_reader after_ms: Integer?
391
+
392
+ def after_ms=: (Integer) -> Integer
393
+
394
+ attr_reader requires_new_idempotency_key: bool?
395
+
396
+ def requires_new_idempotency_key=: (bool) -> bool
397
+
398
+ attr_reader url: String?
399
+
400
+ def url=: (String) -> String
401
+
402
+ def initialize: (
403
+ type: XTwitterScraper::Models::X::Communities::JoinDeleteAllResponse::NextAction::type_,
404
+ ?after_ms: Integer,
405
+ ?requires_new_idempotency_key: bool,
406
+ ?url: String
407
+ ) -> void
408
+
409
+ def to_hash: -> {
410
+ type: XTwitterScraper::Models::X::Communities::JoinDeleteAllResponse::NextAction::type_,
411
+ after_ms: Integer,
412
+ requires_new_idempotency_key: bool,
413
+ url: String
414
+ }
415
+
416
+ type type_ = :poll | :retry | :verify_result | :fix_request
417
+
418
+ module Type
419
+ extend XTwitterScraper::Internal::Type::Enum
420
+
421
+ POLL: :poll
422
+ RETRY: :retry
423
+ VERIFY_RESULT: :verify_result
424
+ FIX_REQUEST: :fix_request
425
+
426
+ def self?.values: -> ::Array[XTwitterScraper::Models::X::Communities::JoinDeleteAllResponse::NextAction::type_]
427
+ end
428
+ end
429
+
430
+ type request = { hash_: String?, payload: ::Hash[Symbol, top]? }
431
+
432
+ class Request < XTwitterScraper::Internal::Type::BaseModel
433
+ attr_accessor hash_: String?
434
+
435
+ attr_accessor payload: ::Hash[Symbol, top]?
436
+
437
+ def initialize: (
438
+ hash_: String?,
439
+ payload: ::Hash[Symbol, top]?
440
+ ) -> void
441
+
442
+ def to_hash: -> { hash_: String?, payload: ::Hash[Symbol, top]? }
443
+ end
444
+
445
+ type result =
446
+ {
447
+ id: String,
448
+ state: String,
449
+ type: XTwitterScraper::Models::X::Communities::JoinDeleteAllResponse::Result::type_
450
+ }
451
+
452
+ class Result < XTwitterScraper::Internal::Type::BaseModel
453
+ attr_reader id: String?
454
+
455
+ def id=: (String) -> String
456
+
457
+ attr_reader state: String?
458
+
459
+ def state=: (String) -> String
460
+
461
+ attr_reader type: XTwitterScraper::Models::X::Communities::JoinDeleteAllResponse::Result::type_?
462
+
463
+ def type=: (
464
+ XTwitterScraper::Models::X::Communities::JoinDeleteAllResponse::Result::type_
465
+ ) -> XTwitterScraper::Models::X::Communities::JoinDeleteAllResponse::Result::type_
466
+
467
+ def initialize: (
468
+ ?id: String,
469
+ ?state: String,
470
+ ?type: XTwitterScraper::Models::X::Communities::JoinDeleteAllResponse::Result::type_
471
+ ) -> void
472
+
473
+ def to_hash: -> {
474
+ id: String,
475
+ state: String,
476
+ type: XTwitterScraper::Models::X::Communities::JoinDeleteAllResponse::Result::type_
477
+ }
478
+
479
+ type type_ =
480
+ :tweet | :direct_message | :media | :community | :state_change
481
+
482
+ module Type
483
+ extend XTwitterScraper::Internal::Type::Enum
484
+
485
+ TWEET: :tweet
486
+ DIRECT_MESSAGE: :direct_message
487
+ MEDIA: :media
488
+ COMMUNITY: :community
489
+ STATE_CHANGE: :state_change
490
+
491
+ def self?.values: -> ::Array[XTwitterScraper::Models::X::Communities::JoinDeleteAllResponse::Result::type_]
492
+ end
493
+ end
494
+
495
+ type status =
496
+ :accepted
497
+ | :dispatching
498
+ | :pending_confirmation
499
+ | :success
500
+ | :failed
501
+ | :expired
502
+
503
+ module Status
504
+ extend XTwitterScraper::Internal::Type::Enum
505
+
506
+ ACCEPTED: :accepted
507
+ DISPATCHING: :dispatching
508
+ PENDING_CONFIRMATION: :pending_confirmation
509
+ SUCCESS: :success
510
+ FAILED: :failed
511
+ EXPIRED: :expired
512
+
513
+ def self?.values: -> ::Array[XTwitterScraper::Models::X::Communities::JoinDeleteAllResponse::status]
514
+ end
515
+
516
+ type target =
517
+ {
518
+ id: String,
519
+ type: XTwitterScraper::Models::X::Communities::JoinDeleteAllResponse::Target::type_
520
+ }
521
+
522
+ class Target < XTwitterScraper::Internal::Type::BaseModel
523
+ attr_accessor id: String
524
+
525
+ attr_accessor type: XTwitterScraper::Models::X::Communities::JoinDeleteAllResponse::Target::type_
526
+
527
+ def initialize: (
528
+ id: String,
529
+ type: XTwitterScraper::Models::X::Communities::JoinDeleteAllResponse::Target::type_
530
+ ) -> void
531
+
532
+ def to_hash: -> {
533
+ id: String,
534
+ type: XTwitterScraper::Models::X::Communities::JoinDeleteAllResponse::Target::type_
535
+ }
536
+
537
+ type type_ = :tweet | :user | :community
538
+
539
+ module Type
540
+ extend XTwitterScraper::Internal::Type::Enum
541
+
542
+ TWEET: :tweet
543
+ USER: :user
544
+ COMMUNITY: :community
545
+
546
+ def self?.values: -> ::Array[XTwitterScraper::Models::X::Communities::JoinDeleteAllResponse::Target::type_]
547
+ end
548
+ end
13
549
  end
14
550
  end
15
551
  end
@@ -2,7 +2,12 @@ module XTwitterScraper
2
2
  module Models
3
3
  module X
4
4
  type community_create_params =
5
- { account: String, name: String, description: String }
5
+ {
6
+ account: String,
7
+ name: String,
8
+ idempotency_key: String,
9
+ description: String
10
+ }
6
11
  & XTwitterScraper::Internal::Type::request_parameters
7
12
 
8
13
  class CommunityCreateParams < XTwitterScraper::Internal::Type::BaseModel
@@ -13,6 +18,8 @@ module XTwitterScraper
13
18
 
14
19
  attr_accessor name: String
15
20
 
21
+ attr_accessor idempotency_key: String
22
+
16
23
  attr_reader description: String?
17
24
 
18
25
  def description=: (String) -> String
@@ -20,6 +27,7 @@ module XTwitterScraper
20
27
  def initialize: (
21
28
  account: String,
22
29
  name: String,
30
+ idempotency_key: String,
23
31
  ?description: String,
24
32
  ?request_options: XTwitterScraper::request_opts
25
33
  ) -> void
@@ -27,6 +35,7 @@ module XTwitterScraper
27
35
  def to_hash: -> {
28
36
  account: String,
29
37
  name: String,
38
+ idempotency_key: String,
30
39
  description: String,
31
40
  request_options: XTwitterScraper::RequestOptions
32
41
  }