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,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
+
10
+ class UserTimelinePageQuery
11
+ extend T::Sig
12
+ include Crystalline::MetadataFields
13
+
14
+ # Cursor returned by the previous page. Leave empty to fetch the first page.
15
+ field(
16
+ :next_cursor,
17
+ Crystalline::Nilable.new(::String),
18
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("next_cursor")}}
19
+ )
20
+ # Maximum number of tweets to return for this page.
21
+ field(
22
+ :count,
23
+ Crystalline::Nilable.new(::Integer),
24
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("count")}}
25
+ )
26
+
27
+ sig { params(next_cursor: T.nilable(::String), count: T.nilable(::Integer)).void }
28
+ def initialize(next_cursor: nil, count: 20)
29
+ @next_cursor = next_cursor
30
+ @count = count
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 @next_cursor == other.next_cursor
37
+ return false unless @count == other.count
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::UserTimelinePageQuery
5
+ extend ::Crystalline::MetadataFields::ClassMethods
6
+ end
7
+
8
+ class XapiScraper::Models::Components::UserTimelinePageQuery
9
+ def next_cursor
10
+ end
11
+
12
+ def next_cursor=(str_)
13
+ end
14
+
15
+ def count
16
+ end
17
+
18
+ def count=(str_)
19
+ end
20
+ 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
+
10
+ class UserTimelinePageResponse
11
+ extend T::Sig
12
+ include Crystalline::MetadataFields
13
+
14
+ # Current page tweet items.
15
+ field(
16
+ :data,
17
+ Crystalline::Array.new(Models::Components::UserTweetItem),
18
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("data"), required: true}}
19
+ )
20
+ # Whether another page is available.
21
+ field(
22
+ :has_next_page,
23
+ Crystalline::Boolean.new,
24
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("has_next_page"), required: true}}
25
+ )
26
+ # Original count requested by the client.
27
+ field(
28
+ :requested_count,
29
+ ::Integer,
30
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("requested_count"), required: true}}
31
+ )
32
+ # Count after credit throttling was applied.
33
+ field(
34
+ :effective_count,
35
+ ::Integer,
36
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("effective_count"), required: true}}
37
+ )
38
+ # Number of tweets actually parsed from the response.
39
+ field(
40
+ :parsed_count,
41
+ ::Integer,
42
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("parsed_count"), required: true}}
43
+ )
44
+ # HTTP status code
45
+ field(
46
+ :code,
47
+ Crystalline::Nilable.new(::Integer),
48
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("code")}}
49
+ )
50
+ # Response message
51
+ field(
52
+ :msg,
53
+ Crystalline::Nilable.new(::String),
54
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("msg")}}
55
+ )
56
+ # Use this cursor to fetch the next page when has_next_page is true.
57
+ field(
58
+ :next_cursor,
59
+ Crystalline::Nilable.new(::String),
60
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("next_cursor")}}
61
+ )
62
+
63
+ sig {
64
+ params(
65
+ data: T::Array[Models::Components::UserTweetItem],
66
+ has_next_page: T::Boolean,
67
+ requested_count: ::Integer,
68
+ effective_count: ::Integer,
69
+ parsed_count: ::Integer,
70
+ code: T.nilable(::Integer),
71
+ msg: T.nilable(::String),
72
+ next_cursor: T.nilable(::String)
73
+ )
74
+ .void
75
+ }
76
+ def initialize(
77
+ data:,
78
+ has_next_page:,
79
+ requested_count:,
80
+ effective_count:,
81
+ parsed_count:,
82
+ code: 200,
83
+ msg: "success",
84
+ next_cursor: nil
85
+ )
86
+ @data = data
87
+ @has_next_page = has_next_page
88
+ @requested_count = requested_count
89
+ @effective_count = effective_count
90
+ @parsed_count = parsed_count
91
+ @code = code
92
+ @msg = msg
93
+ @next_cursor = next_cursor
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 @data == other.data
100
+ return false unless @has_next_page == other.has_next_page
101
+ return false unless @requested_count == other.requested_count
102
+ return false unless @effective_count == other.effective_count
103
+ return false unless @parsed_count == other.parsed_count
104
+ return false unless @code == other.code
105
+ return false unless @msg == other.msg
106
+ return false unless @next_cursor == other.next_cursor
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::UserTimelinePageResponse
5
+ extend ::Crystalline::MetadataFields::ClassMethods
6
+ end
7
+
8
+ class XapiScraper::Models::Components::UserTimelinePageResponse
9
+ def data
10
+ end
11
+
12
+ def data=(str_)
13
+ end
14
+
15
+ def has_next_page
16
+ end
17
+
18
+ def has_next_page=(str_)
19
+ end
20
+
21
+ def requested_count
22
+ end
23
+
24
+ def requested_count=(str_)
25
+ end
26
+
27
+ def effective_count
28
+ end
29
+
30
+ def effective_count=(str_)
31
+ end
32
+
33
+ def parsed_count
34
+ end
35
+
36
+ def parsed_count=(str_)
37
+ end
38
+
39
+ def code
40
+ end
41
+
42
+ def code=(str_)
43
+ end
44
+
45
+ def msg
46
+ end
47
+
48
+ def msg=(str_)
49
+ end
50
+
51
+ def next_cursor
52
+ end
53
+
54
+ def next_cursor=(str_)
55
+ end
56
+ end
@@ -0,0 +1,76 @@
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
+
10
+ class UserTimelineResponse
11
+ extend T::Sig
12
+ include Crystalline::MetadataFields
13
+
14
+ # All fetched tweets.
15
+ field(
16
+ :data,
17
+ Crystalline::Array.new(Models::Components::UserTweetItem),
18
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("data"), required: true}}
19
+ )
20
+ # Total number of tweets fetched across pages.
21
+ field(
22
+ :total_fetched_count,
23
+ ::Integer,
24
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("total_fetched_count"), required: true}}
25
+ )
26
+ # Number of pages fetched.
27
+ field(
28
+ :page_count,
29
+ ::Integer,
30
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("page_count"), required: true}}
31
+ )
32
+ # HTTP status code
33
+ field(
34
+ :code,
35
+ Crystalline::Nilable.new(::Integer),
36
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("code")}}
37
+ )
38
+ # Response message
39
+ field(
40
+ :msg,
41
+ Crystalline::Nilable.new(::String),
42
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("msg")}}
43
+ )
44
+
45
+ sig {
46
+ params(
47
+ data: T::Array[Models::Components::UserTweetItem],
48
+ total_fetched_count: ::Integer,
49
+ page_count: ::Integer,
50
+ code: T.nilable(::Integer),
51
+ msg: T.nilable(::String)
52
+ )
53
+ .void
54
+ }
55
+ def initialize(data:, total_fetched_count:, page_count:, code: 200, msg: "success")
56
+ @data = data
57
+ @total_fetched_count = total_fetched_count
58
+ @page_count = page_count
59
+ @code = code
60
+ @msg = msg
61
+ end
62
+
63
+ sig { params(other: T.untyped).returns(T::Boolean) }
64
+ def ==(other)
65
+ return false unless other.is_a?(self.class)
66
+ return false unless @data == other.data
67
+ return false unless @total_fetched_count == other.total_fetched_count
68
+ return false unless @page_count == other.page_count
69
+ return false unless @code == other.code
70
+ return false unless @msg == other.msg
71
+ true
72
+ end
73
+ end
74
+ end
75
+ end
76
+ end
@@ -0,0 +1,38 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ class XapiScraper::Models::Components::UserTimelineResponse
5
+ extend ::Crystalline::MetadataFields::ClassMethods
6
+ end
7
+
8
+ class XapiScraper::Models::Components::UserTimelineResponse
9
+ def data
10
+ end
11
+
12
+ def data=(str_)
13
+ end
14
+
15
+ def total_fetched_count
16
+ end
17
+
18
+ def total_fetched_count=(str_)
19
+ end
20
+
21
+ def page_count
22
+ end
23
+
24
+ def page_count=(str_)
25
+ end
26
+
27
+ def code
28
+ end
29
+
30
+ def code=(str_)
31
+ end
32
+
33
+ def msg
34
+ end
35
+
36
+ def msg=(str_)
37
+ end
38
+ end
@@ -0,0 +1,225 @@
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
+
10
+ class UserTweetItem
11
+ extend T::Sig
12
+ include Crystalline::MetadataFields
13
+
14
+ # Tweet ID
15
+ field(
16
+ :tweet_id,
17
+ ::String,
18
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("tweet_id"), required: true}}
19
+ )
20
+ # Whether the tweet is associated with a paid promotion
21
+ field(
22
+ :is_paid_promotion,
23
+ Crystalline::Nilable.new(Crystalline::Boolean.new),
24
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("is_paid_promotion")}}
25
+ )
26
+ # Tweet text
27
+ field(
28
+ :full_text,
29
+ Crystalline::Nilable.new(::String),
30
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("full_text")}}
31
+ )
32
+ # Tweet creation time
33
+ field(
34
+ :created_at,
35
+ Crystalline::Nilable.new(::String),
36
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("created_at")}}
37
+ )
38
+ # Tweet language
39
+ field(
40
+ :lang,
41
+ Crystalline::Nilable.new(::String),
42
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("lang")}}
43
+ )
44
+ # Conversation ID
45
+ field(
46
+ :conversation_id,
47
+ Crystalline::Nilable.new(::String),
48
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("conversation_id")}}
49
+ )
50
+ # Bookmark count
51
+ field(
52
+ :bookmark_count,
53
+ Crystalline::Nilable.new(::Integer),
54
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("bookmark_count")}}
55
+ )
56
+ # Like count
57
+ field(
58
+ :favorite_count,
59
+ Crystalline::Nilable.new(::Integer),
60
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("favorite_count")}}
61
+ )
62
+ # Reply count
63
+ field(
64
+ :reply_count,
65
+ Crystalline::Nilable.new(::Integer),
66
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("reply_count")}}
67
+ )
68
+ # Retweet count
69
+ field(
70
+ :retweet_count,
71
+ Crystalline::Nilable.new(::Integer),
72
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("retweet_count")}}
73
+ )
74
+ # Quote count
75
+ field(
76
+ :quote_count,
77
+ Crystalline::Nilable.new(::Integer),
78
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("quote_count")}}
79
+ )
80
+ # View count
81
+ field(
82
+ :view_count,
83
+ Crystalline::Nilable.new(::String),
84
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("view_count")}}
85
+ )
86
+ # View count state
87
+ field(
88
+ :view_count_state,
89
+ Crystalline::Nilable.new(::String),
90
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("view_count_state")}}
91
+ )
92
+ # Author user ID
93
+ field(
94
+ :author_user_id,
95
+ Crystalline::Nilable.new(::String),
96
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("author_user_id")}}
97
+ )
98
+ # Author screen name
99
+ field(
100
+ :author_screen_name,
101
+ Crystalline::Nilable.new(::String),
102
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("author_screen_name")}}
103
+ )
104
+ # Author display name
105
+ field(
106
+ :author_name,
107
+ Crystalline::Nilable.new(::String),
108
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("author_name")}}
109
+ )
110
+ # Blue verification flag
111
+ field(
112
+ :author_is_blue_verified,
113
+ Crystalline::Nilable.new(Crystalline::Boolean.new),
114
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("author_is_blue_verified")}}
115
+ )
116
+ # Legacy verification flag
117
+ field(
118
+ :author_verified,
119
+ Crystalline::Nilable.new(Crystalline::Boolean.new),
120
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("author_verified")}}
121
+ )
122
+ # Verified organization affiliate flag
123
+ field(
124
+ :author_is_verified_organization_affiliate,
125
+ Crystalline::Nilable.new(Crystalline::Boolean.new),
126
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("author_is_verified_organization_affiliate")}}
127
+ )
128
+
129
+ sig {
130
+ params(
131
+ tweet_id: ::String,
132
+ is_paid_promotion: T.nilable(T::Boolean),
133
+ full_text: T.nilable(::String),
134
+ created_at: T.nilable(::String),
135
+ lang: T.nilable(::String),
136
+ conversation_id: T.nilable(::String),
137
+ bookmark_count: T.nilable(::Integer),
138
+ favorite_count: T.nilable(::Integer),
139
+ reply_count: T.nilable(::Integer),
140
+ retweet_count: T.nilable(::Integer),
141
+ quote_count: T.nilable(::Integer),
142
+ view_count: T.nilable(::String),
143
+ view_count_state: T.nilable(::String),
144
+ author_user_id: T.nilable(::String),
145
+ author_screen_name: T.nilable(::String),
146
+ author_name: T.nilable(::String),
147
+ author_is_blue_verified: T.nilable(T::Boolean),
148
+ author_verified: T.nilable(T::Boolean),
149
+ author_is_verified_organization_affiliate: T.nilable(T::Boolean)
150
+ )
151
+ .void
152
+ }
153
+ def initialize(
154
+ tweet_id:,
155
+ is_paid_promotion: false,
156
+ full_text: nil,
157
+ created_at: nil,
158
+ lang: nil,
159
+ conversation_id: nil,
160
+ bookmark_count: 0,
161
+ favorite_count: 0,
162
+ reply_count: 0,
163
+ retweet_count: 0,
164
+ quote_count: 0,
165
+ view_count: nil,
166
+ view_count_state: nil,
167
+ author_user_id: nil,
168
+ author_screen_name: nil,
169
+ author_name: nil,
170
+ author_is_blue_verified: nil,
171
+ author_verified: nil,
172
+ author_is_verified_organization_affiliate: nil
173
+ )
174
+ @tweet_id = tweet_id
175
+ @is_paid_promotion = is_paid_promotion
176
+ @full_text = full_text
177
+ @created_at = created_at
178
+ @lang = lang
179
+ @conversation_id = conversation_id
180
+ @bookmark_count = bookmark_count
181
+ @favorite_count = favorite_count
182
+ @reply_count = reply_count
183
+ @retweet_count = retweet_count
184
+ @quote_count = quote_count
185
+ @view_count = view_count
186
+ @view_count_state = view_count_state
187
+ @author_user_id = author_user_id
188
+ @author_screen_name = author_screen_name
189
+ @author_name = author_name
190
+ @author_is_blue_verified = author_is_blue_verified
191
+ @author_verified = author_verified
192
+ @author_is_verified_organization_affiliate = author_is_verified_organization_affiliate
193
+ end
194
+
195
+ sig { params(other: T.untyped).returns(T::Boolean) }
196
+ def ==(other)
197
+ return false unless other.is_a?(self.class)
198
+ return false unless @tweet_id == other.tweet_id
199
+ return false unless @is_paid_promotion == other.is_paid_promotion
200
+ return false unless @full_text == other.full_text
201
+ return false unless @created_at == other.created_at
202
+ return false unless @lang == other.lang
203
+ return false unless @conversation_id == other.conversation_id
204
+ return false unless @bookmark_count == other.bookmark_count
205
+ return false unless @favorite_count == other.favorite_count
206
+ return false unless @reply_count == other.reply_count
207
+ return false unless @retweet_count == other.retweet_count
208
+ return false unless @quote_count == other.quote_count
209
+ return false unless @view_count == other.view_count
210
+ return false unless @view_count_state == other.view_count_state
211
+ return false unless @author_user_id == other.author_user_id
212
+ return false unless @author_screen_name == other.author_screen_name
213
+ return false unless @author_name == other.author_name
214
+ return false unless @author_is_blue_verified == other.author_is_blue_verified
215
+ return false unless @author_verified == other.author_verified
216
+ unless @author_is_verified_organization_affiliate == other.author_is_verified_organization_affiliate
217
+ return false
218
+ end
219
+
220
+ true
221
+ end
222
+ end
223
+ end
224
+ end
225
+ end
@@ -0,0 +1,122 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ class XapiScraper::Models::Components::UserTweetItem
5
+ extend ::Crystalline::MetadataFields::ClassMethods
6
+ end
7
+
8
+ class XapiScraper::Models::Components::UserTweetItem
9
+ def tweet_id
10
+ end
11
+
12
+ def tweet_id=(str_)
13
+ end
14
+
15
+ def is_paid_promotion
16
+ end
17
+
18
+ def is_paid_promotion=(str_)
19
+ end
20
+
21
+ def full_text
22
+ end
23
+
24
+ def full_text=(str_)
25
+ end
26
+
27
+ def created_at
28
+ end
29
+
30
+ def created_at=(str_)
31
+ end
32
+
33
+ def lang
34
+ end
35
+
36
+ def lang=(str_)
37
+ end
38
+
39
+ def conversation_id
40
+ end
41
+
42
+ def conversation_id=(str_)
43
+ end
44
+
45
+ def bookmark_count
46
+ end
47
+
48
+ def bookmark_count=(str_)
49
+ end
50
+
51
+ def favorite_count
52
+ end
53
+
54
+ def favorite_count=(str_)
55
+ end
56
+
57
+ def reply_count
58
+ end
59
+
60
+ def reply_count=(str_)
61
+ end
62
+
63
+ def retweet_count
64
+ end
65
+
66
+ def retweet_count=(str_)
67
+ end
68
+
69
+ def quote_count
70
+ end
71
+
72
+ def quote_count=(str_)
73
+ end
74
+
75
+ def view_count
76
+ end
77
+
78
+ def view_count=(str_)
79
+ end
80
+
81
+ def view_count_state
82
+ end
83
+
84
+ def view_count_state=(str_)
85
+ end
86
+
87
+ def author_user_id
88
+ end
89
+
90
+ def author_user_id=(str_)
91
+ end
92
+
93
+ def author_screen_name
94
+ end
95
+
96
+ def author_screen_name=(str_)
97
+ end
98
+
99
+ def author_name
100
+ end
101
+
102
+ def author_name=(str_)
103
+ end
104
+
105
+ def author_is_blue_verified
106
+ end
107
+
108
+ def author_is_blue_verified=(str_)
109
+ end
110
+
111
+ def author_verified
112
+ end
113
+
114
+ def author_verified=(str_)
115
+ end
116
+
117
+ def author_is_verified_organization_affiliate
118
+ end
119
+
120
+ def author_is_verified_organization_affiliate=(str_)
121
+ end
122
+ end