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,344 @@
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 UserModel
11
+ extend T::Sig
12
+ include Crystalline::MetadataFields
13
+
14
+ # User ID
15
+ field :id, ::String, {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("id"), required: true}}
16
+ # Display name
17
+ field :name, ::String, {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("name"), required: true}}
18
+ # Twitter username
19
+ field(
20
+ :screen_name,
21
+ ::String,
22
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("screen_name"), required: true}}
23
+ )
24
+ # List of URLs found in the user's description
25
+ field(
26
+ :description_urls,
27
+ Crystalline::Nilable.new(Crystalline::Array.new(::String)),
28
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("description_urls")}}
29
+ )
30
+ # List of pinned tweet IDs
31
+ field(
32
+ :pinned_tweet_ids,
33
+ Crystalline::Nilable.new(Crystalline::Array.new(::String)),
34
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("pinned_tweet_ids")}}
35
+ )
36
+ # Account creation date
37
+ field(
38
+ :created_at,
39
+ Crystalline::Nilable.new(::String),
40
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("created_at")}}
41
+ )
42
+ # Account creation datetime in ISO format
43
+ field(
44
+ :created_at_datetime,
45
+ Crystalline::Nilable.new(::String),
46
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("created_at_datetime")}}
47
+ )
48
+ # Whether the user can be direct messaged
49
+ field(
50
+ :can_dm,
51
+ Crystalline::Nilable.new(Crystalline::Boolean.new),
52
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("can_dm")}}
53
+ )
54
+ # Whether the user can be tagged in media
55
+ field(
56
+ :can_media_tag,
57
+ Crystalline::Nilable.new(Crystalline::Boolean.new),
58
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("can_media_tag")}}
59
+ )
60
+ # Whether the user has a default profile
61
+ field(
62
+ :default_profile,
63
+ Crystalline::Nilable.new(Crystalline::Boolean.new),
64
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("default_profile")}}
65
+ )
66
+ # Whether the user has a default profile image
67
+ field(
68
+ :default_profile_image,
69
+ Crystalline::Nilable.new(Crystalline::Boolean.new),
70
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("default_profile_image")}}
71
+ )
72
+ # User's bio description
73
+ field(
74
+ :description,
75
+ Crystalline::Nilable.new(::String),
76
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("description")}}
77
+ )
78
+ # List of URLs found in the user's profile
79
+ field(
80
+ :urls,
81
+ Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::UrlModel)),
82
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("urls")}}
83
+ )
84
+ # Count of fast followers
85
+ field(
86
+ :fast_followers_count,
87
+ Crystalline::Nilable.new(::Integer),
88
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("fast_followers_count")}}
89
+ )
90
+ # Number of tweets the user has liked
91
+ field(
92
+ :favourites_count,
93
+ Crystalline::Nilable.new(::Integer),
94
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("favourites_count")}}
95
+ )
96
+ # Number of followers
97
+ field(
98
+ :followers_count,
99
+ Crystalline::Nilable.new(::Integer),
100
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("followers_count")}}
101
+ )
102
+ # Number of users this user is following
103
+ field(
104
+ :following_count,
105
+ Crystalline::Nilable.new(::Integer),
106
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("following_count")}}
107
+ )
108
+ # Whether the user has custom timelines
109
+ field(
110
+ :has_custom_timelines,
111
+ Crystalline::Nilable.new(Crystalline::Boolean.new),
112
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("has_custom_timelines")}}
113
+ )
114
+ # Blue verification status
115
+ field(
116
+ :is_blue_verified,
117
+ Crystalline::Nilable.new(Crystalline::Boolean.new),
118
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("is_blue_verified")}}
119
+ )
120
+ # Verification badge type when not blue-only: blue, business, government, etc.
121
+ field(
122
+ :verified_type,
123
+ Crystalline::Nilable.new(::String),
124
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("verified_type")}}
125
+ )
126
+ # True if the account has any verification badge (blue, business, government, or legacy verified)
127
+ field(
128
+ :is_verified,
129
+ Crystalline::Nilable.new(Crystalline::Boolean.new),
130
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("is_verified")}}
131
+ )
132
+ # Profile image shape (Circle or Square; Square often indicates business/government)
133
+ field(
134
+ :profile_image_shape,
135
+ Crystalline::Nilable.new(::String),
136
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("profile_image_shape")}}
137
+ )
138
+ # Whether the user is a translator
139
+ field(
140
+ :is_translator,
141
+ Crystalline::Nilable.new(Crystalline::Boolean.new),
142
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("is_translator")}}
143
+ )
144
+ # Number of public lists the user is a member of
145
+ field(
146
+ :listed_count,
147
+ Crystalline::Nilable.new(::Integer),
148
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("listed_count")}}
149
+ )
150
+ # User's location
151
+ field(
152
+ :location,
153
+ Crystalline::Nilable.new(::String),
154
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("location")}}
155
+ )
156
+ # Number of media tweets posted by the user
157
+ field(
158
+ :media_count,
159
+ Crystalline::Nilable.new(::Integer),
160
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("media_count")}}
161
+ )
162
+ # Count of normal followers
163
+ field(
164
+ :normal_followers_count,
165
+ Crystalline::Nilable.new(::Integer),
166
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("normal_followers_count")}}
167
+ )
168
+ # Whether the user's profile may contain sensitive content
169
+ field(
170
+ :possibly_sensitive,
171
+ Crystalline::Nilable.new(Crystalline::Boolean.new),
172
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("possibly_sensitive")}}
173
+ )
174
+ # URL of the user's profile banner
175
+ field(
176
+ :profile_banner_url,
177
+ Crystalline::Nilable.new(::String),
178
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("profile_banner_url")}}
179
+ )
180
+ # URL of the user's profile image
181
+ field(
182
+ :profile_image_url,
183
+ Crystalline::Nilable.new(::String),
184
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("profile_image_url")}}
185
+ )
186
+ # Whether the user's tweets are protected
187
+ field(
188
+ :protected,
189
+ Crystalline::Nilable.new(Crystalline::Boolean.new),
190
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("protected")}}
191
+ )
192
+ # Number of tweets posted by the user
193
+ field(
194
+ :statuses_count,
195
+ Crystalline::Nilable.new(::Integer),
196
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("statuses_count")}}
197
+ )
198
+
199
+ sig {
200
+ params(
201
+ id: ::String,
202
+ name: ::String,
203
+ screen_name: ::String,
204
+ description_urls: T.nilable(T::Array[::String]),
205
+ pinned_tweet_ids: T.nilable(T::Array[::String]),
206
+ created_at: T.nilable(::String),
207
+ created_at_datetime: T.nilable(::String),
208
+ can_dm: T.nilable(T::Boolean),
209
+ can_media_tag: T.nilable(T::Boolean),
210
+ default_profile: T.nilable(T::Boolean),
211
+ default_profile_image: T.nilable(T::Boolean),
212
+ description: T.nilable(::String),
213
+ urls: T.nilable(T::Array[Models::Components::UrlModel]),
214
+ fast_followers_count: T.nilable(::Integer),
215
+ favourites_count: T.nilable(::Integer),
216
+ followers_count: T.nilable(::Integer),
217
+ following_count: T.nilable(::Integer),
218
+ has_custom_timelines: T.nilable(T::Boolean),
219
+ is_blue_verified: T.nilable(T::Boolean),
220
+ verified_type: T.nilable(::String),
221
+ is_verified: T.nilable(T::Boolean),
222
+ profile_image_shape: T.nilable(::String),
223
+ is_translator: T.nilable(T::Boolean),
224
+ listed_count: T.nilable(::Integer),
225
+ location: T.nilable(::String),
226
+ media_count: T.nilable(::Integer),
227
+ normal_followers_count: T.nilable(::Integer),
228
+ possibly_sensitive: T.nilable(T::Boolean),
229
+ profile_banner_url: T.nilable(::String),
230
+ profile_image_url: T.nilable(::String),
231
+ protected: T.nilable(T::Boolean),
232
+ statuses_count: T.nilable(::Integer)
233
+ )
234
+ .void
235
+ }
236
+ def initialize(
237
+ id:,
238
+ name:,
239
+ screen_name:,
240
+ description_urls: nil,
241
+ pinned_tweet_ids: nil,
242
+ created_at: nil,
243
+ created_at_datetime: nil,
244
+ can_dm: nil,
245
+ can_media_tag: nil,
246
+ default_profile: nil,
247
+ default_profile_image: nil,
248
+ description: nil,
249
+ urls: nil,
250
+ fast_followers_count: nil,
251
+ favourites_count: nil,
252
+ followers_count: nil,
253
+ following_count: nil,
254
+ has_custom_timelines: nil,
255
+ is_blue_verified: nil,
256
+ verified_type: nil,
257
+ is_verified: nil,
258
+ profile_image_shape: nil,
259
+ is_translator: nil,
260
+ listed_count: nil,
261
+ location: nil,
262
+ media_count: nil,
263
+ normal_followers_count: nil,
264
+ possibly_sensitive: nil,
265
+ profile_banner_url: nil,
266
+ profile_image_url: nil,
267
+ protected: nil,
268
+ statuses_count: nil
269
+ )
270
+ @id = id
271
+ @name = name
272
+ @screen_name = screen_name
273
+ @description_urls = description_urls
274
+ @pinned_tweet_ids = pinned_tweet_ids
275
+ @created_at = created_at
276
+ @created_at_datetime = created_at_datetime
277
+ @can_dm = can_dm
278
+ @can_media_tag = can_media_tag
279
+ @default_profile = default_profile
280
+ @default_profile_image = default_profile_image
281
+ @description = description
282
+ @urls = urls
283
+ @fast_followers_count = fast_followers_count
284
+ @favourites_count = favourites_count
285
+ @followers_count = followers_count
286
+ @following_count = following_count
287
+ @has_custom_timelines = has_custom_timelines
288
+ @is_blue_verified = is_blue_verified
289
+ @verified_type = verified_type
290
+ @is_verified = is_verified
291
+ @profile_image_shape = profile_image_shape
292
+ @is_translator = is_translator
293
+ @listed_count = listed_count
294
+ @location = location
295
+ @media_count = media_count
296
+ @normal_followers_count = normal_followers_count
297
+ @possibly_sensitive = possibly_sensitive
298
+ @profile_banner_url = profile_banner_url
299
+ @profile_image_url = profile_image_url
300
+ @protected = protected
301
+ @statuses_count = statuses_count
302
+ end
303
+
304
+ sig { params(other: T.untyped).returns(T::Boolean) }
305
+ def ==(other)
306
+ return false unless other.is_a?(self.class)
307
+ return false unless @id == other.id
308
+ return false unless @name == other.name
309
+ return false unless @screen_name == other.screen_name
310
+ return false unless @description_urls == other.description_urls
311
+ return false unless @pinned_tweet_ids == other.pinned_tweet_ids
312
+ return false unless @created_at == other.created_at
313
+ return false unless @created_at_datetime == other.created_at_datetime
314
+ return false unless @can_dm == other.can_dm
315
+ return false unless @can_media_tag == other.can_media_tag
316
+ return false unless @default_profile == other.default_profile
317
+ return false unless @default_profile_image == other.default_profile_image
318
+ return false unless @description == other.description
319
+ return false unless @urls == other.urls
320
+ return false unless @fast_followers_count == other.fast_followers_count
321
+ return false unless @favourites_count == other.favourites_count
322
+ return false unless @followers_count == other.followers_count
323
+ return false unless @following_count == other.following_count
324
+ return false unless @has_custom_timelines == other.has_custom_timelines
325
+ return false unless @is_blue_verified == other.is_blue_verified
326
+ return false unless @verified_type == other.verified_type
327
+ return false unless @is_verified == other.is_verified
328
+ return false unless @profile_image_shape == other.profile_image_shape
329
+ return false unless @is_translator == other.is_translator
330
+ return false unless @listed_count == other.listed_count
331
+ return false unless @location == other.location
332
+ return false unless @media_count == other.media_count
333
+ return false unless @normal_followers_count == other.normal_followers_count
334
+ return false unless @possibly_sensitive == other.possibly_sensitive
335
+ return false unless @profile_banner_url == other.profile_banner_url
336
+ return false unless @profile_image_url == other.profile_image_url
337
+ return false unless @protected == other.protected
338
+ return false unless @statuses_count == other.statuses_count
339
+ true
340
+ end
341
+ end
342
+ end
343
+ end
344
+ end
@@ -0,0 +1,200 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ class XapiScraper::Models::Components::UserModel
5
+ extend ::Crystalline::MetadataFields::ClassMethods
6
+ end
7
+
8
+ class XapiScraper::Models::Components::UserModel
9
+ def id
10
+ end
11
+
12
+ def id=(str_)
13
+ end
14
+
15
+ def name
16
+ end
17
+
18
+ def name=(str_)
19
+ end
20
+
21
+ def screen_name
22
+ end
23
+
24
+ def screen_name=(str_)
25
+ end
26
+
27
+ def description_urls
28
+ end
29
+
30
+ def description_urls=(str_)
31
+ end
32
+
33
+ def pinned_tweet_ids
34
+ end
35
+
36
+ def pinned_tweet_ids=(str_)
37
+ end
38
+
39
+ def created_at
40
+ end
41
+
42
+ def created_at=(str_)
43
+ end
44
+
45
+ def created_at_datetime
46
+ end
47
+
48
+ def created_at_datetime=(str_)
49
+ end
50
+
51
+ def can_dm
52
+ end
53
+
54
+ def can_dm=(str_)
55
+ end
56
+
57
+ def can_media_tag
58
+ end
59
+
60
+ def can_media_tag=(str_)
61
+ end
62
+
63
+ def default_profile
64
+ end
65
+
66
+ def default_profile=(str_)
67
+ end
68
+
69
+ def default_profile_image
70
+ end
71
+
72
+ def default_profile_image=(str_)
73
+ end
74
+
75
+ def description
76
+ end
77
+
78
+ def description=(str_)
79
+ end
80
+
81
+ def urls
82
+ end
83
+
84
+ def urls=(str_)
85
+ end
86
+
87
+ def fast_followers_count
88
+ end
89
+
90
+ def fast_followers_count=(str_)
91
+ end
92
+
93
+ def favourites_count
94
+ end
95
+
96
+ def favourites_count=(str_)
97
+ end
98
+
99
+ def followers_count
100
+ end
101
+
102
+ def followers_count=(str_)
103
+ end
104
+
105
+ def following_count
106
+ end
107
+
108
+ def following_count=(str_)
109
+ end
110
+
111
+ def has_custom_timelines
112
+ end
113
+
114
+ def has_custom_timelines=(str_)
115
+ end
116
+
117
+ def is_blue_verified
118
+ end
119
+
120
+ def is_blue_verified=(str_)
121
+ end
122
+
123
+ def verified_type
124
+ end
125
+
126
+ def verified_type=(str_)
127
+ end
128
+
129
+ def is_verified
130
+ end
131
+
132
+ def is_verified=(str_)
133
+ end
134
+
135
+ def profile_image_shape
136
+ end
137
+
138
+ def profile_image_shape=(str_)
139
+ end
140
+
141
+ def is_translator
142
+ end
143
+
144
+ def is_translator=(str_)
145
+ end
146
+
147
+ def listed_count
148
+ end
149
+
150
+ def listed_count=(str_)
151
+ end
152
+
153
+ def location
154
+ end
155
+
156
+ def location=(str_)
157
+ end
158
+
159
+ def media_count
160
+ end
161
+
162
+ def media_count=(str_)
163
+ end
164
+
165
+ def normal_followers_count
166
+ end
167
+
168
+ def normal_followers_count=(str_)
169
+ end
170
+
171
+ def possibly_sensitive
172
+ end
173
+
174
+ def possibly_sensitive=(str_)
175
+ end
176
+
177
+ def profile_banner_url
178
+ end
179
+
180
+ def profile_banner_url=(str_)
181
+ end
182
+
183
+ def profile_image_url
184
+ end
185
+
186
+ def profile_image_url=(str_)
187
+ end
188
+
189
+ def protected
190
+ end
191
+
192
+ def protected=(str_)
193
+ end
194
+
195
+ def statuses_count
196
+ end
197
+
198
+ def statuses_count=(str_)
199
+ end
200
+ end
@@ -0,0 +1,47 @@
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 UsersDetailsResponse
11
+ extend T::Sig
12
+ include Crystalline::MetadataFields
13
+
14
+ # The status code of the response.
15
+ field(
16
+ :code,
17
+ ::Integer,
18
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("code"), required: true}}
19
+ )
20
+ # The message of the response.
21
+ field :msg, ::String, {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("msg"), required: true}}
22
+ # A list of user objects.
23
+ field(
24
+ :data,
25
+ Crystalline::Array.new(Models::Components::UserModel),
26
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("data"), required: true}}
27
+ )
28
+
29
+ sig { params(code: ::Integer, msg: ::String, data: T::Array[Models::Components::UserModel]).void }
30
+ def initialize(code:, msg:, data:)
31
+ @code = code
32
+ @msg = msg
33
+ @data = data
34
+ end
35
+
36
+ sig { params(other: T.untyped).returns(T::Boolean) }
37
+ def ==(other)
38
+ return false unless other.is_a?(self.class)
39
+ return false unless @code == other.code
40
+ return false unless @msg == other.msg
41
+ return false unless @data == other.data
42
+ true
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,26 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ class XapiScraper::Models::Components::UsersDetailsResponse
5
+ extend ::Crystalline::MetadataFields::ClassMethods
6
+ end
7
+
8
+ class XapiScraper::Models::Components::UsersDetailsResponse
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,35 @@
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 UserTimelineFillQuery
11
+ extend T::Sig
12
+ include Crystalline::MetadataFields
13
+
14
+ # Maximum number of tweets to return across all pages.
15
+ field(
16
+ :count,
17
+ Crystalline::Nilable.new(::Integer),
18
+ {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("count")}}
19
+ )
20
+
21
+ sig { params(count: T.nilable(::Integer)).void }
22
+ def initialize(count: 20)
23
+ @count = count
24
+ end
25
+
26
+ sig { params(other: T.untyped).returns(T::Boolean) }
27
+ def ==(other)
28
+ return false unless other.is_a?(self.class)
29
+ return false unless @count == other.count
30
+ true
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,14 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ class XapiScraper::Models::Components::UserTimelineFillQuery
5
+ extend ::Crystalline::MetadataFields::ClassMethods
6
+ end
7
+
8
+ class XapiScraper::Models::Components::UserTimelineFillQuery
9
+ def count
10
+ end
11
+
12
+ def count=(str_)
13
+ end
14
+ end