x_api_scraper 0.1.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 (459) hide show
  1. checksums.yaml +7 -0
  2. data/lib/crystalline/enum.rbi +17 -0
  3. data/lib/crystalline/metadata_fields.rb +265 -0
  4. data/lib/crystalline/module.rb +188 -0
  5. data/lib/crystalline/types.rb +170 -0
  6. data/lib/crystalline/utils.rb +69 -0
  7. data/lib/crystalline.rb +13 -0
  8. data/lib/x_api_scraper.rb +41 -0
  9. data/lib/xapi_scraper/account.rb +194 -0
  10. data/lib/xapi_scraper/actions.rb +2166 -0
  11. data/lib/xapi_scraper/analysis.rb +230 -0
  12. data/lib/xapi_scraper/articles.rb +410 -0
  13. data/lib/xapi_scraper/client.rb +133 -0
  14. data/lib/xapi_scraper/communities.rb +1352 -0
  15. data/lib/xapi_scraper/dm.rb +990 -0
  16. data/lib/xapi_scraper/engagement.rb +792 -0
  17. data/lib/xapi_scraper/followers.rb +420 -0
  18. data/lib/xapi_scraper/following.rb +230 -0
  19. data/lib/xapi_scraper/lists.rb +1156 -0
  20. data/lib/xapi_scraper/models/callbacks.rb +12 -0
  21. data/lib/xapi_scraper/models/components/accountverifymodel.rb +82 -0
  22. data/lib/xapi_scraper/models/components/accountverifymodel.rbi +38 -0
  23. data/lib/xapi_scraper/models/components/accountverifyresponse.rb +47 -0
  24. data/lib/xapi_scraper/models/components/accountverifyresponse.rbi +26 -0
  25. data/lib/xapi_scraper/models/components/advancedsearchcursorquery.rb +51 -0
  26. data/lib/xapi_scraper/models/components/advancedsearchcursorquery.rbi +26 -0
  27. data/lib/xapi_scraper/models/components/advancedsearchcursorresponse.rb +76 -0
  28. data/lib/xapi_scraper/models/components/advancedsearchcursorresponse.rbi +38 -0
  29. data/lib/xapi_scraper/models/components/articleblock.rb +50 -0
  30. data/lib/xapi_scraper/models/components/articleblock.rbi +26 -0
  31. data/lib/xapi_scraper/models/components/articleblockrange.rb +47 -0
  32. data/lib/xapi_scraper/models/components/articleblockrange.rbi +26 -0
  33. data/lib/xapi_scraper/models/components/blockuserresponse.rb +54 -0
  34. data/lib/xapi_scraper/models/components/blockuserresponse.rbi +26 -0
  35. data/lib/xapi_scraper/models/components/bookmarkbody.rb +43 -0
  36. data/lib/xapi_scraper/models/components/bookmarkbody.rbi +20 -0
  37. data/lib/xapi_scraper/models/components/cashtagsquery.rb +192 -0
  38. data/lib/xapi_scraper/models/components/cashtagsquery.rbi +98 -0
  39. data/lib/xapi_scraper/models/components/cashtagsquery_language.rb +76 -0
  40. data/lib/xapi_scraper/models/components/cashtagsquery_language.rbi +9 -0
  41. data/lib/xapi_scraper/models/components/cashtagsquery_sortby.rb +18 -0
  42. data/lib/xapi_scraper/models/components/cashtagsquery_sortby.rbi +9 -0
  43. data/lib/xapi_scraper/models/components/communitymodel.rb +164 -0
  44. data/lib/xapi_scraper/models/components/communitymodel.rbi +92 -0
  45. data/lib/xapi_scraper/models/components/communitytweetsresponse.rb +47 -0
  46. data/lib/xapi_scraper/models/components/communitytweetsresponse.rbi +26 -0
  47. data/lib/xapi_scraper/models/components/context.rb +25 -0
  48. data/lib/xapi_scraper/models/components/context.rbi +9 -0
  49. data/lib/xapi_scraper/models/components/conversationv3model.rb +57 -0
  50. data/lib/xapi_scraper/models/components/conversationv3model.rbi +32 -0
  51. data/lib/xapi_scraper/models/components/createthreaddata.rb +35 -0
  52. data/lib/xapi_scraper/models/components/createthreaddata.rbi +14 -0
  53. data/lib/xapi_scraper/models/components/createthreadquery.rb +51 -0
  54. data/lib/xapi_scraper/models/components/createthreadquery.rbi +26 -0
  55. data/lib/xapi_scraper/models/components/createthreadresponse.rb +47 -0
  56. data/lib/xapi_scraper/models/components/createthreadresponse.rbi +26 -0
  57. data/lib/xapi_scraper/models/components/createthreadtweetitem.rb +31 -0
  58. data/lib/xapi_scraper/models/components/createthreadtweetitem.rbi +14 -0
  59. data/lib/xapi_scraper/models/components/deletebookmarkquery.rb +35 -0
  60. data/lib/xapi_scraper/models/components/deletebookmarkquery.rbi +14 -0
  61. data/lib/xapi_scraper/models/components/deleteretweetquery.rb +35 -0
  62. data/lib/xapi_scraper/models/components/deleteretweetquery.rbi +14 -0
  63. data/lib/xapi_scraper/models/components/deletetweetquery.rb +51 -0
  64. data/lib/xapi_scraper/models/components/deletetweetquery.rbi +26 -0
  65. data/lib/xapi_scraper/models/components/deletetweetresponse.rb +51 -0
  66. data/lib/xapi_scraper/models/components/deletetweetresponse.rbi +26 -0
  67. data/lib/xapi_scraper/models/components/dmhistoryv3data.rb +54 -0
  68. data/lib/xapi_scraper/models/components/dmhistoryv3data.rbi +26 -0
  69. data/lib/xapi_scraper/models/components/dmstatusmodelv2.rb +122 -0
  70. data/lib/xapi_scraper/models/components/dmstatusmodelv2.rbi +62 -0
  71. data/lib/xapi_scraper/models/components/dmstatusresponsev2.rb +47 -0
  72. data/lib/xapi_scraper/models/components/dmstatusresponsev2.rbi +26 -0
  73. data/lib/xapi_scraper/models/components/followersfollowingv3query.rb +51 -0
  74. data/lib/xapi_scraper/models/components/followersfollowingv3query.rbi +26 -0
  75. data/lib/xapi_scraper/models/components/followuserquery.rb +43 -0
  76. data/lib/xapi_scraper/models/components/followuserquery.rbi +20 -0
  77. data/lib/xapi_scraper/models/components/getalltweetsrepliescursorquery.rb +43 -0
  78. data/lib/xapi_scraper/models/components/getalltweetsrepliescursorquery.rbi +20 -0
  79. data/lib/xapi_scraper/models/components/getalltweetsrepliescursorresponse.rb +76 -0
  80. data/lib/xapi_scraper/models/components/getalltweetsrepliescursorresponse.rbi +38 -0
  81. data/lib/xapi_scraper/models/components/getcommunitymemberscursorquery.rb +43 -0
  82. data/lib/xapi_scraper/models/components/getcommunitymemberscursorquery.rbi +20 -0
  83. data/lib/xapi_scraper/models/components/getcommunitymemberscursorresponse.rb +72 -0
  84. data/lib/xapi_scraper/models/components/getcommunitymemberscursorresponse.rbi +38 -0
  85. data/lib/xapi_scraper/models/components/getcommunityresponse.rb +47 -0
  86. data/lib/xapi_scraper/models/components/getcommunityresponse.rbi +26 -0
  87. data/lib/xapi_scraper/models/components/getcommunitytweetscursorquery.rb +60 -0
  88. data/lib/xapi_scraper/models/components/getcommunitytweetscursorquery.rbi +26 -0
  89. data/lib/xapi_scraper/models/components/getcommunitytweetscursorresponse.rb +72 -0
  90. data/lib/xapi_scraper/models/components/getcommunitytweetscursorresponse.rbi +38 -0
  91. data/lib/xapi_scraper/models/components/getconversationsv3query.rb +62 -0
  92. data/lib/xapi_scraper/models/components/getconversationsv3query.rbi +32 -0
  93. data/lib/xapi_scraper/models/components/getconversationsv3response.rb +47 -0
  94. data/lib/xapi_scraper/models/components/getconversationsv3response.rbi +26 -0
  95. data/lib/xapi_scraper/models/components/getdmhistoryv3query.rb +94 -0
  96. data/lib/xapi_scraper/models/components/getdmhistoryv3query.rbi +50 -0
  97. data/lib/xapi_scraper/models/components/getdmhistoryv3response.rb +47 -0
  98. data/lib/xapi_scraper/models/components/getdmhistoryv3response.rbi +26 -0
  99. data/lib/xapi_scraper/models/components/getdmmediav3data.rb +77 -0
  100. data/lib/xapi_scraper/models/components/getdmmediav3data.rbi +44 -0
  101. data/lib/xapi_scraper/models/components/getdmmediav3query.rb +112 -0
  102. data/lib/xapi_scraper/models/components/getdmmediav3query.rbi +56 -0
  103. data/lib/xapi_scraper/models/components/getdmmediav3response.rb +47 -0
  104. data/lib/xapi_scraper/models/components/getdmmediav3response.rbi +26 -0
  105. data/lib/xapi_scraper/models/components/getlistmemberscursorquery.rb +43 -0
  106. data/lib/xapi_scraper/models/components/getlistmemberscursorquery.rbi +20 -0
  107. data/lib/xapi_scraper/models/components/getlistmemberscursorresponse.rb +72 -0
  108. data/lib/xapi_scraper/models/components/getlistmemberscursorresponse.rbi +38 -0
  109. data/lib/xapi_scraper/models/components/getlisttweetscursorquery.rb +43 -0
  110. data/lib/xapi_scraper/models/components/getlisttweetscursorquery.rbi +20 -0
  111. data/lib/xapi_scraper/models/components/getlisttweetscursorresponse.rb +72 -0
  112. data/lib/xapi_scraper/models/components/getlisttweetscursorresponse.rbi +38 -0
  113. data/lib/xapi_scraper/models/components/getquotescursorquery.rb +63 -0
  114. data/lib/xapi_scraper/models/components/getquotescursorquery.rbi +26 -0
  115. data/lib/xapi_scraper/models/components/getquotescursorquery_sort_by.rb +18 -0
  116. data/lib/xapi_scraper/models/components/getquotescursorquery_sort_by.rbi +9 -0
  117. data/lib/xapi_scraper/models/components/getquotescursorresponse.rb +72 -0
  118. data/lib/xapi_scraper/models/components/getquotescursorresponse.rbi +38 -0
  119. data/lib/xapi_scraper/models/components/getquotesquery.rb +59 -0
  120. data/lib/xapi_scraper/models/components/getquotesquery.rbi +26 -0
  121. data/lib/xapi_scraper/models/components/getquotesquery_sort_by.rb +18 -0
  122. data/lib/xapi_scraper/models/components/getquotesquery_sort_by.rbi +9 -0
  123. data/lib/xapi_scraper/models/components/getquotesresponse.rb +47 -0
  124. data/lib/xapi_scraper/models/components/getquotesresponse.rbi +26 -0
  125. data/lib/xapi_scraper/models/components/getrepliespagequery.rb +51 -0
  126. data/lib/xapi_scraper/models/components/getrepliespagequery.rbi +20 -0
  127. data/lib/xapi_scraper/models/components/getrepliespagequery_sort_by.rb +19 -0
  128. data/lib/xapi_scraper/models/components/getrepliespagequery_sort_by.rbi +9 -0
  129. data/lib/xapi_scraper/models/components/getrepliespageresponse.rb +85 -0
  130. data/lib/xapi_scraper/models/components/getrepliespageresponse.rbi +44 -0
  131. data/lib/xapi_scraper/models/components/getretweeterscursorquery.rb +43 -0
  132. data/lib/xapi_scraper/models/components/getretweeterscursorquery.rbi +20 -0
  133. data/lib/xapi_scraper/models/components/getretweeterscursorresponse.rb +72 -0
  134. data/lib/xapi_scraper/models/components/getretweeterscursorresponse.rbi +38 -0
  135. data/lib/xapi_scraper/models/components/gettweetsbyidresponse.rb +58 -0
  136. data/lib/xapi_scraper/models/components/gettweetsbyidresponse.rbi +26 -0
  137. data/lib/xapi_scraper/models/components/hashtagsquery.rb +192 -0
  138. data/lib/xapi_scraper/models/components/hashtagsquery.rbi +98 -0
  139. data/lib/xapi_scraper/models/components/hashtagsquery_language.rb +76 -0
  140. data/lib/xapi_scraper/models/components/hashtagsquery_language.rbi +9 -0
  141. data/lib/xapi_scraper/models/components/hashtagsquery_sortby.rb +18 -0
  142. data/lib/xapi_scraper/models/components/hashtagsquery_sortby.rbi +9 -0
  143. data/lib/xapi_scraper/models/components/likeactionbody.rb +43 -0
  144. data/lib/xapi_scraper/models/components/likeactionbody.rbi +20 -0
  145. data/lib/xapi_scraper/models/components/listmembersresponse.rb +47 -0
  146. data/lib/xapi_scraper/models/components/listmembersresponse.rbi +26 -0
  147. data/lib/xapi_scraper/models/components/listmodel.rb +77 -0
  148. data/lib/xapi_scraper/models/components/listmodel.rbi +44 -0
  149. data/lib/xapi_scraper/models/components/listsubscribersresponse.rb +47 -0
  150. data/lib/xapi_scraper/models/components/listsubscribersresponse.rbi +26 -0
  151. data/lib/xapi_scraper/models/components/listtweetsresponse.rb +47 -0
  152. data/lib/xapi_scraper/models/components/listtweetsresponse.rbi +26 -0
  153. data/lib/xapi_scraper/models/components/loc.rb +25 -0
  154. data/lib/xapi_scraper/models/components/loc.rbi +9 -0
  155. data/lib/xapi_scraper/models/components/mediamodel.rb +194 -0
  156. data/lib/xapi_scraper/models/components/mediamodel.rbi +110 -0
  157. data/lib/xapi_scraper/models/components/messagemodel.rb +100 -0
  158. data/lib/xapi_scraper/models/components/messagemodel.rbi +56 -0
  159. data/lib/xapi_scraper/models/components/posttweetdata.rb +51 -0
  160. data/lib/xapi_scraper/models/components/posttweetdata.rbi +26 -0
  161. data/lib/xapi_scraper/models/components/posttweetquery.rb +122 -0
  162. data/lib/xapi_scraper/models/components/posttweetquery.rbi +62 -0
  163. data/lib/xapi_scraper/models/components/posttweetresponse.rb +58 -0
  164. data/lib/xapi_scraper/models/components/posttweetresponse.rbi +26 -0
  165. data/lib/xapi_scraper/models/components/posttweetwithoutcookiequery.rb +102 -0
  166. data/lib/xapi_scraper/models/components/posttweetwithoutcookiequery.rbi +50 -0
  167. data/lib/xapi_scraper/models/components/quotetweetquery.rb +112 -0
  168. data/lib/xapi_scraper/models/components/quotetweetquery.rbi +56 -0
  169. data/lib/xapi_scraper/models/components/retweetactionbody.rb +43 -0
  170. data/lib/xapi_scraper/models/components/retweetactionbody.rbi +20 -0
  171. data/lib/xapi_scraper/models/components/searchcommunityquery.rb +43 -0
  172. data/lib/xapi_scraper/models/components/searchcommunityquery.rbi +20 -0
  173. data/lib/xapi_scraper/models/components/searchcommunityresponse.rb +47 -0
  174. data/lib/xapi_scraper/models/components/searchcommunityresponse.rbi +26 -0
  175. data/lib/xapi_scraper/models/components/searchcommunitytweetsquery.rb +51 -0
  176. data/lib/xapi_scraper/models/components/searchcommunitytweetsquery.rbi +26 -0
  177. data/lib/xapi_scraper/models/components/searchlistquery.rb +43 -0
  178. data/lib/xapi_scraper/models/components/searchlistquery.rbi +20 -0
  179. data/lib/xapi_scraper/models/components/searchlistresponse.rb +47 -0
  180. data/lib/xapi_scraper/models/components/searchlistresponse.rbi +26 -0
  181. data/lib/xapi_scraper/models/components/searchresponse.rb +54 -0
  182. data/lib/xapi_scraper/models/components/searchresponse.rbi +26 -0
  183. data/lib/xapi_scraper/models/components/searchuserresponse.rb +47 -0
  184. data/lib/xapi_scraper/models/components/searchuserresponse.rbi +26 -0
  185. data/lib/xapi_scraper/models/components/security.rb +34 -0
  186. data/lib/xapi_scraper/models/components/security.rbi +14 -0
  187. data/lib/xapi_scraper/models/components/senddmresponse.rb +47 -0
  188. data/lib/xapi_scraper/models/components/senddmresponse.rbi +26 -0
  189. data/lib/xapi_scraper/models/components/senddmv3query.rb +90 -0
  190. data/lib/xapi_scraper/models/components/senddmv3query.rbi +50 -0
  191. data/lib/xapi_scraper/models/components/sentimentanalysismodel.rb +43 -0
  192. data/lib/xapi_scraper/models/components/sentimentanalysismodel.rbi +20 -0
  193. data/lib/xapi_scraper/models/components/sentimentanalysisquery.rb +31 -0
  194. data/lib/xapi_scraper/models/components/sentimentanalysisquery.rbi +14 -0
  195. data/lib/xapi_scraper/models/components/sentimentanalysisresponse.rb +47 -0
  196. data/lib/xapi_scraper/models/components/sentimentanalysisresponse.rbi +26 -0
  197. data/lib/xapi_scraper/models/components/standardresponse.rb +47 -0
  198. data/lib/xapi_scraper/models/components/standardresponse.rbi +26 -0
  199. data/lib/xapi_scraper/models/components/streammodel.rb +51 -0
  200. data/lib/xapi_scraper/models/components/streammodel.rbi +26 -0
  201. data/lib/xapi_scraper/models/components/tweet_type.rb +19 -0
  202. data/lib/xapi_scraper/models/components/tweet_type.rbi +9 -0
  203. data/lib/xapi_scraper/models/components/tweetactionresponse.rb +51 -0
  204. data/lib/xapi_scraper/models/components/tweetactionresponse.rbi +26 -0
  205. data/lib/xapi_scraper/models/components/tweetmodel.rb +518 -0
  206. data/lib/xapi_scraper/models/components/tweetmodel.rbi +302 -0
  207. data/lib/xapi_scraper/models/components/tweetthreadbyidbody.rb +53 -0
  208. data/lib/xapi_scraper/models/components/tweetthreadbyidbody.rbi +26 -0
  209. data/lib/xapi_scraper/models/components/twitteraccountbasedstandardresponse.rb +58 -0
  210. data/lib/xapi_scraper/models/components/twitteraccountbasedstandardresponse.rbi +26 -0
  211. data/lib/xapi_scraper/models/components/twitteruseraboutresponse.rb +208 -0
  212. data/lib/xapi_scraper/models/components/twitteruseraboutresponse.rbi +116 -0
  213. data/lib/xapi_scraper/models/components/twitteruseraboutstandardresponse.rb +58 -0
  214. data/lib/xapi_scraper/models/components/twitteruseraboutstandardresponse.rbi +26 -0
  215. data/lib/xapi_scraper/models/components/unfavoritetweetquery.rb +35 -0
  216. data/lib/xapi_scraper/models/components/unfavoritetweetquery.rbi +14 -0
  217. data/lib/xapi_scraper/models/components/unfollowuserquery.rb +43 -0
  218. data/lib/xapi_scraper/models/components/unfollowuserquery.rbi +20 -0
  219. data/lib/xapi_scraper/models/components/unfollowuserresponse.rb +47 -0
  220. data/lib/xapi_scraper/models/components/unfollowuserresponse.rbi +26 -0
  221. data/lib/xapi_scraper/models/components/urlmodel.rb +47 -0
  222. data/lib/xapi_scraper/models/components/urlmodel.rbi +26 -0
  223. data/lib/xapi_scraper/models/components/userinfo.rb +348 -0
  224. data/lib/xapi_scraper/models/components/userinfo.rbi +200 -0
  225. data/lib/xapi_scraper/models/components/usermodel.rb +344 -0
  226. data/lib/xapi_scraper/models/components/usermodel.rbi +200 -0
  227. data/lib/xapi_scraper/models/components/usersdetailsresponse.rb +47 -0
  228. data/lib/xapi_scraper/models/components/usersdetailsresponse.rbi +26 -0
  229. data/lib/xapi_scraper/models/components/usertimelinefillquery.rb +35 -0
  230. data/lib/xapi_scraper/models/components/usertimelinefillquery.rbi +14 -0
  231. data/lib/xapi_scraper/models/components/usertimelinepagequery.rb +43 -0
  232. data/lib/xapi_scraper/models/components/usertimelinepagequery.rbi +20 -0
  233. data/lib/xapi_scraper/models/components/usertimelinepageresponse.rb +112 -0
  234. data/lib/xapi_scraper/models/components/usertimelinepageresponse.rbi +56 -0
  235. data/lib/xapi_scraper/models/components/usertimelineresponse.rb +76 -0
  236. data/lib/xapi_scraper/models/components/usertimelineresponse.rbi +38 -0
  237. data/lib/xapi_scraper/models/components/usertweetitem.rb +225 -0
  238. data/lib/xapi_scraper/models/components/usertweetitem.rbi +122 -0
  239. data/lib/xapi_scraper/models/components/validationerror.rb +67 -0
  240. data/lib/xapi_scraper/models/components/validationerror.rbi +38 -0
  241. data/lib/xapi_scraper/models/components/verifiedfollowersdata.rb +58 -0
  242. data/lib/xapi_scraper/models/components/verifiedfollowersdata.rbi +26 -0
  243. data/lib/xapi_scraper/models/components/verifiedfollowersresponse.rb +47 -0
  244. data/lib/xapi_scraper/models/components/verifiedfollowersresponse.rbi +26 -0
  245. data/lib/xapi_scraper/models/components/xarticlemodel.rb +305 -0
  246. data/lib/xapi_scraper/models/components/xarticlemodel.rbi +170 -0
  247. data/lib/xapi_scraper/models/components/xarticleresponse.rb +47 -0
  248. data/lib/xapi_scraper/models/components/xarticleresponse.rbi +26 -0
  249. data/lib/xapi_scraper/models/components.rb +128 -0
  250. data/lib/xapi_scraper/models/errors/apierror.rb +39 -0
  251. data/lib/xapi_scraper/models/errors/apierror.rbi +27 -0
  252. data/lib/xapi_scraper/models/errors/httpvalidationerror.rb +48 -0
  253. data/lib/xapi_scraper/models/errors/httpvalidationerror.rbi +20 -0
  254. data/lib/xapi_scraper/models/errors.rb +13 -0
  255. data/lib/xapi_scraper/models/operations/accountgetbalance_response.rb +51 -0
  256. data/lib/xapi_scraper/models/operations/accountgetbalance_response.rbi +32 -0
  257. data/lib/xapi_scraper/models/operations/analysissentiment_response.rb +51 -0
  258. data/lib/xapi_scraper/models/operations/analysissentiment_response.rbi +32 -0
  259. data/lib/xapi_scraper/models/operations/articlesfetch_response.rb +51 -0
  260. data/lib/xapi_scraper/models/operations/articlesfetch_response.rbi +32 -0
  261. data/lib/xapi_scraper/models/operations/articlesmarkdown_request.rb +31 -0
  262. data/lib/xapi_scraper/models/operations/articlesmarkdown_request.rbi +14 -0
  263. data/lib/xapi_scraper/models/operations/articlesmarkdown_response.rb +51 -0
  264. data/lib/xapi_scraper/models/operations/articlesmarkdown_response.rbi +32 -0
  265. data/lib/xapi_scraper/models/operations/communitiesget_request.rb +34 -0
  266. data/lib/xapi_scraper/models/operations/communitiesget_request.rbi +14 -0
  267. data/lib/xapi_scraper/models/operations/communitiesget_response.rb +51 -0
  268. data/lib/xapi_scraper/models/operations/communitiesget_response.rbi +32 -0
  269. data/lib/xapi_scraper/models/operations/communitiesmembers_request.rb +42 -0
  270. data/lib/xapi_scraper/models/operations/communitiesmembers_request.rbi +20 -0
  271. data/lib/xapi_scraper/models/operations/communitiesmembers_response.rb +51 -0
  272. data/lib/xapi_scraper/models/operations/communitiesmembers_response.rbi +32 -0
  273. data/lib/xapi_scraper/models/operations/communitiesmemberspage_response.rb +54 -0
  274. data/lib/xapi_scraper/models/operations/communitiesmemberspage_response.rbi +32 -0
  275. data/lib/xapi_scraper/models/operations/communitiessearch_response.rb +51 -0
  276. data/lib/xapi_scraper/models/operations/communitiessearch_response.rbi +32 -0
  277. data/lib/xapi_scraper/models/operations/communitiessearchtweets_response.rb +51 -0
  278. data/lib/xapi_scraper/models/operations/communitiessearchtweets_response.rbi +32 -0
  279. data/lib/xapi_scraper/models/operations/communitiestweets_request.rb +50 -0
  280. data/lib/xapi_scraper/models/operations/communitiestweets_request.rbi +26 -0
  281. data/lib/xapi_scraper/models/operations/communitiestweets_response.rb +51 -0
  282. data/lib/xapi_scraper/models/operations/communitiestweets_response.rbi +32 -0
  283. data/lib/xapi_scraper/models/operations/communitiestweetspage_response.rb +54 -0
  284. data/lib/xapi_scraper/models/operations/communitiestweetspage_response.rbi +32 -0
  285. data/lib/xapi_scraper/models/operations/country.rb +79 -0
  286. data/lib/xapi_scraper/models/operations/country.rbi +9 -0
  287. data/lib/xapi_scraper/models/operations/dmconversations_response.rb +51 -0
  288. data/lib/xapi_scraper/models/operations/dmconversations_response.rbi +32 -0
  289. data/lib/xapi_scraper/models/operations/dmhistory_response.rb +51 -0
  290. data/lib/xapi_scraper/models/operations/dmhistory_response.rbi +32 -0
  291. data/lib/xapi_scraper/models/operations/dmmedia_response.rb +51 -0
  292. data/lib/xapi_scraper/models/operations/dmmedia_response.rbi +32 -0
  293. data/lib/xapi_scraper/models/operations/dmsend_response.rb +51 -0
  294. data/lib/xapi_scraper/models/operations/dmsend_response.rbi +32 -0
  295. data/lib/xapi_scraper/models/operations/dmstatus_response.rb +51 -0
  296. data/lib/xapi_scraper/models/operations/dmstatus_response.rbi +32 -0
  297. data/lib/xapi_scraper/models/operations/listsmembers_request.rb +38 -0
  298. data/lib/xapi_scraper/models/operations/listsmembers_request.rbi +20 -0
  299. data/lib/xapi_scraper/models/operations/listsmembers_response.rb +51 -0
  300. data/lib/xapi_scraper/models/operations/listsmembers_response.rbi +32 -0
  301. data/lib/xapi_scraper/models/operations/listsmemberspage_response.rb +54 -0
  302. data/lib/xapi_scraper/models/operations/listsmemberspage_response.rbi +32 -0
  303. data/lib/xapi_scraper/models/operations/listssearch_response.rb +51 -0
  304. data/lib/xapi_scraper/models/operations/listssearch_response.rbi +32 -0
  305. data/lib/xapi_scraper/models/operations/listssubscribers_request.rb +38 -0
  306. data/lib/xapi_scraper/models/operations/listssubscribers_request.rbi +20 -0
  307. data/lib/xapi_scraper/models/operations/listssubscribers_response.rb +51 -0
  308. data/lib/xapi_scraper/models/operations/listssubscribers_response.rbi +32 -0
  309. data/lib/xapi_scraper/models/operations/liststweets_request.rb +38 -0
  310. data/lib/xapi_scraper/models/operations/liststweets_request.rbi +20 -0
  311. data/lib/xapi_scraper/models/operations/liststweets_response.rb +51 -0
  312. data/lib/xapi_scraper/models/operations/liststweets_response.rbi +32 -0
  313. data/lib/xapi_scraper/models/operations/liststweetspage_response.rb +54 -0
  314. data/lib/xapi_scraper/models/operations/liststweetspage_response.rbi +32 -0
  315. data/lib/xapi_scraper/models/operations/searchadvanced_response.rb +54 -0
  316. data/lib/xapi_scraper/models/operations/searchadvanced_response.rbi +32 -0
  317. data/lib/xapi_scraper/models/operations/searchcashtags_response.rb +51 -0
  318. data/lib/xapi_scraper/models/operations/searchcashtags_response.rbi +32 -0
  319. data/lib/xapi_scraper/models/operations/searchhashtags_response.rb +51 -0
  320. data/lib/xapi_scraper/models/operations/searchhashtags_response.rbi +32 -0
  321. data/lib/xapi_scraper/models/operations/timelinestweetsandreplies_request.rb +35 -0
  322. data/lib/xapi_scraper/models/operations/timelinestweetsandreplies_request.rbi +20 -0
  323. data/lib/xapi_scraper/models/operations/timelinestweetsandreplies_response.rb +51 -0
  324. data/lib/xapi_scraper/models/operations/timelinestweetsandreplies_response.rbi +32 -0
  325. data/lib/xapi_scraper/models/operations/timelinestweetsandrepliespage_response.rb +54 -0
  326. data/lib/xapi_scraper/models/operations/timelinestweetsandrepliespage_response.rbi +32 -0
  327. data/lib/xapi_scraper/models/operations/timelinesuser_request.rb +35 -0
  328. data/lib/xapi_scraper/models/operations/timelinesuser_request.rbi +20 -0
  329. data/lib/xapi_scraper/models/operations/timelinesuser_response.rb +51 -0
  330. data/lib/xapi_scraper/models/operations/timelinesuser_response.rbi +32 -0
  331. data/lib/xapi_scraper/models/operations/timelinesuserpage_request.rb +35 -0
  332. data/lib/xapi_scraper/models/operations/timelinesuserpage_request.rbi +20 -0
  333. data/lib/xapi_scraper/models/operations/timelinesuserpage_response.rb +51 -0
  334. data/lib/xapi_scraper/models/operations/timelinesuserpage_response.rbi +32 -0
  335. data/lib/xapi_scraper/models/operations/trendingbycountry_request.rb +35 -0
  336. data/lib/xapi_scraper/models/operations/trendingbycountry_request.rbi +14 -0
  337. data/lib/xapi_scraper/models/operations/trendingbycountry_response.rb +51 -0
  338. data/lib/xapi_scraper/models/operations/trendingbycountry_response.rbi +32 -0
  339. data/lib/xapi_scraper/models/operations/trendingcontents_request.rb +35 -0
  340. data/lib/xapi_scraper/models/operations/trendingcontents_request.rbi +20 -0
  341. data/lib/xapi_scraper/models/operations/trendingcontents_response.rb +51 -0
  342. data/lib/xapi_scraper/models/operations/trendingcontents_response.rbi +32 -0
  343. data/lib/xapi_scraper/models/operations/trendingcountries_response.rb +51 -0
  344. data/lib/xapi_scraper/models/operations/trendingcountries_response.rbi +32 -0
  345. data/lib/xapi_scraper/models/operations/trendingtopics_response.rb +51 -0
  346. data/lib/xapi_scraper/models/operations/trendingtopics_response.rbi +32 -0
  347. data/lib/xapi_scraper/models/operations/trendingtweets_request.rb +63 -0
  348. data/lib/xapi_scraper/models/operations/trendingtweets_request.rbi +32 -0
  349. data/lib/xapi_scraper/models/operations/trendingtweets_response.rb +51 -0
  350. data/lib/xapi_scraper/models/operations/trendingtweets_response.rbi +32 -0
  351. data/lib/xapi_scraper/models/operations/tweet_type.rb +19 -0
  352. data/lib/xapi_scraper/models/operations/tweet_type.rbi +9 -0
  353. data/lib/xapi_scraper/models/operations/tweetsactionsbookmark_request.rb +35 -0
  354. data/lib/xapi_scraper/models/operations/tweetsactionsbookmark_request.rbi +20 -0
  355. data/lib/xapi_scraper/models/operations/tweetsactionsbookmark_response.rb +51 -0
  356. data/lib/xapi_scraper/models/operations/tweetsactionsbookmark_response.rbi +32 -0
  357. data/lib/xapi_scraper/models/operations/tweetsactionscreate_response.rb +51 -0
  358. data/lib/xapi_scraper/models/operations/tweetsactionscreate_response.rbi +32 -0
  359. data/lib/xapi_scraper/models/operations/tweetsactionscreatethread_response.rb +51 -0
  360. data/lib/xapi_scraper/models/operations/tweetsactionscreatethread_response.rbi +32 -0
  361. data/lib/xapi_scraper/models/operations/tweetsactionscreatewithoutcookie_response.rb +51 -0
  362. data/lib/xapi_scraper/models/operations/tweetsactionscreatewithoutcookie_response.rbi +32 -0
  363. data/lib/xapi_scraper/models/operations/tweetsactionsdeletebatch_response.rb +51 -0
  364. data/lib/xapi_scraper/models/operations/tweetsactionsdeletebatch_response.rbi +32 -0
  365. data/lib/xapi_scraper/models/operations/tweetsactionslike_request.rb +35 -0
  366. data/lib/xapi_scraper/models/operations/tweetsactionslike_request.rbi +20 -0
  367. data/lib/xapi_scraper/models/operations/tweetsactionslike_response.rb +51 -0
  368. data/lib/xapi_scraper/models/operations/tweetsactionslike_response.rbi +32 -0
  369. data/lib/xapi_scraper/models/operations/tweetsactionsquote_response.rb +51 -0
  370. data/lib/xapi_scraper/models/operations/tweetsactionsquote_response.rbi +32 -0
  371. data/lib/xapi_scraper/models/operations/tweetsactionsretweet_request.rb +35 -0
  372. data/lib/xapi_scraper/models/operations/tweetsactionsretweet_request.rbi +20 -0
  373. data/lib/xapi_scraper/models/operations/tweetsactionsretweet_response.rb +51 -0
  374. data/lib/xapi_scraper/models/operations/tweetsactionsretweet_response.rbi +32 -0
  375. data/lib/xapi_scraper/models/operations/tweetsactionsunbookmark_request.rb +35 -0
  376. data/lib/xapi_scraper/models/operations/tweetsactionsunbookmark_request.rbi +20 -0
  377. data/lib/xapi_scraper/models/operations/tweetsactionsunbookmark_response.rb +51 -0
  378. data/lib/xapi_scraper/models/operations/tweetsactionsunbookmark_response.rbi +32 -0
  379. data/lib/xapi_scraper/models/operations/tweetsactionsunlike_request.rb +35 -0
  380. data/lib/xapi_scraper/models/operations/tweetsactionsunlike_request.rbi +20 -0
  381. data/lib/xapi_scraper/models/operations/tweetsactionsunlike_response.rb +51 -0
  382. data/lib/xapi_scraper/models/operations/tweetsactionsunlike_response.rbi +32 -0
  383. data/lib/xapi_scraper/models/operations/tweetsactionsunretweet_request.rb +35 -0
  384. data/lib/xapi_scraper/models/operations/tweetsactionsunretweet_request.rbi +20 -0
  385. data/lib/xapi_scraper/models/operations/tweetsactionsunretweet_response.rb +51 -0
  386. data/lib/xapi_scraper/models/operations/tweetsactionsunretweet_response.rbi +32 -0
  387. data/lib/xapi_scraper/models/operations/tweetsdetail_response.rb +51 -0
  388. data/lib/xapi_scraper/models/operations/tweetsdetail_response.rbi +32 -0
  389. data/lib/xapi_scraper/models/operations/tweetsengagementquotes_response.rb +51 -0
  390. data/lib/xapi_scraper/models/operations/tweetsengagementquotes_response.rbi +32 -0
  391. data/lib/xapi_scraper/models/operations/tweetsengagementquotespage_response.rb +51 -0
  392. data/lib/xapi_scraper/models/operations/tweetsengagementquotespage_response.rbi +32 -0
  393. data/lib/xapi_scraper/models/operations/tweetsengagementretweeters_request.rb +39 -0
  394. data/lib/xapi_scraper/models/operations/tweetsengagementretweeters_request.rbi +20 -0
  395. data/lib/xapi_scraper/models/operations/tweetsengagementretweeters_response.rb +51 -0
  396. data/lib/xapi_scraper/models/operations/tweetsengagementretweeters_response.rbi +32 -0
  397. data/lib/xapi_scraper/models/operations/tweetsengagementretweeterspage_response.rb +51 -0
  398. data/lib/xapi_scraper/models/operations/tweetsengagementretweeterspage_response.rbi +32 -0
  399. data/lib/xapi_scraper/models/operations/tweetslookup_response.rb +51 -0
  400. data/lib/xapi_scraper/models/operations/tweetslookup_response.rbi +32 -0
  401. data/lib/xapi_scraper/models/operations/tweetsrepliespage_request.rb +35 -0
  402. data/lib/xapi_scraper/models/operations/tweetsrepliespage_request.rbi +20 -0
  403. data/lib/xapi_scraper/models/operations/tweetsrepliespage_response.rb +51 -0
  404. data/lib/xapi_scraper/models/operations/tweetsrepliespage_response.rbi +32 -0
  405. data/lib/xapi_scraper/models/operations/tweetssimilar_request.rb +30 -0
  406. data/lib/xapi_scraper/models/operations/tweetssimilar_request.rbi +14 -0
  407. data/lib/xapi_scraper/models/operations/tweetssimilar_response.rb +51 -0
  408. data/lib/xapi_scraper/models/operations/tweetssimilar_response.rbi +32 -0
  409. data/lib/xapi_scraper/models/operations/tweetsthread_response.rb +51 -0
  410. data/lib/xapi_scraper/models/operations/tweetsthread_response.rbi +32 -0
  411. data/lib/xapi_scraper/models/operations/usersfollow_response.rb +51 -0
  412. data/lib/xapi_scraper/models/operations/usersfollow_response.rbi +32 -0
  413. data/lib/xapi_scraper/models/operations/usersfollowerslist_response.rb +51 -0
  414. data/lib/xapi_scraper/models/operations/usersfollowerslist_response.rbi +32 -0
  415. data/lib/xapi_scraper/models/operations/usersfollowersverified_response.rb +51 -0
  416. data/lib/xapi_scraper/models/operations/usersfollowersverified_response.rbi +32 -0
  417. data/lib/xapi_scraper/models/operations/usersfollowinglist_response.rb +51 -0
  418. data/lib/xapi_scraper/models/operations/usersfollowinglist_response.rbi +32 -0
  419. data/lib/xapi_scraper/models/operations/usersgetabout_request.rb +31 -0
  420. data/lib/xapi_scraper/models/operations/usersgetabout_request.rbi +14 -0
  421. data/lib/xapi_scraper/models/operations/usersgetabout_response.rb +54 -0
  422. data/lib/xapi_scraper/models/operations/usersgetabout_response.rbi +32 -0
  423. data/lib/xapi_scraper/models/operations/usersgetaccountbased_response.rb +54 -0
  424. data/lib/xapi_scraper/models/operations/usersgetaccountbased_response.rbi +32 -0
  425. data/lib/xapi_scraper/models/operations/usersgetbyids_response.rb +51 -0
  426. data/lib/xapi_scraper/models/operations/usersgetbyids_response.rbi +32 -0
  427. data/lib/xapi_scraper/models/operations/usersgetbyusernames_response.rb +51 -0
  428. data/lib/xapi_scraper/models/operations/usersgetbyusernames_response.rbi +32 -0
  429. data/lib/xapi_scraper/models/operations/usersgetstatuses_response.rb +51 -0
  430. data/lib/xapi_scraper/models/operations/usersgetstatuses_response.rbi +32 -0
  431. data/lib/xapi_scraper/models/operations/userssearch_request.rb +39 -0
  432. data/lib/xapi_scraper/models/operations/userssearch_request.rbi +20 -0
  433. data/lib/xapi_scraper/models/operations/userssearch_response.rb +51 -0
  434. data/lib/xapi_scraper/models/operations/userssearch_response.rbi +32 -0
  435. data/lib/xapi_scraper/models/operations/usersunfollow_response.rb +51 -0
  436. data/lib/xapi_scraper/models/operations/usersunfollow_response.rbi +32 -0
  437. data/lib/xapi_scraper/models/operations/usersverifyaccount_response.rb +51 -0
  438. data/lib/xapi_scraper/models/operations/usersverifyaccount_response.rbi +32 -0
  439. data/lib/xapi_scraper/models/operations.rb +127 -0
  440. data/lib/xapi_scraper/replies.rb +235 -0
  441. data/lib/xapi_scraper/sdk_hooks/hooks.rb +99 -0
  442. data/lib/xapi_scraper/sdk_hooks/registration.rb +34 -0
  443. data/lib/xapi_scraper/sdk_hooks/types.rb +180 -0
  444. data/lib/xapi_scraper/sdkconfiguration.rb +107 -0
  445. data/lib/xapi_scraper/sdkconfiguration.rbi +83 -0
  446. data/lib/xapi_scraper/search.rb +610 -0
  447. data/lib/xapi_scraper/timelines.rb +805 -0
  448. data/lib/xapi_scraper/trending.rb +888 -0
  449. data/lib/xapi_scraper/tweets.rb +801 -0
  450. data/lib/xapi_scraper/users.rb +1748 -0
  451. data/lib/xapi_scraper/utils/forms.rb +232 -0
  452. data/lib/xapi_scraper/utils/headers.rb +82 -0
  453. data/lib/xapi_scraper/utils/query_params.rb +167 -0
  454. data/lib/xapi_scraper/utils/request_bodies.rb +79 -0
  455. data/lib/xapi_scraper/utils/retries.rb +139 -0
  456. data/lib/xapi_scraper/utils/security.rb +158 -0
  457. data/lib/xapi_scraper/utils/url.rb +124 -0
  458. data/lib/xapi_scraper/utils/utils.rb +241 -0
  459. metadata +720 -0
@@ -0,0 +1,26 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ class XapiScraper::Models::Components::PostTweetData
5
+ extend ::Crystalline::MetadataFields::ClassMethods
6
+ end
7
+
8
+ class XapiScraper::Models::Components::PostTweetData
9
+ def tweet_id
10
+ end
11
+
12
+ def tweet_id=(str_)
13
+ end
14
+
15
+ def user_id
16
+ end
17
+
18
+ def user_id=(str_)
19
+ end
20
+
21
+ def code
22
+ end
23
+
24
+ def code=(str_)
25
+ end
26
+ end
@@ -0,0 +1,122 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+ module XapiScraper
7
+ module Models
8
+ module Components
9
+ # Parameters for posting a tweet
10
+ class PostTweetQuery
11
+ extend T::Sig
12
+ include Crystalline::MetadataFields
13
+
14
+ # Content of the tweet to post
15
+ field(
16
+ :tweet_content,
17
+ ::String,
18
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("tweet_content"), required: true}}
19
+ )
20
+ # Twitter authentication cookie or Twitter auth_token, [how-to-get-twitter-cookie](https://youtube-promotion.pages.dev/how-to-get-twitter-cookie)
21
+ field(
22
+ :cookie,
23
+ ::String,
24
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("cookie"), required: true}}
25
+ )
26
+ # Single media URL: image, GIF, or video. Prefer media_urls for multiple images.
27
+ field(
28
+ :media_url,
29
+ Crystalline::Nilable.new(::String),
30
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("media_url")}}
31
+ )
32
+ # Media URLs to attach (max 4 images, or 1 GIF, or 1 video). Cannot mix GIF/video with other media.
33
+ field(
34
+ :media_urls,
35
+ Crystalline::Nilable.new(Crystalline::Array.new(::String)),
36
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("media_urls")}}
37
+ )
38
+ # delegated account username
39
+ field(
40
+ :delegated_account_username,
41
+ Crystalline::Nilable.new(::String),
42
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("delegated_account_username")}}
43
+ )
44
+ # Schedule time for the tweet in ISO format
45
+ field(
46
+ :schedule,
47
+ Crystalline::Nilable.new(::String),
48
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("schedule")}}
49
+ )
50
+ # ID of tweet to reply to
51
+ field(
52
+ :reply_tweet_id,
53
+ Crystalline::Nilable.new(::String),
54
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("reply_tweet_id")}}
55
+ )
56
+ # Name of Twitter community to post in or community id
57
+ field(
58
+ :community_name,
59
+ Crystalline::Nilable.new(::String),
60
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("community_name")}}
61
+ )
62
+ # The proxy to use.Please use high-quality residential proxies and avoid free proxies.Required.Example: http://username:password@ip:port . You can get proxy from: https://app.proxy-cheap.com/r/qiMxub
63
+ field(
64
+ :proxy,
65
+ Crystalline::Nilable.new(::String),
66
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("proxy")}}
67
+ )
68
+
69
+ sig {
70
+ params(
71
+ tweet_content: ::String,
72
+ cookie: ::String,
73
+ media_url: T.nilable(::String),
74
+ media_urls: T.nilable(T::Array[::String]),
75
+ delegated_account_username: T.nilable(::String),
76
+ schedule: T.nilable(::String),
77
+ reply_tweet_id: T.nilable(::String),
78
+ community_name: T.nilable(::String),
79
+ proxy: T.nilable(::String)
80
+ )
81
+ .void
82
+ }
83
+ def initialize(
84
+ tweet_content:,
85
+ cookie:,
86
+ media_url: nil,
87
+ media_urls: nil,
88
+ delegated_account_username: nil,
89
+ schedule: nil,
90
+ reply_tweet_id: nil,
91
+ community_name: nil,
92
+ proxy: nil
93
+ )
94
+ @tweet_content = tweet_content
95
+ @cookie = cookie
96
+ @media_url = media_url
97
+ @media_urls = media_urls
98
+ @delegated_account_username = delegated_account_username
99
+ @schedule = schedule
100
+ @reply_tweet_id = reply_tweet_id
101
+ @community_name = community_name
102
+ @proxy = proxy
103
+ end
104
+
105
+ sig { params(other: T.untyped).returns(T::Boolean) }
106
+ def ==(other)
107
+ return false unless other.is_a?(self.class)
108
+ return false unless @tweet_content == other.tweet_content
109
+ return false unless @cookie == other.cookie
110
+ return false unless @media_url == other.media_url
111
+ return false unless @media_urls == other.media_urls
112
+ return false unless @delegated_account_username == other.delegated_account_username
113
+ return false unless @schedule == other.schedule
114
+ return false unless @reply_tweet_id == other.reply_tweet_id
115
+ return false unless @community_name == other.community_name
116
+ return false unless @proxy == other.proxy
117
+ true
118
+ end
119
+ end
120
+ end
121
+ end
122
+ end
@@ -0,0 +1,62 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ class XapiScraper::Models::Components::PostTweetQuery
5
+ extend ::Crystalline::MetadataFields::ClassMethods
6
+ end
7
+
8
+ class XapiScraper::Models::Components::PostTweetQuery
9
+ def tweet_content
10
+ end
11
+
12
+ def tweet_content=(str_)
13
+ end
14
+
15
+ def cookie
16
+ end
17
+
18
+ def cookie=(str_)
19
+ end
20
+
21
+ def media_url
22
+ end
23
+
24
+ def media_url=(str_)
25
+ end
26
+
27
+ def media_urls
28
+ end
29
+
30
+ def media_urls=(str_)
31
+ end
32
+
33
+ def delegated_account_username
34
+ end
35
+
36
+ def delegated_account_username=(str_)
37
+ end
38
+
39
+ def schedule
40
+ end
41
+
42
+ def schedule=(str_)
43
+ end
44
+
45
+ def reply_tweet_id
46
+ end
47
+
48
+ def reply_tweet_id=(str_)
49
+ end
50
+
51
+ def community_name
52
+ end
53
+
54
+ def community_name=(str_)
55
+ end
56
+
57
+ def proxy
58
+ end
59
+
60
+ def proxy=(str_)
61
+ end
62
+ end
@@ -0,0 +1,58 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+ module XapiScraper
7
+ module Models
8
+ module Components
9
+ # Post tweet API response
10
+ class PostTweetResponse
11
+ extend T::Sig
12
+ include Crystalline::MetadataFields
13
+
14
+ # HTTP status code
15
+ field(
16
+ :code,
17
+ Crystalline::Nilable.new(::Integer),
18
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("code")}}
19
+ )
20
+ # Response message
21
+ field(
22
+ :msg,
23
+ Crystalline::Nilable.new(::String),
24
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("msg")}}
25
+ )
26
+ # Posted tweet information
27
+ field(
28
+ :data,
29
+ Crystalline::Nilable.new(Models::Components::PostTweetData),
30
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("data")}}
31
+ )
32
+
33
+ sig {
34
+ params(
35
+ code: T.nilable(::Integer),
36
+ msg: T.nilable(::String),
37
+ data: T.nilable(Models::Components::PostTweetData)
38
+ )
39
+ .void
40
+ }
41
+ def initialize(code: 200, msg: "success", data: nil)
42
+ @code = code
43
+ @msg = msg
44
+ @data = data
45
+ end
46
+
47
+ sig { params(other: T.untyped).returns(T::Boolean) }
48
+ def ==(other)
49
+ return false unless other.is_a?(self.class)
50
+ return false unless @code == other.code
51
+ return false unless @msg == other.msg
52
+ return false unless @data == other.data
53
+ true
54
+ end
55
+ end
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,26 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ class XapiScraper::Models::Components::PostTweetResponse
5
+ extend ::Crystalline::MetadataFields::ClassMethods
6
+ end
7
+
8
+ class XapiScraper::Models::Components::PostTweetResponse
9
+ def code
10
+ end
11
+
12
+ def code=(str_)
13
+ end
14
+
15
+ def msg
16
+ end
17
+
18
+ def msg=(str_)
19
+ end
20
+
21
+ def data
22
+ end
23
+
24
+ def data=(str_)
25
+ end
26
+ end
@@ -0,0 +1,102 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+ module XapiScraper
7
+ module Models
8
+ module Components
9
+ # Parameters for posting a tweet without providing cookie (uses random cookie from pool)
10
+ class PostTweetWithoutCookieQuery
11
+ extend T::Sig
12
+ include Crystalline::MetadataFields
13
+
14
+ # Content of the tweet to post
15
+ field(
16
+ :tweet_content,
17
+ ::String,
18
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("tweet_content"), required: true}}
19
+ )
20
+ # Single media URL: image, GIF, or video. Prefer media_urls for multiple images.
21
+ field(
22
+ :media_url,
23
+ Crystalline::Nilable.new(::String),
24
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("media_url")}}
25
+ )
26
+ # Media URLs to attach (max 4 images, or 1 GIF, or 1 video). Cannot mix GIF/video with other media.
27
+ field(
28
+ :media_urls,
29
+ Crystalline::Nilable.new(Crystalline::Array.new(::String)),
30
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("media_urls")}}
31
+ )
32
+ # Schedule time for the tweet in ISO format
33
+ field(
34
+ :schedule,
35
+ Crystalline::Nilable.new(::String),
36
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("schedule")}}
37
+ )
38
+ # ID of tweet to reply to
39
+ field(
40
+ :reply_tweet_id,
41
+ Crystalline::Nilable.new(::String),
42
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("reply_tweet_id")}}
43
+ )
44
+ # Name of Twitter community to post in or community id
45
+ field(
46
+ :community_name,
47
+ Crystalline::Nilable.new(::String),
48
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("community_name")}}
49
+ )
50
+ # URL of tweet to quote
51
+ field(
52
+ :quote_tweet_url,
53
+ Crystalline::Nilable.new(::String),
54
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("quote_tweet_url")}}
55
+ )
56
+
57
+ sig {
58
+ params(
59
+ tweet_content: ::String,
60
+ media_url: T.nilable(::String),
61
+ media_urls: T.nilable(T::Array[::String]),
62
+ schedule: T.nilable(::String),
63
+ reply_tweet_id: T.nilable(::String),
64
+ community_name: T.nilable(::String),
65
+ quote_tweet_url: T.nilable(::String)
66
+ )
67
+ .void
68
+ }
69
+ def initialize(
70
+ tweet_content:,
71
+ media_url: nil,
72
+ media_urls: nil,
73
+ schedule: nil,
74
+ reply_tweet_id: nil,
75
+ community_name: nil,
76
+ quote_tweet_url: nil
77
+ )
78
+ @tweet_content = tweet_content
79
+ @media_url = media_url
80
+ @media_urls = media_urls
81
+ @schedule = schedule
82
+ @reply_tweet_id = reply_tweet_id
83
+ @community_name = community_name
84
+ @quote_tweet_url = quote_tweet_url
85
+ end
86
+
87
+ sig { params(other: T.untyped).returns(T::Boolean) }
88
+ def ==(other)
89
+ return false unless other.is_a?(self.class)
90
+ return false unless @tweet_content == other.tweet_content
91
+ return false unless @media_url == other.media_url
92
+ return false unless @media_urls == other.media_urls
93
+ return false unless @schedule == other.schedule
94
+ return false unless @reply_tweet_id == other.reply_tweet_id
95
+ return false unless @community_name == other.community_name
96
+ return false unless @quote_tweet_url == other.quote_tweet_url
97
+ true
98
+ end
99
+ end
100
+ end
101
+ end
102
+ end
@@ -0,0 +1,50 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ class XapiScraper::Models::Components::PostTweetWithoutCookieQuery
5
+ extend ::Crystalline::MetadataFields::ClassMethods
6
+ end
7
+
8
+ class XapiScraper::Models::Components::PostTweetWithoutCookieQuery
9
+ def tweet_content
10
+ end
11
+
12
+ def tweet_content=(str_)
13
+ end
14
+
15
+ def media_url
16
+ end
17
+
18
+ def media_url=(str_)
19
+ end
20
+
21
+ def media_urls
22
+ end
23
+
24
+ def media_urls=(str_)
25
+ end
26
+
27
+ def schedule
28
+ end
29
+
30
+ def schedule=(str_)
31
+ end
32
+
33
+ def reply_tweet_id
34
+ end
35
+
36
+ def reply_tweet_id=(str_)
37
+ end
38
+
39
+ def community_name
40
+ end
41
+
42
+ def community_name=(str_)
43
+ end
44
+
45
+ def quote_tweet_url
46
+ end
47
+
48
+ def quote_tweet_url=(str_)
49
+ end
50
+ end
@@ -0,0 +1,112 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+ module XapiScraper
7
+ module Models
8
+ module Components
9
+ # Parameters for quoting a tweet
10
+ class QuoteTweetQuery
11
+ extend T::Sig
12
+ include Crystalline::MetadataFields
13
+
14
+ # Content of the tweet to post
15
+ field(
16
+ :tweet_content,
17
+ ::String,
18
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("tweet_content"), required: true}}
19
+ )
20
+ # Twitter authentication cookie or Twitter auth_token, [how-to-get-twitter-cookie](https://youtube-promotion.pages.dev/how-to-get-twitter-cookie)
21
+ field(
22
+ :cookie,
23
+ ::String,
24
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("cookie"), required: true}}
25
+ )
26
+ # Single media URL: image, GIF, or video. Prefer media_urls for multiple images.
27
+ field(
28
+ :media_url,
29
+ Crystalline::Nilable.new(::String),
30
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("media_url")}}
31
+ )
32
+ # Media URLs to attach (max 4 images, or 1 GIF, or 1 video). Cannot mix GIF/video with other media.
33
+ field(
34
+ :media_urls,
35
+ Crystalline::Nilable.new(Crystalline::Array.new(::String)),
36
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("media_urls")}}
37
+ )
38
+ # delegated account username
39
+ field(
40
+ :delegated_account_username,
41
+ Crystalline::Nilable.new(::String),
42
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("delegated_account_username")}}
43
+ )
44
+ # Name of Twitter community to post in or community id
45
+ field(
46
+ :community_name,
47
+ Crystalline::Nilable.new(::String),
48
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("community_name")}}
49
+ )
50
+ # URL of tweet to quote
51
+ field(
52
+ :quote_tweet_url,
53
+ Crystalline::Nilable.new(::String),
54
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("quote_tweet_url")}}
55
+ )
56
+ # The proxy to use.Please use high-quality residential proxies and avoid free proxies.Required.Example: http://username:password@ip:port . You can get proxy from: https://app.proxy-cheap.com/r/qiMxub
57
+ field(
58
+ :proxy,
59
+ Crystalline::Nilable.new(::String),
60
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("proxy")}}
61
+ )
62
+
63
+ sig {
64
+ params(
65
+ tweet_content: ::String,
66
+ cookie: ::String,
67
+ media_url: T.nilable(::String),
68
+ media_urls: T.nilable(T::Array[::String]),
69
+ delegated_account_username: T.nilable(::String),
70
+ community_name: T.nilable(::String),
71
+ quote_tweet_url: T.nilable(::String),
72
+ proxy: T.nilable(::String)
73
+ )
74
+ .void
75
+ }
76
+ def initialize(
77
+ tweet_content:,
78
+ cookie:,
79
+ media_url: nil,
80
+ media_urls: nil,
81
+ delegated_account_username: nil,
82
+ community_name: nil,
83
+ quote_tweet_url: nil,
84
+ proxy: nil
85
+ )
86
+ @tweet_content = tweet_content
87
+ @cookie = cookie
88
+ @media_url = media_url
89
+ @media_urls = media_urls
90
+ @delegated_account_username = delegated_account_username
91
+ @community_name = community_name
92
+ @quote_tweet_url = quote_tweet_url
93
+ @proxy = proxy
94
+ end
95
+
96
+ sig { params(other: T.untyped).returns(T::Boolean) }
97
+ def ==(other)
98
+ return false unless other.is_a?(self.class)
99
+ return false unless @tweet_content == other.tweet_content
100
+ return false unless @cookie == other.cookie
101
+ return false unless @media_url == other.media_url
102
+ return false unless @media_urls == other.media_urls
103
+ return false unless @delegated_account_username == other.delegated_account_username
104
+ return false unless @community_name == other.community_name
105
+ return false unless @quote_tweet_url == other.quote_tweet_url
106
+ return false unless @proxy == other.proxy
107
+ true
108
+ end
109
+ end
110
+ end
111
+ end
112
+ end
@@ -0,0 +1,56 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ class XapiScraper::Models::Components::QuoteTweetQuery
5
+ extend ::Crystalline::MetadataFields::ClassMethods
6
+ end
7
+
8
+ class XapiScraper::Models::Components::QuoteTweetQuery
9
+ def tweet_content
10
+ end
11
+
12
+ def tweet_content=(str_)
13
+ end
14
+
15
+ def cookie
16
+ end
17
+
18
+ def cookie=(str_)
19
+ end
20
+
21
+ def media_url
22
+ end
23
+
24
+ def media_url=(str_)
25
+ end
26
+
27
+ def media_urls
28
+ end
29
+
30
+ def media_urls=(str_)
31
+ end
32
+
33
+ def delegated_account_username
34
+ end
35
+
36
+ def delegated_account_username=(str_)
37
+ end
38
+
39
+ def community_name
40
+ end
41
+
42
+ def community_name=(str_)
43
+ end
44
+
45
+ def quote_tweet_url
46
+ end
47
+
48
+ def quote_tweet_url=(str_)
49
+ end
50
+
51
+ def proxy
52
+ end
53
+
54
+ def proxy=(str_)
55
+ end
56
+ end
@@ -0,0 +1,43 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+ module XapiScraper
7
+ module Models
8
+ module Components
9
+ # Body for the retweet action, containing only the cookie.
10
+ class RetweetActionBody
11
+ extend T::Sig
12
+ include Crystalline::MetadataFields
13
+
14
+ # Twitter authentication cookie or Twitter auth_token, [how-to-get-twitter-cookie](https://youtube-promotion.pages.dev/how-to-get-twitter-cookie)
15
+ field(
16
+ :cookie,
17
+ ::String,
18
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("cookie"), required: true}}
19
+ )
20
+ # The proxy to use.Please use high-quality residential proxies and avoid free proxies.Required.Example: http://username:password@ip:port . You can get proxy from: https://app.proxy-cheap.com/r/qiMxub
21
+ field(
22
+ :proxy,
23
+ Crystalline::Nilable.new(::String),
24
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("proxy")}}
25
+ )
26
+
27
+ sig { params(cookie: ::String, proxy: T.nilable(::String)).void }
28
+ def initialize(cookie:, proxy: nil)
29
+ @cookie = cookie
30
+ @proxy = proxy
31
+ end
32
+
33
+ sig { params(other: T.untyped).returns(T::Boolean) }
34
+ def ==(other)
35
+ return false unless other.is_a?(self.class)
36
+ return false unless @cookie == other.cookie
37
+ return false unless @proxy == other.proxy
38
+ true
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,20 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ class XapiScraper::Models::Components::RetweetActionBody
5
+ extend ::Crystalline::MetadataFields::ClassMethods
6
+ end
7
+
8
+ class XapiScraper::Models::Components::RetweetActionBody
9
+ def cookie
10
+ end
11
+
12
+ def cookie=(str_)
13
+ end
14
+
15
+ def proxy
16
+ end
17
+
18
+ def proxy=(str_)
19
+ end
20
+ end