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.
- checksums.yaml +7 -0
- data/lib/crystalline/enum.rbi +17 -0
- data/lib/crystalline/metadata_fields.rb +265 -0
- data/lib/crystalline/module.rb +188 -0
- data/lib/crystalline/types.rb +170 -0
- data/lib/crystalline/utils.rb +69 -0
- data/lib/crystalline.rb +13 -0
- data/lib/x_api_scraper.rb +41 -0
- data/lib/xapi_scraper/account.rb +194 -0
- data/lib/xapi_scraper/actions.rb +2166 -0
- data/lib/xapi_scraper/analysis.rb +230 -0
- data/lib/xapi_scraper/articles.rb +410 -0
- data/lib/xapi_scraper/client.rb +133 -0
- data/lib/xapi_scraper/communities.rb +1352 -0
- data/lib/xapi_scraper/dm.rb +990 -0
- data/lib/xapi_scraper/engagement.rb +792 -0
- data/lib/xapi_scraper/followers.rb +420 -0
- data/lib/xapi_scraper/following.rb +230 -0
- data/lib/xapi_scraper/lists.rb +1156 -0
- data/lib/xapi_scraper/models/callbacks.rb +12 -0
- data/lib/xapi_scraper/models/components/accountverifymodel.rb +82 -0
- data/lib/xapi_scraper/models/components/accountverifymodel.rbi +38 -0
- data/lib/xapi_scraper/models/components/accountverifyresponse.rb +47 -0
- data/lib/xapi_scraper/models/components/accountverifyresponse.rbi +26 -0
- data/lib/xapi_scraper/models/components/advancedsearchcursorquery.rb +51 -0
- data/lib/xapi_scraper/models/components/advancedsearchcursorquery.rbi +26 -0
- data/lib/xapi_scraper/models/components/advancedsearchcursorresponse.rb +76 -0
- data/lib/xapi_scraper/models/components/advancedsearchcursorresponse.rbi +38 -0
- data/lib/xapi_scraper/models/components/articleblock.rb +50 -0
- data/lib/xapi_scraper/models/components/articleblock.rbi +26 -0
- data/lib/xapi_scraper/models/components/articleblockrange.rb +47 -0
- data/lib/xapi_scraper/models/components/articleblockrange.rbi +26 -0
- data/lib/xapi_scraper/models/components/blockuserresponse.rb +54 -0
- data/lib/xapi_scraper/models/components/blockuserresponse.rbi +26 -0
- data/lib/xapi_scraper/models/components/bookmarkbody.rb +43 -0
- data/lib/xapi_scraper/models/components/bookmarkbody.rbi +20 -0
- data/lib/xapi_scraper/models/components/cashtagsquery.rb +192 -0
- data/lib/xapi_scraper/models/components/cashtagsquery.rbi +98 -0
- data/lib/xapi_scraper/models/components/cashtagsquery_language.rb +76 -0
- data/lib/xapi_scraper/models/components/cashtagsquery_language.rbi +9 -0
- data/lib/xapi_scraper/models/components/cashtagsquery_sortby.rb +18 -0
- data/lib/xapi_scraper/models/components/cashtagsquery_sortby.rbi +9 -0
- data/lib/xapi_scraper/models/components/communitymodel.rb +164 -0
- data/lib/xapi_scraper/models/components/communitymodel.rbi +92 -0
- data/lib/xapi_scraper/models/components/communitytweetsresponse.rb +47 -0
- data/lib/xapi_scraper/models/components/communitytweetsresponse.rbi +26 -0
- data/lib/xapi_scraper/models/components/context.rb +25 -0
- data/lib/xapi_scraper/models/components/context.rbi +9 -0
- data/lib/xapi_scraper/models/components/conversationv3model.rb +57 -0
- data/lib/xapi_scraper/models/components/conversationv3model.rbi +32 -0
- data/lib/xapi_scraper/models/components/createthreaddata.rb +35 -0
- data/lib/xapi_scraper/models/components/createthreaddata.rbi +14 -0
- data/lib/xapi_scraper/models/components/createthreadquery.rb +51 -0
- data/lib/xapi_scraper/models/components/createthreadquery.rbi +26 -0
- data/lib/xapi_scraper/models/components/createthreadresponse.rb +47 -0
- data/lib/xapi_scraper/models/components/createthreadresponse.rbi +26 -0
- data/lib/xapi_scraper/models/components/createthreadtweetitem.rb +31 -0
- data/lib/xapi_scraper/models/components/createthreadtweetitem.rbi +14 -0
- data/lib/xapi_scraper/models/components/deletebookmarkquery.rb +35 -0
- data/lib/xapi_scraper/models/components/deletebookmarkquery.rbi +14 -0
- data/lib/xapi_scraper/models/components/deleteretweetquery.rb +35 -0
- data/lib/xapi_scraper/models/components/deleteretweetquery.rbi +14 -0
- data/lib/xapi_scraper/models/components/deletetweetquery.rb +51 -0
- data/lib/xapi_scraper/models/components/deletetweetquery.rbi +26 -0
- data/lib/xapi_scraper/models/components/deletetweetresponse.rb +51 -0
- data/lib/xapi_scraper/models/components/deletetweetresponse.rbi +26 -0
- data/lib/xapi_scraper/models/components/dmhistoryv3data.rb +54 -0
- data/lib/xapi_scraper/models/components/dmhistoryv3data.rbi +26 -0
- data/lib/xapi_scraper/models/components/dmstatusmodelv2.rb +122 -0
- data/lib/xapi_scraper/models/components/dmstatusmodelv2.rbi +62 -0
- data/lib/xapi_scraper/models/components/dmstatusresponsev2.rb +47 -0
- data/lib/xapi_scraper/models/components/dmstatusresponsev2.rbi +26 -0
- data/lib/xapi_scraper/models/components/followersfollowingv3query.rb +51 -0
- data/lib/xapi_scraper/models/components/followersfollowingv3query.rbi +26 -0
- data/lib/xapi_scraper/models/components/followuserquery.rb +43 -0
- data/lib/xapi_scraper/models/components/followuserquery.rbi +20 -0
- data/lib/xapi_scraper/models/components/getalltweetsrepliescursorquery.rb +43 -0
- data/lib/xapi_scraper/models/components/getalltweetsrepliescursorquery.rbi +20 -0
- data/lib/xapi_scraper/models/components/getalltweetsrepliescursorresponse.rb +76 -0
- data/lib/xapi_scraper/models/components/getalltweetsrepliescursorresponse.rbi +38 -0
- data/lib/xapi_scraper/models/components/getcommunitymemberscursorquery.rb +43 -0
- data/lib/xapi_scraper/models/components/getcommunitymemberscursorquery.rbi +20 -0
- data/lib/xapi_scraper/models/components/getcommunitymemberscursorresponse.rb +72 -0
- data/lib/xapi_scraper/models/components/getcommunitymemberscursorresponse.rbi +38 -0
- data/lib/xapi_scraper/models/components/getcommunityresponse.rb +47 -0
- data/lib/xapi_scraper/models/components/getcommunityresponse.rbi +26 -0
- data/lib/xapi_scraper/models/components/getcommunitytweetscursorquery.rb +60 -0
- data/lib/xapi_scraper/models/components/getcommunitytweetscursorquery.rbi +26 -0
- data/lib/xapi_scraper/models/components/getcommunitytweetscursorresponse.rb +72 -0
- data/lib/xapi_scraper/models/components/getcommunitytweetscursorresponse.rbi +38 -0
- data/lib/xapi_scraper/models/components/getconversationsv3query.rb +62 -0
- data/lib/xapi_scraper/models/components/getconversationsv3query.rbi +32 -0
- data/lib/xapi_scraper/models/components/getconversationsv3response.rb +47 -0
- data/lib/xapi_scraper/models/components/getconversationsv3response.rbi +26 -0
- data/lib/xapi_scraper/models/components/getdmhistoryv3query.rb +94 -0
- data/lib/xapi_scraper/models/components/getdmhistoryv3query.rbi +50 -0
- data/lib/xapi_scraper/models/components/getdmhistoryv3response.rb +47 -0
- data/lib/xapi_scraper/models/components/getdmhistoryv3response.rbi +26 -0
- data/lib/xapi_scraper/models/components/getdmmediav3data.rb +77 -0
- data/lib/xapi_scraper/models/components/getdmmediav3data.rbi +44 -0
- data/lib/xapi_scraper/models/components/getdmmediav3query.rb +112 -0
- data/lib/xapi_scraper/models/components/getdmmediav3query.rbi +56 -0
- data/lib/xapi_scraper/models/components/getdmmediav3response.rb +47 -0
- data/lib/xapi_scraper/models/components/getdmmediav3response.rbi +26 -0
- data/lib/xapi_scraper/models/components/getlistmemberscursorquery.rb +43 -0
- data/lib/xapi_scraper/models/components/getlistmemberscursorquery.rbi +20 -0
- data/lib/xapi_scraper/models/components/getlistmemberscursorresponse.rb +72 -0
- data/lib/xapi_scraper/models/components/getlistmemberscursorresponse.rbi +38 -0
- data/lib/xapi_scraper/models/components/getlisttweetscursorquery.rb +43 -0
- data/lib/xapi_scraper/models/components/getlisttweetscursorquery.rbi +20 -0
- data/lib/xapi_scraper/models/components/getlisttweetscursorresponse.rb +72 -0
- data/lib/xapi_scraper/models/components/getlisttweetscursorresponse.rbi +38 -0
- data/lib/xapi_scraper/models/components/getquotescursorquery.rb +63 -0
- data/lib/xapi_scraper/models/components/getquotescursorquery.rbi +26 -0
- data/lib/xapi_scraper/models/components/getquotescursorquery_sort_by.rb +18 -0
- data/lib/xapi_scraper/models/components/getquotescursorquery_sort_by.rbi +9 -0
- data/lib/xapi_scraper/models/components/getquotescursorresponse.rb +72 -0
- data/lib/xapi_scraper/models/components/getquotescursorresponse.rbi +38 -0
- data/lib/xapi_scraper/models/components/getquotesquery.rb +59 -0
- data/lib/xapi_scraper/models/components/getquotesquery.rbi +26 -0
- data/lib/xapi_scraper/models/components/getquotesquery_sort_by.rb +18 -0
- data/lib/xapi_scraper/models/components/getquotesquery_sort_by.rbi +9 -0
- data/lib/xapi_scraper/models/components/getquotesresponse.rb +47 -0
- data/lib/xapi_scraper/models/components/getquotesresponse.rbi +26 -0
- data/lib/xapi_scraper/models/components/getrepliespagequery.rb +51 -0
- data/lib/xapi_scraper/models/components/getrepliespagequery.rbi +20 -0
- data/lib/xapi_scraper/models/components/getrepliespagequery_sort_by.rb +19 -0
- data/lib/xapi_scraper/models/components/getrepliespagequery_sort_by.rbi +9 -0
- data/lib/xapi_scraper/models/components/getrepliespageresponse.rb +85 -0
- data/lib/xapi_scraper/models/components/getrepliespageresponse.rbi +44 -0
- data/lib/xapi_scraper/models/components/getretweeterscursorquery.rb +43 -0
- data/lib/xapi_scraper/models/components/getretweeterscursorquery.rbi +20 -0
- data/lib/xapi_scraper/models/components/getretweeterscursorresponse.rb +72 -0
- data/lib/xapi_scraper/models/components/getretweeterscursorresponse.rbi +38 -0
- data/lib/xapi_scraper/models/components/gettweetsbyidresponse.rb +58 -0
- data/lib/xapi_scraper/models/components/gettweetsbyidresponse.rbi +26 -0
- data/lib/xapi_scraper/models/components/hashtagsquery.rb +192 -0
- data/lib/xapi_scraper/models/components/hashtagsquery.rbi +98 -0
- data/lib/xapi_scraper/models/components/hashtagsquery_language.rb +76 -0
- data/lib/xapi_scraper/models/components/hashtagsquery_language.rbi +9 -0
- data/lib/xapi_scraper/models/components/hashtagsquery_sortby.rb +18 -0
- data/lib/xapi_scraper/models/components/hashtagsquery_sortby.rbi +9 -0
- data/lib/xapi_scraper/models/components/likeactionbody.rb +43 -0
- data/lib/xapi_scraper/models/components/likeactionbody.rbi +20 -0
- data/lib/xapi_scraper/models/components/listmembersresponse.rb +47 -0
- data/lib/xapi_scraper/models/components/listmembersresponse.rbi +26 -0
- data/lib/xapi_scraper/models/components/listmodel.rb +77 -0
- data/lib/xapi_scraper/models/components/listmodel.rbi +44 -0
- data/lib/xapi_scraper/models/components/listsubscribersresponse.rb +47 -0
- data/lib/xapi_scraper/models/components/listsubscribersresponse.rbi +26 -0
- data/lib/xapi_scraper/models/components/listtweetsresponse.rb +47 -0
- data/lib/xapi_scraper/models/components/listtweetsresponse.rbi +26 -0
- data/lib/xapi_scraper/models/components/loc.rb +25 -0
- data/lib/xapi_scraper/models/components/loc.rbi +9 -0
- data/lib/xapi_scraper/models/components/mediamodel.rb +194 -0
- data/lib/xapi_scraper/models/components/mediamodel.rbi +110 -0
- data/lib/xapi_scraper/models/components/messagemodel.rb +100 -0
- data/lib/xapi_scraper/models/components/messagemodel.rbi +56 -0
- data/lib/xapi_scraper/models/components/posttweetdata.rb +51 -0
- data/lib/xapi_scraper/models/components/posttweetdata.rbi +26 -0
- data/lib/xapi_scraper/models/components/posttweetquery.rb +122 -0
- data/lib/xapi_scraper/models/components/posttweetquery.rbi +62 -0
- data/lib/xapi_scraper/models/components/posttweetresponse.rb +58 -0
- data/lib/xapi_scraper/models/components/posttweetresponse.rbi +26 -0
- data/lib/xapi_scraper/models/components/posttweetwithoutcookiequery.rb +102 -0
- data/lib/xapi_scraper/models/components/posttweetwithoutcookiequery.rbi +50 -0
- data/lib/xapi_scraper/models/components/quotetweetquery.rb +112 -0
- data/lib/xapi_scraper/models/components/quotetweetquery.rbi +56 -0
- data/lib/xapi_scraper/models/components/retweetactionbody.rb +43 -0
- data/lib/xapi_scraper/models/components/retweetactionbody.rbi +20 -0
- data/lib/xapi_scraper/models/components/searchcommunityquery.rb +43 -0
- data/lib/xapi_scraper/models/components/searchcommunityquery.rbi +20 -0
- data/lib/xapi_scraper/models/components/searchcommunityresponse.rb +47 -0
- data/lib/xapi_scraper/models/components/searchcommunityresponse.rbi +26 -0
- data/lib/xapi_scraper/models/components/searchcommunitytweetsquery.rb +51 -0
- data/lib/xapi_scraper/models/components/searchcommunitytweetsquery.rbi +26 -0
- data/lib/xapi_scraper/models/components/searchlistquery.rb +43 -0
- data/lib/xapi_scraper/models/components/searchlistquery.rbi +20 -0
- data/lib/xapi_scraper/models/components/searchlistresponse.rb +47 -0
- data/lib/xapi_scraper/models/components/searchlistresponse.rbi +26 -0
- data/lib/xapi_scraper/models/components/searchresponse.rb +54 -0
- data/lib/xapi_scraper/models/components/searchresponse.rbi +26 -0
- data/lib/xapi_scraper/models/components/searchuserresponse.rb +47 -0
- data/lib/xapi_scraper/models/components/searchuserresponse.rbi +26 -0
- data/lib/xapi_scraper/models/components/security.rb +34 -0
- data/lib/xapi_scraper/models/components/security.rbi +14 -0
- data/lib/xapi_scraper/models/components/senddmresponse.rb +47 -0
- data/lib/xapi_scraper/models/components/senddmresponse.rbi +26 -0
- data/lib/xapi_scraper/models/components/senddmv3query.rb +90 -0
- data/lib/xapi_scraper/models/components/senddmv3query.rbi +50 -0
- data/lib/xapi_scraper/models/components/sentimentanalysismodel.rb +43 -0
- data/lib/xapi_scraper/models/components/sentimentanalysismodel.rbi +20 -0
- data/lib/xapi_scraper/models/components/sentimentanalysisquery.rb +31 -0
- data/lib/xapi_scraper/models/components/sentimentanalysisquery.rbi +14 -0
- data/lib/xapi_scraper/models/components/sentimentanalysisresponse.rb +47 -0
- data/lib/xapi_scraper/models/components/sentimentanalysisresponse.rbi +26 -0
- data/lib/xapi_scraper/models/components/standardresponse.rb +47 -0
- data/lib/xapi_scraper/models/components/standardresponse.rbi +26 -0
- data/lib/xapi_scraper/models/components/streammodel.rb +51 -0
- data/lib/xapi_scraper/models/components/streammodel.rbi +26 -0
- data/lib/xapi_scraper/models/components/tweet_type.rb +19 -0
- data/lib/xapi_scraper/models/components/tweet_type.rbi +9 -0
- data/lib/xapi_scraper/models/components/tweetactionresponse.rb +51 -0
- data/lib/xapi_scraper/models/components/tweetactionresponse.rbi +26 -0
- data/lib/xapi_scraper/models/components/tweetmodel.rb +518 -0
- data/lib/xapi_scraper/models/components/tweetmodel.rbi +302 -0
- data/lib/xapi_scraper/models/components/tweetthreadbyidbody.rb +53 -0
- data/lib/xapi_scraper/models/components/tweetthreadbyidbody.rbi +26 -0
- data/lib/xapi_scraper/models/components/twitteraccountbasedstandardresponse.rb +58 -0
- data/lib/xapi_scraper/models/components/twitteraccountbasedstandardresponse.rbi +26 -0
- data/lib/xapi_scraper/models/components/twitteruseraboutresponse.rb +208 -0
- data/lib/xapi_scraper/models/components/twitteruseraboutresponse.rbi +116 -0
- data/lib/xapi_scraper/models/components/twitteruseraboutstandardresponse.rb +58 -0
- data/lib/xapi_scraper/models/components/twitteruseraboutstandardresponse.rbi +26 -0
- data/lib/xapi_scraper/models/components/unfavoritetweetquery.rb +35 -0
- data/lib/xapi_scraper/models/components/unfavoritetweetquery.rbi +14 -0
- data/lib/xapi_scraper/models/components/unfollowuserquery.rb +43 -0
- data/lib/xapi_scraper/models/components/unfollowuserquery.rbi +20 -0
- data/lib/xapi_scraper/models/components/unfollowuserresponse.rb +47 -0
- data/lib/xapi_scraper/models/components/unfollowuserresponse.rbi +26 -0
- data/lib/xapi_scraper/models/components/urlmodel.rb +47 -0
- data/lib/xapi_scraper/models/components/urlmodel.rbi +26 -0
- data/lib/xapi_scraper/models/components/userinfo.rb +348 -0
- data/lib/xapi_scraper/models/components/userinfo.rbi +200 -0
- data/lib/xapi_scraper/models/components/usermodel.rb +344 -0
- data/lib/xapi_scraper/models/components/usermodel.rbi +200 -0
- data/lib/xapi_scraper/models/components/usersdetailsresponse.rb +47 -0
- data/lib/xapi_scraper/models/components/usersdetailsresponse.rbi +26 -0
- data/lib/xapi_scraper/models/components/usertimelinefillquery.rb +35 -0
- data/lib/xapi_scraper/models/components/usertimelinefillquery.rbi +14 -0
- data/lib/xapi_scraper/models/components/usertimelinepagequery.rb +43 -0
- data/lib/xapi_scraper/models/components/usertimelinepagequery.rbi +20 -0
- data/lib/xapi_scraper/models/components/usertimelinepageresponse.rb +112 -0
- data/lib/xapi_scraper/models/components/usertimelinepageresponse.rbi +56 -0
- data/lib/xapi_scraper/models/components/usertimelineresponse.rb +76 -0
- data/lib/xapi_scraper/models/components/usertimelineresponse.rbi +38 -0
- data/lib/xapi_scraper/models/components/usertweetitem.rb +225 -0
- data/lib/xapi_scraper/models/components/usertweetitem.rbi +122 -0
- data/lib/xapi_scraper/models/components/validationerror.rb +67 -0
- data/lib/xapi_scraper/models/components/validationerror.rbi +38 -0
- data/lib/xapi_scraper/models/components/verifiedfollowersdata.rb +58 -0
- data/lib/xapi_scraper/models/components/verifiedfollowersdata.rbi +26 -0
- data/lib/xapi_scraper/models/components/verifiedfollowersresponse.rb +47 -0
- data/lib/xapi_scraper/models/components/verifiedfollowersresponse.rbi +26 -0
- data/lib/xapi_scraper/models/components/xarticlemodel.rb +305 -0
- data/lib/xapi_scraper/models/components/xarticlemodel.rbi +170 -0
- data/lib/xapi_scraper/models/components/xarticleresponse.rb +47 -0
- data/lib/xapi_scraper/models/components/xarticleresponse.rbi +26 -0
- data/lib/xapi_scraper/models/components.rb +128 -0
- data/lib/xapi_scraper/models/errors/apierror.rb +39 -0
- data/lib/xapi_scraper/models/errors/apierror.rbi +27 -0
- data/lib/xapi_scraper/models/errors/httpvalidationerror.rb +48 -0
- data/lib/xapi_scraper/models/errors/httpvalidationerror.rbi +20 -0
- data/lib/xapi_scraper/models/errors.rb +13 -0
- data/lib/xapi_scraper/models/operations/accountgetbalance_response.rb +51 -0
- data/lib/xapi_scraper/models/operations/accountgetbalance_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/analysissentiment_response.rb +51 -0
- data/lib/xapi_scraper/models/operations/analysissentiment_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/articlesfetch_response.rb +51 -0
- data/lib/xapi_scraper/models/operations/articlesfetch_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/articlesmarkdown_request.rb +31 -0
- data/lib/xapi_scraper/models/operations/articlesmarkdown_request.rbi +14 -0
- data/lib/xapi_scraper/models/operations/articlesmarkdown_response.rb +51 -0
- data/lib/xapi_scraper/models/operations/articlesmarkdown_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/communitiesget_request.rb +34 -0
- data/lib/xapi_scraper/models/operations/communitiesget_request.rbi +14 -0
- data/lib/xapi_scraper/models/operations/communitiesget_response.rb +51 -0
- data/lib/xapi_scraper/models/operations/communitiesget_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/communitiesmembers_request.rb +42 -0
- data/lib/xapi_scraper/models/operations/communitiesmembers_request.rbi +20 -0
- data/lib/xapi_scraper/models/operations/communitiesmembers_response.rb +51 -0
- data/lib/xapi_scraper/models/operations/communitiesmembers_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/communitiesmemberspage_response.rb +54 -0
- data/lib/xapi_scraper/models/operations/communitiesmemberspage_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/communitiessearch_response.rb +51 -0
- data/lib/xapi_scraper/models/operations/communitiessearch_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/communitiessearchtweets_response.rb +51 -0
- data/lib/xapi_scraper/models/operations/communitiessearchtweets_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/communitiestweets_request.rb +50 -0
- data/lib/xapi_scraper/models/operations/communitiestweets_request.rbi +26 -0
- data/lib/xapi_scraper/models/operations/communitiestweets_response.rb +51 -0
- data/lib/xapi_scraper/models/operations/communitiestweets_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/communitiestweetspage_response.rb +54 -0
- data/lib/xapi_scraper/models/operations/communitiestweetspage_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/country.rb +79 -0
- data/lib/xapi_scraper/models/operations/country.rbi +9 -0
- data/lib/xapi_scraper/models/operations/dmconversations_response.rb +51 -0
- data/lib/xapi_scraper/models/operations/dmconversations_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/dmhistory_response.rb +51 -0
- data/lib/xapi_scraper/models/operations/dmhistory_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/dmmedia_response.rb +51 -0
- data/lib/xapi_scraper/models/operations/dmmedia_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/dmsend_response.rb +51 -0
- data/lib/xapi_scraper/models/operations/dmsend_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/dmstatus_response.rb +51 -0
- data/lib/xapi_scraper/models/operations/dmstatus_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/listsmembers_request.rb +38 -0
- data/lib/xapi_scraper/models/operations/listsmembers_request.rbi +20 -0
- data/lib/xapi_scraper/models/operations/listsmembers_response.rb +51 -0
- data/lib/xapi_scraper/models/operations/listsmembers_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/listsmemberspage_response.rb +54 -0
- data/lib/xapi_scraper/models/operations/listsmemberspage_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/listssearch_response.rb +51 -0
- data/lib/xapi_scraper/models/operations/listssearch_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/listssubscribers_request.rb +38 -0
- data/lib/xapi_scraper/models/operations/listssubscribers_request.rbi +20 -0
- data/lib/xapi_scraper/models/operations/listssubscribers_response.rb +51 -0
- data/lib/xapi_scraper/models/operations/listssubscribers_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/liststweets_request.rb +38 -0
- data/lib/xapi_scraper/models/operations/liststweets_request.rbi +20 -0
- data/lib/xapi_scraper/models/operations/liststweets_response.rb +51 -0
- data/lib/xapi_scraper/models/operations/liststweets_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/liststweetspage_response.rb +54 -0
- data/lib/xapi_scraper/models/operations/liststweetspage_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/searchadvanced_response.rb +54 -0
- data/lib/xapi_scraper/models/operations/searchadvanced_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/searchcashtags_response.rb +51 -0
- data/lib/xapi_scraper/models/operations/searchcashtags_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/searchhashtags_response.rb +51 -0
- data/lib/xapi_scraper/models/operations/searchhashtags_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/timelinestweetsandreplies_request.rb +35 -0
- data/lib/xapi_scraper/models/operations/timelinestweetsandreplies_request.rbi +20 -0
- data/lib/xapi_scraper/models/operations/timelinestweetsandreplies_response.rb +51 -0
- data/lib/xapi_scraper/models/operations/timelinestweetsandreplies_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/timelinestweetsandrepliespage_response.rb +54 -0
- data/lib/xapi_scraper/models/operations/timelinestweetsandrepliespage_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/timelinesuser_request.rb +35 -0
- data/lib/xapi_scraper/models/operations/timelinesuser_request.rbi +20 -0
- data/lib/xapi_scraper/models/operations/timelinesuser_response.rb +51 -0
- data/lib/xapi_scraper/models/operations/timelinesuser_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/timelinesuserpage_request.rb +35 -0
- data/lib/xapi_scraper/models/operations/timelinesuserpage_request.rbi +20 -0
- data/lib/xapi_scraper/models/operations/timelinesuserpage_response.rb +51 -0
- data/lib/xapi_scraper/models/operations/timelinesuserpage_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/trendingbycountry_request.rb +35 -0
- data/lib/xapi_scraper/models/operations/trendingbycountry_request.rbi +14 -0
- data/lib/xapi_scraper/models/operations/trendingbycountry_response.rb +51 -0
- data/lib/xapi_scraper/models/operations/trendingbycountry_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/trendingcontents_request.rb +35 -0
- data/lib/xapi_scraper/models/operations/trendingcontents_request.rbi +20 -0
- data/lib/xapi_scraper/models/operations/trendingcontents_response.rb +51 -0
- data/lib/xapi_scraper/models/operations/trendingcontents_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/trendingcountries_response.rb +51 -0
- data/lib/xapi_scraper/models/operations/trendingcountries_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/trendingtopics_response.rb +51 -0
- data/lib/xapi_scraper/models/operations/trendingtopics_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/trendingtweets_request.rb +63 -0
- data/lib/xapi_scraper/models/operations/trendingtweets_request.rbi +32 -0
- data/lib/xapi_scraper/models/operations/trendingtweets_response.rb +51 -0
- data/lib/xapi_scraper/models/operations/trendingtweets_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/tweet_type.rb +19 -0
- data/lib/xapi_scraper/models/operations/tweet_type.rbi +9 -0
- data/lib/xapi_scraper/models/operations/tweetsactionsbookmark_request.rb +35 -0
- data/lib/xapi_scraper/models/operations/tweetsactionsbookmark_request.rbi +20 -0
- data/lib/xapi_scraper/models/operations/tweetsactionsbookmark_response.rb +51 -0
- data/lib/xapi_scraper/models/operations/tweetsactionsbookmark_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/tweetsactionscreate_response.rb +51 -0
- data/lib/xapi_scraper/models/operations/tweetsactionscreate_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/tweetsactionscreatethread_response.rb +51 -0
- data/lib/xapi_scraper/models/operations/tweetsactionscreatethread_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/tweetsactionscreatewithoutcookie_response.rb +51 -0
- data/lib/xapi_scraper/models/operations/tweetsactionscreatewithoutcookie_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/tweetsactionsdeletebatch_response.rb +51 -0
- data/lib/xapi_scraper/models/operations/tweetsactionsdeletebatch_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/tweetsactionslike_request.rb +35 -0
- data/lib/xapi_scraper/models/operations/tweetsactionslike_request.rbi +20 -0
- data/lib/xapi_scraper/models/operations/tweetsactionslike_response.rb +51 -0
- data/lib/xapi_scraper/models/operations/tweetsactionslike_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/tweetsactionsquote_response.rb +51 -0
- data/lib/xapi_scraper/models/operations/tweetsactionsquote_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/tweetsactionsretweet_request.rb +35 -0
- data/lib/xapi_scraper/models/operations/tweetsactionsretweet_request.rbi +20 -0
- data/lib/xapi_scraper/models/operations/tweetsactionsretweet_response.rb +51 -0
- data/lib/xapi_scraper/models/operations/tweetsactionsretweet_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/tweetsactionsunbookmark_request.rb +35 -0
- data/lib/xapi_scraper/models/operations/tweetsactionsunbookmark_request.rbi +20 -0
- data/lib/xapi_scraper/models/operations/tweetsactionsunbookmark_response.rb +51 -0
- data/lib/xapi_scraper/models/operations/tweetsactionsunbookmark_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/tweetsactionsunlike_request.rb +35 -0
- data/lib/xapi_scraper/models/operations/tweetsactionsunlike_request.rbi +20 -0
- data/lib/xapi_scraper/models/operations/tweetsactionsunlike_response.rb +51 -0
- data/lib/xapi_scraper/models/operations/tweetsactionsunlike_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/tweetsactionsunretweet_request.rb +35 -0
- data/lib/xapi_scraper/models/operations/tweetsactionsunretweet_request.rbi +20 -0
- data/lib/xapi_scraper/models/operations/tweetsactionsunretweet_response.rb +51 -0
- data/lib/xapi_scraper/models/operations/tweetsactionsunretweet_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/tweetsdetail_response.rb +51 -0
- data/lib/xapi_scraper/models/operations/tweetsdetail_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/tweetsengagementquotes_response.rb +51 -0
- data/lib/xapi_scraper/models/operations/tweetsengagementquotes_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/tweetsengagementquotespage_response.rb +51 -0
- data/lib/xapi_scraper/models/operations/tweetsengagementquotespage_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/tweetsengagementretweeters_request.rb +39 -0
- data/lib/xapi_scraper/models/operations/tweetsengagementretweeters_request.rbi +20 -0
- data/lib/xapi_scraper/models/operations/tweetsengagementretweeters_response.rb +51 -0
- data/lib/xapi_scraper/models/operations/tweetsengagementretweeters_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/tweetsengagementretweeterspage_response.rb +51 -0
- data/lib/xapi_scraper/models/operations/tweetsengagementretweeterspage_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/tweetslookup_response.rb +51 -0
- data/lib/xapi_scraper/models/operations/tweetslookup_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/tweetsrepliespage_request.rb +35 -0
- data/lib/xapi_scraper/models/operations/tweetsrepliespage_request.rbi +20 -0
- data/lib/xapi_scraper/models/operations/tweetsrepliespage_response.rb +51 -0
- data/lib/xapi_scraper/models/operations/tweetsrepliespage_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/tweetssimilar_request.rb +30 -0
- data/lib/xapi_scraper/models/operations/tweetssimilar_request.rbi +14 -0
- data/lib/xapi_scraper/models/operations/tweetssimilar_response.rb +51 -0
- data/lib/xapi_scraper/models/operations/tweetssimilar_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/tweetsthread_response.rb +51 -0
- data/lib/xapi_scraper/models/operations/tweetsthread_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/usersfollow_response.rb +51 -0
- data/lib/xapi_scraper/models/operations/usersfollow_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/usersfollowerslist_response.rb +51 -0
- data/lib/xapi_scraper/models/operations/usersfollowerslist_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/usersfollowersverified_response.rb +51 -0
- data/lib/xapi_scraper/models/operations/usersfollowersverified_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/usersfollowinglist_response.rb +51 -0
- data/lib/xapi_scraper/models/operations/usersfollowinglist_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/usersgetabout_request.rb +31 -0
- data/lib/xapi_scraper/models/operations/usersgetabout_request.rbi +14 -0
- data/lib/xapi_scraper/models/operations/usersgetabout_response.rb +54 -0
- data/lib/xapi_scraper/models/operations/usersgetabout_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/usersgetaccountbased_response.rb +54 -0
- data/lib/xapi_scraper/models/operations/usersgetaccountbased_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/usersgetbyids_response.rb +51 -0
- data/lib/xapi_scraper/models/operations/usersgetbyids_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/usersgetbyusernames_response.rb +51 -0
- data/lib/xapi_scraper/models/operations/usersgetbyusernames_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/usersgetstatuses_response.rb +51 -0
- data/lib/xapi_scraper/models/operations/usersgetstatuses_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/userssearch_request.rb +39 -0
- data/lib/xapi_scraper/models/operations/userssearch_request.rbi +20 -0
- data/lib/xapi_scraper/models/operations/userssearch_response.rb +51 -0
- data/lib/xapi_scraper/models/operations/userssearch_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/usersunfollow_response.rb +51 -0
- data/lib/xapi_scraper/models/operations/usersunfollow_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations/usersverifyaccount_response.rb +51 -0
- data/lib/xapi_scraper/models/operations/usersverifyaccount_response.rbi +32 -0
- data/lib/xapi_scraper/models/operations.rb +127 -0
- data/lib/xapi_scraper/replies.rb +235 -0
- data/lib/xapi_scraper/sdk_hooks/hooks.rb +99 -0
- data/lib/xapi_scraper/sdk_hooks/registration.rb +34 -0
- data/lib/xapi_scraper/sdk_hooks/types.rb +180 -0
- data/lib/xapi_scraper/sdkconfiguration.rb +107 -0
- data/lib/xapi_scraper/sdkconfiguration.rbi +83 -0
- data/lib/xapi_scraper/search.rb +610 -0
- data/lib/xapi_scraper/timelines.rb +805 -0
- data/lib/xapi_scraper/trending.rb +888 -0
- data/lib/xapi_scraper/tweets.rb +801 -0
- data/lib/xapi_scraper/users.rb +1748 -0
- data/lib/xapi_scraper/utils/forms.rb +232 -0
- data/lib/xapi_scraper/utils/headers.rb +82 -0
- data/lib/xapi_scraper/utils/query_params.rb +167 -0
- data/lib/xapi_scraper/utils/request_bodies.rb +79 -0
- data/lib/xapi_scraper/utils/retries.rb +139 -0
- data/lib/xapi_scraper/utils/security.rb +158 -0
- data/lib/xapi_scraper/utils/url.rb +124 -0
- data/lib/xapi_scraper/utils/utils.rb +241 -0
- metadata +720 -0
|
@@ -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 ListSubscribersResponse
|
|
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::ListSubscribersResponse
|
|
5
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
class XapiScraper::Models::Components::ListSubscribersResponse
|
|
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,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 ListTweetsResponse
|
|
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 tweet objects.
|
|
23
|
+
field(
|
|
24
|
+
:data,
|
|
25
|
+
Crystalline::Array.new(Models::Components::TweetModel),
|
|
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::TweetModel]).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::ListTweetsResponse
|
|
5
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
class XapiScraper::Models::Components::ListTweetsResponse
|
|
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,25 @@
|
|
|
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 Loc
|
|
11
|
+
extend T::Sig
|
|
12
|
+
include Crystalline::MetadataFields
|
|
13
|
+
|
|
14
|
+
def initialize
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
18
|
+
def ==(other)
|
|
19
|
+
return false unless other.is_a?(self.class)
|
|
20
|
+
true
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
@@ -0,0 +1,194 @@
|
|
|
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 MediaModel
|
|
11
|
+
extend T::Sig
|
|
12
|
+
include Crystalline::MetadataFields
|
|
13
|
+
|
|
14
|
+
# Media ID
|
|
15
|
+
field :id, ::String, {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("id"), required: true}}
|
|
16
|
+
# Type of media (e.g., photo, video)
|
|
17
|
+
field :type, ::String, {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("type"), required: true}}
|
|
18
|
+
# List of available video streams
|
|
19
|
+
field(
|
|
20
|
+
:streams,
|
|
21
|
+
Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::StreamModel)),
|
|
22
|
+
{'format_json': {'letter_case': ::XapiScraper::Utils.field_name("streams")}}
|
|
23
|
+
)
|
|
24
|
+
# URL of the media to display
|
|
25
|
+
field(
|
|
26
|
+
:display_url,
|
|
27
|
+
Crystalline::Nilable.new(::String),
|
|
28
|
+
{'format_json': {'letter_case': ::XapiScraper::Utils.field_name("display_url")}}
|
|
29
|
+
)
|
|
30
|
+
# Expanded URL for the media
|
|
31
|
+
field(
|
|
32
|
+
:expanded_url,
|
|
33
|
+
Crystalline::Nilable.new(::String),
|
|
34
|
+
{'format_json': {'letter_case': ::XapiScraper::Utils.field_name("expanded_url")}}
|
|
35
|
+
)
|
|
36
|
+
# Direct URL to the media file
|
|
37
|
+
field(
|
|
38
|
+
:media_url,
|
|
39
|
+
Crystalline::Nilable.new(::String),
|
|
40
|
+
{'format_json': {'letter_case': ::XapiScraper::Utils.field_name("media_url")}}
|
|
41
|
+
)
|
|
42
|
+
# t.co URL for the media
|
|
43
|
+
field(
|
|
44
|
+
:url,
|
|
45
|
+
Crystalline::Nilable.new(::String),
|
|
46
|
+
{'format_json': {'letter_case': ::XapiScraper::Utils.field_name("url")}}
|
|
47
|
+
)
|
|
48
|
+
# Height of the media in pixels
|
|
49
|
+
field(
|
|
50
|
+
:height,
|
|
51
|
+
Crystalline::Nilable.new(::Integer),
|
|
52
|
+
{'format_json': {'letter_case': ::XapiScraper::Utils.field_name("height")}}
|
|
53
|
+
)
|
|
54
|
+
# Width of the media in pixels
|
|
55
|
+
field(
|
|
56
|
+
:width,
|
|
57
|
+
Crystalline::Nilable.new(::Integer),
|
|
58
|
+
{'format_json': {'letter_case': ::XapiScraper::Utils.field_name("width")}}
|
|
59
|
+
)
|
|
60
|
+
# Features of the media
|
|
61
|
+
field(
|
|
62
|
+
:features,
|
|
63
|
+
Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::Object)),
|
|
64
|
+
{'format_json': {'letter_case': ::XapiScraper::Utils.field_name("features")}}
|
|
65
|
+
)
|
|
66
|
+
# Original information about the media
|
|
67
|
+
field(
|
|
68
|
+
:original_info,
|
|
69
|
+
Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::Object)),
|
|
70
|
+
{'format_json': {'letter_case': ::XapiScraper::Utils.field_name("original_info")}}
|
|
71
|
+
)
|
|
72
|
+
# Available sizes of the media
|
|
73
|
+
field(
|
|
74
|
+
:sizes,
|
|
75
|
+
Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::Object)),
|
|
76
|
+
{'format_json': {'letter_case': ::XapiScraper::Utils.field_name("sizes")}}
|
|
77
|
+
)
|
|
78
|
+
# Source tweet ID if the media is a retweet
|
|
79
|
+
field(
|
|
80
|
+
:source_status_id,
|
|
81
|
+
Crystalline::Nilable.new(::String),
|
|
82
|
+
{'format_json': {'letter_case': ::XapiScraper::Utils.field_name("source_status_id")}}
|
|
83
|
+
)
|
|
84
|
+
# Source user ID if the media is a retweet
|
|
85
|
+
field(
|
|
86
|
+
:source_user_id,
|
|
87
|
+
Crystalline::Nilable.new(::String),
|
|
88
|
+
{'format_json': {'letter_case': ::XapiScraper::Utils.field_name("source_user_id")}}
|
|
89
|
+
)
|
|
90
|
+
# Duration of the video in milliseconds
|
|
91
|
+
field(
|
|
92
|
+
:duration_millis,
|
|
93
|
+
Crystalline::Nilable.new(::Integer),
|
|
94
|
+
{'format_json': {'letter_case': ::XapiScraper::Utils.field_name("duration_millis")}}
|
|
95
|
+
)
|
|
96
|
+
# Aspect ratio of the video
|
|
97
|
+
field(
|
|
98
|
+
:aspect_ratio,
|
|
99
|
+
Crystalline::Nilable.new(Crystalline::Array.new(::Integer)),
|
|
100
|
+
{'format_json': {'letter_case': ::XapiScraper::Utils.field_name("aspect_ratio")}}
|
|
101
|
+
)
|
|
102
|
+
# Detailed video information
|
|
103
|
+
field(
|
|
104
|
+
:video_info,
|
|
105
|
+
Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::Object)),
|
|
106
|
+
{'format_json': {'letter_case': ::XapiScraper::Utils.field_name("video_info")}}
|
|
107
|
+
)
|
|
108
|
+
|
|
109
|
+
sig {
|
|
110
|
+
params(
|
|
111
|
+
id: ::String,
|
|
112
|
+
type: ::String,
|
|
113
|
+
streams: T.nilable(T::Array[Models::Components::StreamModel]),
|
|
114
|
+
display_url: T.nilable(::String),
|
|
115
|
+
expanded_url: T.nilable(::String),
|
|
116
|
+
media_url: T.nilable(::String),
|
|
117
|
+
url: T.nilable(::String),
|
|
118
|
+
height: T.nilable(::Integer),
|
|
119
|
+
width: T.nilable(::Integer),
|
|
120
|
+
features: T.nilable(T::Hash[Symbol, ::Object]),
|
|
121
|
+
original_info: T.nilable(T::Hash[Symbol, ::Object]),
|
|
122
|
+
sizes: T.nilable(T::Hash[Symbol, ::Object]),
|
|
123
|
+
source_status_id: T.nilable(::String),
|
|
124
|
+
source_user_id: T.nilable(::String),
|
|
125
|
+
duration_millis: T.nilable(::Integer),
|
|
126
|
+
aspect_ratio: T.nilable(T::Array[::Integer]),
|
|
127
|
+
video_info: T.nilable(T::Hash[Symbol, ::Object])
|
|
128
|
+
)
|
|
129
|
+
.void
|
|
130
|
+
}
|
|
131
|
+
def initialize(
|
|
132
|
+
id:,
|
|
133
|
+
type:,
|
|
134
|
+
streams: nil,
|
|
135
|
+
display_url: nil,
|
|
136
|
+
expanded_url: nil,
|
|
137
|
+
media_url: nil,
|
|
138
|
+
url: nil,
|
|
139
|
+
height: nil,
|
|
140
|
+
width: nil,
|
|
141
|
+
features: nil,
|
|
142
|
+
original_info: nil,
|
|
143
|
+
sizes: nil,
|
|
144
|
+
source_status_id: nil,
|
|
145
|
+
source_user_id: nil,
|
|
146
|
+
duration_millis: nil,
|
|
147
|
+
aspect_ratio: nil,
|
|
148
|
+
video_info: nil
|
|
149
|
+
)
|
|
150
|
+
@id = id
|
|
151
|
+
@type = type
|
|
152
|
+
@streams = streams
|
|
153
|
+
@display_url = display_url
|
|
154
|
+
@expanded_url = expanded_url
|
|
155
|
+
@media_url = media_url
|
|
156
|
+
@url = url
|
|
157
|
+
@height = height
|
|
158
|
+
@width = width
|
|
159
|
+
@features = features
|
|
160
|
+
@original_info = original_info
|
|
161
|
+
@sizes = sizes
|
|
162
|
+
@source_status_id = source_status_id
|
|
163
|
+
@source_user_id = source_user_id
|
|
164
|
+
@duration_millis = duration_millis
|
|
165
|
+
@aspect_ratio = aspect_ratio
|
|
166
|
+
@video_info = video_info
|
|
167
|
+
end
|
|
168
|
+
|
|
169
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
170
|
+
def ==(other)
|
|
171
|
+
return false unless other.is_a?(self.class)
|
|
172
|
+
return false unless @id == other.id
|
|
173
|
+
return false unless @type == other.type
|
|
174
|
+
return false unless @streams == other.streams
|
|
175
|
+
return false unless @display_url == other.display_url
|
|
176
|
+
return false unless @expanded_url == other.expanded_url
|
|
177
|
+
return false unless @media_url == other.media_url
|
|
178
|
+
return false unless @url == other.url
|
|
179
|
+
return false unless @height == other.height
|
|
180
|
+
return false unless @width == other.width
|
|
181
|
+
return false unless @features == other.features
|
|
182
|
+
return false unless @original_info == other.original_info
|
|
183
|
+
return false unless @sizes == other.sizes
|
|
184
|
+
return false unless @source_status_id == other.source_status_id
|
|
185
|
+
return false unless @source_user_id == other.source_user_id
|
|
186
|
+
return false unless @duration_millis == other.duration_millis
|
|
187
|
+
return false unless @aspect_ratio == other.aspect_ratio
|
|
188
|
+
return false unless @video_info == other.video_info
|
|
189
|
+
true
|
|
190
|
+
end
|
|
191
|
+
end
|
|
192
|
+
end
|
|
193
|
+
end
|
|
194
|
+
end
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
class XapiScraper::Models::Components::MediaModel
|
|
5
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
class XapiScraper::Models::Components::MediaModel
|
|
9
|
+
def id
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def id=(str_)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def type
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def type=(str_)
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def streams
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def streams=(str_)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def display_url
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def display_url=(str_)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def expanded_url
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def expanded_url=(str_)
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def media_url
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def media_url=(str_)
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
def url
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def url=(str_)
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
def height
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
def height=(str_)
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
def width
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
def width=(str_)
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
def features
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
def features=(str_)
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
def original_info
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
def original_info=(str_)
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
def sizes
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
def sizes=(str_)
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
def source_status_id
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
def source_status_id=(str_)
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
def source_user_id
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
def source_user_id=(str_)
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
def duration_millis
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
def duration_millis=(str_)
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
def aspect_ratio
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
def aspect_ratio=(str_)
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
def video_info
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
def video_info=(str_)
|
|
109
|
+
end
|
|
110
|
+
end
|
|
@@ -0,0 +1,100 @@
|
|
|
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
|
+
# Message model
|
|
10
|
+
class MessageModel
|
|
11
|
+
extend T::Sig
|
|
12
|
+
include Crystalline::MetadataFields
|
|
13
|
+
|
|
14
|
+
# Message ID
|
|
15
|
+
field :id, ::String, {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("id"), required: true}}
|
|
16
|
+
# Message text
|
|
17
|
+
field :text, ::String, {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("text"), required: true}}
|
|
18
|
+
# Message time
|
|
19
|
+
field :time, ::String, {'format_json': {'letter_case': ::XapiScraper::Utils.field_name("time"), required: true}}
|
|
20
|
+
# Message attachment
|
|
21
|
+
field(
|
|
22
|
+
:attachment,
|
|
23
|
+
Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::Object)),
|
|
24
|
+
{'format_json': {'letter_case': ::XapiScraper::Utils.field_name("attachment")}}
|
|
25
|
+
)
|
|
26
|
+
# XChat media attachments (v3).
|
|
27
|
+
field(
|
|
28
|
+
:attachments,
|
|
29
|
+
Crystalline::Nilable.new(Crystalline::Array.new(Crystalline::Hash.new(Symbol, ::Object))),
|
|
30
|
+
{'format_json': {'letter_case': ::XapiScraper::Utils.field_name("attachments")}}
|
|
31
|
+
)
|
|
32
|
+
# XChat sequence id. Use the oldest message's sequence_id as before for pagination.
|
|
33
|
+
field(
|
|
34
|
+
:sequence_id,
|
|
35
|
+
Crystalline::Nilable.new(::String),
|
|
36
|
+
{'format_json': {'letter_case': ::XapiScraper::Utils.field_name("sequence_id")}}
|
|
37
|
+
)
|
|
38
|
+
# Sender ID
|
|
39
|
+
field(
|
|
40
|
+
:sender_id,
|
|
41
|
+
Crystalline::Nilable.new(::String),
|
|
42
|
+
{'format_json': {'letter_case': ::XapiScraper::Utils.field_name("sender_id")}}
|
|
43
|
+
)
|
|
44
|
+
# Recipient ID
|
|
45
|
+
field(
|
|
46
|
+
:recipient_id,
|
|
47
|
+
Crystalline::Nilable.new(::String),
|
|
48
|
+
{'format_json': {'letter_case': ::XapiScraper::Utils.field_name("recipient_id")}}
|
|
49
|
+
)
|
|
50
|
+
|
|
51
|
+
sig {
|
|
52
|
+
params(
|
|
53
|
+
id: ::String,
|
|
54
|
+
text: ::String,
|
|
55
|
+
time: ::String,
|
|
56
|
+
attachment: T.nilable(T::Hash[Symbol, ::Object]),
|
|
57
|
+
attachments: T.nilable(T::Array[T::Hash[Symbol, ::Object]]),
|
|
58
|
+
sequence_id: T.nilable(::String),
|
|
59
|
+
sender_id: T.nilable(::String),
|
|
60
|
+
recipient_id: T.nilable(::String)
|
|
61
|
+
)
|
|
62
|
+
.void
|
|
63
|
+
}
|
|
64
|
+
def initialize(
|
|
65
|
+
id:,
|
|
66
|
+
text:,
|
|
67
|
+
time:,
|
|
68
|
+
attachment: nil,
|
|
69
|
+
attachments: nil,
|
|
70
|
+
sequence_id: nil,
|
|
71
|
+
sender_id: nil,
|
|
72
|
+
recipient_id: nil
|
|
73
|
+
)
|
|
74
|
+
@id = id
|
|
75
|
+
@text = text
|
|
76
|
+
@time = time
|
|
77
|
+
@attachment = attachment
|
|
78
|
+
@attachments = attachments
|
|
79
|
+
@sequence_id = sequence_id
|
|
80
|
+
@sender_id = sender_id
|
|
81
|
+
@recipient_id = recipient_id
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
85
|
+
def ==(other)
|
|
86
|
+
return false unless other.is_a?(self.class)
|
|
87
|
+
return false unless @id == other.id
|
|
88
|
+
return false unless @text == other.text
|
|
89
|
+
return false unless @time == other.time
|
|
90
|
+
return false unless @attachment == other.attachment
|
|
91
|
+
return false unless @attachments == other.attachments
|
|
92
|
+
return false unless @sequence_id == other.sequence_id
|
|
93
|
+
return false unless @sender_id == other.sender_id
|
|
94
|
+
return false unless @recipient_id == other.recipient_id
|
|
95
|
+
true
|
|
96
|
+
end
|
|
97
|
+
end
|
|
98
|
+
end
|
|
99
|
+
end
|
|
100
|
+
end
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
class XapiScraper::Models::Components::MessageModel
|
|
5
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
class XapiScraper::Models::Components::MessageModel
|
|
9
|
+
def id
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def id=(str_)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def text
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def text=(str_)
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def time
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def time=(str_)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def attachment
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def attachment=(str_)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def attachments
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def attachments=(str_)
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def sequence_id
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def sequence_id=(str_)
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
def sender_id
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def sender_id=(str_)
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
def recipient_id
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
def recipient_id=(str_)
|
|
55
|
+
end
|
|
56
|
+
end
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
2
|
+
|
|
3
|
+
# typed: true
|
|
4
|
+
# frozen_string_literal: true
|
|
5
|
+
|
|
6
|
+
module XapiScraper
|
|
7
|
+
module Models
|
|
8
|
+
module Components
|
|
9
|
+
# Post tweet response data
|
|
10
|
+
class PostTweetData
|
|
11
|
+
extend T::Sig
|
|
12
|
+
include Crystalline::MetadataFields
|
|
13
|
+
|
|
14
|
+
# Posted tweet ID
|
|
15
|
+
field(
|
|
16
|
+
:tweet_id,
|
|
17
|
+
Crystalline::Nilable.new(::String),
|
|
18
|
+
{'format_json': {'letter_case': ::XapiScraper::Utils.field_name("tweet_id")}}
|
|
19
|
+
)
|
|
20
|
+
# User ID who posted
|
|
21
|
+
field(
|
|
22
|
+
:user_id,
|
|
23
|
+
Crystalline::Nilable.new(::String),
|
|
24
|
+
{'format_json': {'letter_case': ::XapiScraper::Utils.field_name("user_id")}}
|
|
25
|
+
)
|
|
26
|
+
# HTTP status code
|
|
27
|
+
field(
|
|
28
|
+
:code,
|
|
29
|
+
Crystalline::Nilable.new(::Integer),
|
|
30
|
+
{'format_json': {'letter_case': ::XapiScraper::Utils.field_name("code")}}
|
|
31
|
+
)
|
|
32
|
+
|
|
33
|
+
sig { params(tweet_id: T.nilable(::String), user_id: T.nilable(::String), code: T.nilable(::Integer)).void }
|
|
34
|
+
def initialize(tweet_id: nil, user_id: nil, code: 200)
|
|
35
|
+
@tweet_id = tweet_id
|
|
36
|
+
@user_id = user_id
|
|
37
|
+
@code = code
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
41
|
+
def ==(other)
|
|
42
|
+
return false unless other.is_a?(self.class)
|
|
43
|
+
return false unless @tweet_id == other.tweet_id
|
|
44
|
+
return false unless @user_id == other.user_id
|
|
45
|
+
return false unless @code == other.code
|
|
46
|
+
true
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
end
|