rettiwt-api 5.0.0-alpha.1 → 5.0.0-alpha.3

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 (406) hide show
  1. package/dist/Rettiwt.d.ts +10 -3
  2. package/dist/Rettiwt.js +19 -7
  3. package/dist/Rettiwt.js.map +1 -1
  4. package/dist/collections/Extractors.d.ts +35 -2
  5. package/dist/collections/Extractors.js +3 -0
  6. package/dist/collections/Extractors.js.map +1 -1
  7. package/dist/collections/Groups.js +3 -0
  8. package/dist/collections/Groups.js.map +1 -1
  9. package/dist/collections/Requests.js +41 -41
  10. package/dist/collections/Requests.js.map +1 -1
  11. package/dist/commands/Tweet.js +33 -7
  12. package/dist/commands/Tweet.js.map +1 -1
  13. package/dist/commands/User.js +12 -2
  14. package/dist/commands/User.js.map +1 -1
  15. package/dist/enums/Authentication.d.ts +2 -10
  16. package/dist/enums/Authentication.js +3 -12
  17. package/dist/enums/Authentication.js.map +1 -1
  18. package/dist/enums/Data.d.ts +3 -15
  19. package/dist/enums/Data.js +4 -17
  20. package/dist/enums/Data.js.map +1 -1
  21. package/dist/enums/Media.d.ts +10 -0
  22. package/dist/enums/Media.js +15 -0
  23. package/dist/enums/Media.js.map +1 -0
  24. package/dist/enums/Notification.d.ts +12 -0
  25. package/dist/enums/Notification.js +17 -0
  26. package/dist/enums/Notification.js.map +1 -0
  27. package/dist/enums/Resource.d.ts +3 -0
  28. package/dist/enums/Resource.js +3 -0
  29. package/dist/enums/Resource.js.map +1 -1
  30. package/dist/enums/raw/Analytics.d.ts +28 -0
  31. package/dist/enums/raw/Analytics.js +34 -0
  32. package/dist/enums/raw/Analytics.js.map +1 -0
  33. package/dist/enums/raw/Media.d.ts +10 -0
  34. package/dist/enums/raw/Media.js +15 -0
  35. package/dist/enums/raw/Media.js.map +1 -0
  36. package/dist/enums/raw/Notification.d.ts +11 -0
  37. package/dist/enums/raw/Notification.js +16 -0
  38. package/dist/enums/raw/Notification.js.map +1 -0
  39. package/dist/enums/raw/Tweet.d.ts +9 -0
  40. package/dist/enums/raw/Tweet.js +14 -0
  41. package/dist/enums/raw/Tweet.js.map +1 -0
  42. package/dist/helper/TidUtils.d.ts +2 -0
  43. package/dist/helper/TidUtils.js +162 -0
  44. package/dist/helper/TidUtils.js.map +1 -0
  45. package/dist/index.d.ts +75 -4
  46. package/dist/index.js +26 -5
  47. package/dist/index.js.map +1 -1
  48. package/dist/models/RettiwtConfig.d.ts +28 -0
  49. package/dist/models/RettiwtConfig.js +55 -0
  50. package/dist/models/RettiwtConfig.js.map +1 -0
  51. package/dist/models/args/FetchArgs.d.ts +46 -3
  52. package/dist/models/args/FetchArgs.js +107 -5
  53. package/dist/models/args/FetchArgs.js.map +1 -1
  54. package/dist/models/args/PostArgs.d.ts +44 -16
  55. package/dist/models/args/PostArgs.js +61 -22
  56. package/dist/models/args/PostArgs.js.map +1 -1
  57. package/dist/models/auth/AuthCookie.d.ts +2 -0
  58. package/dist/models/auth/AuthCookie.js +2 -0
  59. package/dist/models/auth/AuthCookie.js.map +1 -1
  60. package/dist/models/auth/AuthCredential.d.ts +2 -0
  61. package/dist/models/auth/AuthCredential.js +2 -0
  62. package/dist/models/auth/AuthCredential.js.map +1 -1
  63. package/dist/models/data/CursoredData.d.ts +4 -13
  64. package/dist/models/data/CursoredData.js +16 -23
  65. package/dist/models/data/CursoredData.js.map +1 -1
  66. package/dist/models/data/List.d.ts +5 -1
  67. package/dist/models/data/List.js +14 -0
  68. package/dist/models/data/List.js.map +1 -1
  69. package/dist/models/data/Notification.d.ts +7 -5
  70. package/dist/models/data/Notification.js +19 -8
  71. package/dist/models/data/Notification.js.map +1 -1
  72. package/dist/models/data/Tweet.d.ts +29 -9
  73. package/dist/models/data/Tweet.js +103 -25
  74. package/dist/models/data/Tweet.js.map +1 -1
  75. package/dist/models/data/User.d.ts +17 -8
  76. package/dist/models/data/User.js +63 -13
  77. package/dist/models/data/User.js.map +1 -1
  78. package/dist/models/errors/RettiwtError.d.ts +3 -2
  79. package/dist/models/errors/RettiwtError.js +3 -2
  80. package/dist/models/errors/RettiwtError.js.map +1 -1
  81. package/dist/models/params/Variables.d.ts +41 -0
  82. package/dist/models/params/Variables.js +61 -0
  83. package/dist/models/params/Variables.js.map +1 -0
  84. package/dist/requests/List.d.ts +24 -0
  85. package/dist/requests/List.js +122 -0
  86. package/dist/requests/List.js.map +1 -0
  87. package/dist/requests/Media.d.ts +21 -0
  88. package/dist/requests/Media.js +70 -0
  89. package/dist/requests/Media.js.map +1 -0
  90. package/dist/requests/Tweet.d.ts +75 -0
  91. package/dist/requests/Tweet.js +500 -0
  92. package/dist/requests/Tweet.js.map +1 -0
  93. package/dist/requests/User.d.ts +111 -0
  94. package/dist/requests/User.js +762 -0
  95. package/dist/requests/User.js.map +1 -0
  96. package/dist/services/internal/AuthService.d.ts +3 -5
  97. package/dist/services/internal/AuthService.js +5 -8
  98. package/dist/services/internal/AuthService.js.map +1 -1
  99. package/dist/services/internal/TidService.d.ts +44 -0
  100. package/dist/services/internal/TidService.js +162 -0
  101. package/dist/services/internal/TidService.js.map +1 -0
  102. package/dist/services/public/FetcherService.d.ts +20 -19
  103. package/dist/services/public/FetcherService.js +67 -49
  104. package/dist/services/public/FetcherService.js.map +1 -1
  105. package/dist/services/public/ListService.d.ts +2 -2
  106. package/dist/services/public/ListService.js.map +1 -1
  107. package/dist/services/public/TweetService.d.ts +35 -7
  108. package/dist/services/public/TweetService.js +54 -8
  109. package/dist/services/public/TweetService.js.map +1 -1
  110. package/dist/services/public/UserService.d.ts +4 -4
  111. package/dist/services/public/UserService.js +25 -13
  112. package/dist/services/public/UserService.js.map +1 -1
  113. package/dist/types/RettiwtConfig.d.ts +9 -10
  114. package/dist/types/args/FetchArgs.d.ts +71 -7
  115. package/dist/types/args/PostArgs.d.ts +62 -18
  116. package/dist/types/auth/AuthCookie.d.ts +2 -0
  117. package/dist/types/auth/AuthCredential.d.ts +2 -0
  118. package/dist/types/auth/TidDynamicArgs.d.ts +10 -0
  119. package/dist/types/auth/{AccountCredential.js → TidDynamicArgs.js} +1 -1
  120. package/dist/types/auth/TidDynamicArgs.js.map +1 -0
  121. package/dist/types/auth/TidHeader.d.ts +8 -0
  122. package/dist/types/{ReturnTypes.js → auth/TidHeader.js} +1 -1
  123. package/dist/types/auth/TidHeader.js.map +1 -0
  124. package/dist/types/auth/TidParams.d.ts +27 -0
  125. package/dist/types/auth/TidParams.js +3 -0
  126. package/dist/types/auth/TidParams.js.map +1 -0
  127. package/dist/types/auth/TidProvider.d.ts +18 -0
  128. package/dist/types/auth/TidProvider.js +3 -0
  129. package/dist/types/auth/TidProvider.js.map +1 -0
  130. package/dist/types/data/CursoredData.d.ts +1 -10
  131. package/dist/types/data/Notification.d.ts +2 -2
  132. package/dist/types/data/Tweet.d.ts +2 -2
  133. package/dist/types/params/Variables.d.ts +27 -0
  134. package/dist/types/params/Variables.js +3 -0
  135. package/dist/types/params/Variables.js.map +1 -0
  136. package/dist/types/raw/base/Analytic.d.ts +21 -0
  137. package/dist/types/raw/base/Analytic.js +4 -0
  138. package/dist/types/raw/base/Analytic.js.map +1 -0
  139. package/dist/types/raw/base/Cursor.d.ts +11 -0
  140. package/dist/types/raw/base/Cursor.js +4 -0
  141. package/dist/types/raw/base/Cursor.js.map +1 -0
  142. package/dist/types/raw/base/LimitedVisibilityTweet.d.ts +32 -0
  143. package/dist/types/raw/base/LimitedVisibilityTweet.js +4 -0
  144. package/dist/types/raw/base/LimitedVisibilityTweet.js.map +1 -0
  145. package/dist/types/raw/base/List.d.ts +43 -0
  146. package/dist/types/raw/base/List.js +4 -0
  147. package/dist/types/raw/base/List.js.map +1 -0
  148. package/dist/types/raw/base/Media.d.ts +43 -0
  149. package/dist/types/raw/base/Media.js +4 -0
  150. package/dist/types/raw/base/Media.js.map +1 -0
  151. package/dist/types/raw/base/Notification.d.ts +53 -0
  152. package/dist/types/raw/base/Notification.js +4 -0
  153. package/dist/types/raw/base/Notification.js.map +1 -0
  154. package/dist/types/raw/base/Space.d.ts +32 -0
  155. package/dist/types/raw/base/Space.js +4 -0
  156. package/dist/types/raw/base/Space.js.map +1 -0
  157. package/dist/types/raw/base/Tweet.d.ts +119 -0
  158. package/dist/types/raw/base/Tweet.js +4 -0
  159. package/dist/types/raw/base/Tweet.js.map +1 -0
  160. package/dist/types/raw/base/User.d.ts +140 -0
  161. package/dist/types/raw/base/User.js +4 -0
  162. package/dist/types/raw/base/User.js.map +1 -0
  163. package/dist/types/raw/composite/DataResult.d.ts +8 -0
  164. package/dist/types/raw/composite/DataResult.js +3 -0
  165. package/dist/types/raw/composite/DataResult.js.map +1 -0
  166. package/dist/types/raw/composite/TimelineTweet.d.ts +11 -0
  167. package/dist/types/raw/composite/TimelineTweet.js +4 -0
  168. package/dist/types/raw/composite/TimelineTweet.js.map +1 -0
  169. package/dist/types/raw/composite/TimelineUser.d.ts +10 -0
  170. package/dist/types/raw/composite/TimelineUser.js +4 -0
  171. package/dist/types/raw/composite/TimelineUser.js.map +1 -0
  172. package/dist/types/raw/generic/Error.d.ts +30 -0
  173. package/dist/types/raw/generic/Error.js +3 -0
  174. package/dist/types/raw/generic/Error.js.map +1 -0
  175. package/dist/types/raw/generic/Response.d.ts +12 -0
  176. package/dist/types/raw/generic/Response.js +3 -0
  177. package/dist/types/raw/generic/Response.js.map +1 -0
  178. package/dist/types/raw/list/Details.d.ts +122 -0
  179. package/dist/types/raw/list/Details.js +4 -0
  180. package/dist/types/raw/list/Details.js.map +1 -0
  181. package/dist/types/raw/list/Members.d.ts +134 -0
  182. package/dist/types/raw/list/Members.js +4 -0
  183. package/dist/types/raw/list/Members.js.map +1 -0
  184. package/dist/types/raw/list/Tweets.d.ts +1968 -0
  185. package/dist/types/raw/list/Tweets.js +4 -0
  186. package/dist/types/raw/list/Tweets.js.map +1 -0
  187. package/dist/types/raw/media/FinalizeUpload.d.ts +18 -0
  188. package/dist/types/raw/media/FinalizeUpload.js +4 -0
  189. package/dist/types/raw/media/FinalizeUpload.js.map +1 -0
  190. package/dist/types/raw/media/InitalizeUpload.d.ts +10 -0
  191. package/dist/types/raw/media/InitalizeUpload.js +4 -0
  192. package/dist/types/raw/media/InitalizeUpload.js.map +1 -0
  193. package/dist/types/raw/media/LiveVideoStream.d.ts +19 -0
  194. package/dist/types/raw/media/LiveVideoStream.js +4 -0
  195. package/dist/types/raw/media/LiveVideoStream.js.map +1 -0
  196. package/dist/types/raw/space/Details.d.ts +315 -0
  197. package/dist/types/raw/space/Details.js +4 -0
  198. package/dist/types/raw/space/Details.js.map +1 -0
  199. package/dist/types/raw/tweet/Details.d.ts +183 -0
  200. package/dist/types/raw/tweet/Details.js +4 -0
  201. package/dist/types/raw/tweet/Details.js.map +1 -0
  202. package/dist/types/raw/tweet/Like.d.ts +12 -0
  203. package/dist/types/raw/tweet/Like.js +4 -0
  204. package/dist/types/raw/tweet/Like.js.map +1 -0
  205. package/dist/types/raw/tweet/Likers.d.ts +170 -0
  206. package/dist/types/raw/tweet/Likers.js +4 -0
  207. package/dist/types/raw/tweet/Likers.js.map +1 -0
  208. package/dist/types/raw/tweet/Post.d.ts +133 -0
  209. package/dist/types/raw/tweet/Post.js +4 -0
  210. package/dist/types/raw/tweet/Post.js.map +1 -0
  211. package/dist/types/raw/tweet/Replies.d.ts +465 -0
  212. package/dist/types/raw/tweet/Replies.js +4 -0
  213. package/dist/types/raw/tweet/Replies.js.map +1 -0
  214. package/dist/types/raw/tweet/Retweet.d.ts +25 -0
  215. package/dist/types/raw/tweet/Retweet.js +4 -0
  216. package/dist/types/raw/tweet/Retweet.js.map +1 -0
  217. package/dist/types/raw/tweet/Retweeters.d.ts +177 -0
  218. package/dist/types/raw/tweet/Retweeters.js +4 -0
  219. package/dist/types/raw/tweet/Retweeters.js.map +1 -0
  220. package/dist/types/raw/tweet/Schedule.d.ts +15 -0
  221. package/dist/types/raw/tweet/Schedule.js +4 -0
  222. package/dist/types/raw/tweet/Schedule.js.map +1 -0
  223. package/dist/types/raw/tweet/Search.d.ts +518 -0
  224. package/dist/types/raw/tweet/Search.js +4 -0
  225. package/dist/types/raw/tweet/Search.js.map +1 -0
  226. package/dist/types/raw/tweet/Unlike.d.ts +12 -0
  227. package/dist/types/raw/tweet/Unlike.js +4 -0
  228. package/dist/types/raw/tweet/Unlike.js.map +1 -0
  229. package/dist/types/raw/tweet/Unpost.d.ts +17 -0
  230. package/dist/types/raw/tweet/Unpost.js +4 -0
  231. package/dist/types/raw/tweet/Unpost.js.map +1 -0
  232. package/dist/types/raw/tweet/Unretweet.d.ts +25 -0
  233. package/dist/types/raw/tweet/Unretweet.js +4 -0
  234. package/dist/types/raw/tweet/Unretweet.js.map +1 -0
  235. package/dist/types/raw/tweet/Unschedule.d.ts +12 -0
  236. package/dist/types/raw/tweet/Unschedule.js +4 -0
  237. package/dist/types/raw/tweet/Unschedule.js.map +1 -0
  238. package/dist/types/raw/user/Affiliates.d.ts +154 -0
  239. package/dist/types/raw/user/Affiliates.js +4 -0
  240. package/dist/types/raw/user/Affiliates.js.map +1 -0
  241. package/dist/types/raw/user/Analytics.d.ts +32 -0
  242. package/dist/types/raw/user/Analytics.js +4 -0
  243. package/dist/types/raw/user/Analytics.js.map +1 -0
  244. package/dist/types/raw/user/Bookmarks.d.ts +550 -0
  245. package/dist/types/raw/user/Bookmarks.js +4 -0
  246. package/dist/types/raw/user/Bookmarks.js.map +1 -0
  247. package/dist/types/raw/user/Details.d.ts +157 -0
  248. package/dist/types/raw/user/Details.js +4 -0
  249. package/dist/types/raw/user/Details.js.map +1 -0
  250. package/dist/types/raw/user/Follow.d.ts +248 -0
  251. package/dist/types/raw/user/Follow.js +4 -0
  252. package/dist/types/raw/user/Follow.js.map +1 -0
  253. package/dist/types/raw/user/Followed.d.ts +1666 -0
  254. package/dist/types/raw/user/Followed.js +4 -0
  255. package/dist/types/raw/user/Followed.js.map +1 -0
  256. package/dist/types/raw/user/Followers.d.ts +182 -0
  257. package/dist/types/raw/user/Followers.js +4 -0
  258. package/dist/types/raw/user/Followers.js.map +1 -0
  259. package/dist/types/raw/user/Following.d.ts +182 -0
  260. package/dist/types/raw/user/Following.js +4 -0
  261. package/dist/types/raw/user/Following.js.map +1 -0
  262. package/dist/types/raw/user/Highlights.d.ts +1106 -0
  263. package/dist/types/raw/user/Highlights.js +4 -0
  264. package/dist/types/raw/user/Highlights.js.map +1 -0
  265. package/dist/types/raw/user/Likes.d.ts +1065 -0
  266. package/dist/types/raw/user/Likes.js +4 -0
  267. package/dist/types/raw/user/Likes.js.map +1 -0
  268. package/dist/types/raw/user/Media.d.ts +1492 -0
  269. package/dist/types/raw/user/Media.js +4 -0
  270. package/dist/types/raw/user/Media.js.map +1 -0
  271. package/dist/types/raw/user/Notifications.d.ts +142 -0
  272. package/dist/types/raw/user/Notifications.js +4 -0
  273. package/dist/types/raw/user/Notifications.js.map +1 -0
  274. package/dist/types/raw/user/Recommended.d.ts +1991 -0
  275. package/dist/types/raw/user/Recommended.js +4 -0
  276. package/dist/types/raw/user/Recommended.js.map +1 -0
  277. package/dist/types/raw/user/Scheduled.d.ts +31 -0
  278. package/dist/types/raw/user/Scheduled.js +4 -0
  279. package/dist/types/raw/user/Scheduled.js.map +1 -0
  280. package/dist/types/raw/user/Subscriptions.d.ts +151 -0
  281. package/dist/types/raw/user/Subscriptions.js +4 -0
  282. package/dist/types/raw/user/Subscriptions.js.map +1 -0
  283. package/dist/types/raw/user/Tweets.d.ts +1065 -0
  284. package/dist/types/raw/user/Tweets.js +4 -0
  285. package/dist/types/raw/user/Tweets.js.map +1 -0
  286. package/dist/types/raw/user/TweetsAndReplies.d.ts +1065 -0
  287. package/dist/types/raw/user/TweetsAndReplies.js +4 -0
  288. package/dist/types/raw/user/TweetsAndReplies.js.map +1 -0
  289. package/dist/types/raw/user/Unfollow.d.ts +248 -0
  290. package/dist/types/raw/user/Unfollow.js +4 -0
  291. package/dist/types/raw/user/Unfollow.js.map +1 -0
  292. package/package.json +3 -3
  293. package/src/Rettiwt.ts +22 -7
  294. package/src/collections/Extractors.ts +38 -34
  295. package/src/collections/Groups.ts +3 -0
  296. package/src/collections/Requests.ts +43 -42
  297. package/src/commands/Tweet.ts +35 -7
  298. package/src/commands/User.ts +13 -2
  299. package/src/enums/Authentication.ts +2 -11
  300. package/src/enums/Data.ts +3 -16
  301. package/src/enums/Media.ts +10 -0
  302. package/src/enums/Notification.ts +12 -0
  303. package/src/enums/Resource.ts +3 -0
  304. package/src/enums/raw/Analytics.ts +29 -0
  305. package/src/enums/raw/Media.ts +10 -0
  306. package/src/enums/raw/Notification.ts +11 -0
  307. package/src/enums/raw/Tweet.ts +9 -0
  308. package/src/helper/TidUtils.ts +189 -0
  309. package/src/index.ts +78 -43
  310. package/src/models/RettiwtConfig.ts +64 -0
  311. package/src/models/args/FetchArgs.ts +121 -5
  312. package/src/models/args/PostArgs.ts +61 -21
  313. package/src/models/auth/AuthCookie.ts +2 -0
  314. package/src/models/auth/AuthCredential.ts +2 -0
  315. package/src/models/data/CursoredData.ts +16 -24
  316. package/src/models/data/List.ts +16 -2
  317. package/src/models/data/Notification.ts +21 -12
  318. package/src/models/data/Tweet.ts +120 -39
  319. package/src/models/data/User.ts +71 -15
  320. package/src/models/errors/RettiwtError.ts +3 -2
  321. package/src/models/params/Variables.ts +62 -0
  322. package/src/requests/List.ts +121 -0
  323. package/src/requests/Media.ts +67 -0
  324. package/src/requests/Tweet.ts +516 -0
  325. package/src/requests/User.ts +783 -0
  326. package/src/services/internal/AuthService.ts +6 -11
  327. package/src/services/internal/TidService.ts +147 -0
  328. package/src/services/public/FetcherService.ts +78 -58
  329. package/src/services/public/ListService.ts +4 -4
  330. package/src/services/public/TweetService.ts +87 -40
  331. package/src/services/public/UserService.ts +47 -35
  332. package/src/types/RettiwtConfig.ts +11 -12
  333. package/src/types/args/FetchArgs.ts +92 -8
  334. package/src/types/args/PostArgs.ts +72 -22
  335. package/src/types/auth/AuthCookie.ts +2 -0
  336. package/src/types/auth/AuthCredential.ts +2 -0
  337. package/src/types/auth/TidDynamicArgs.ts +10 -0
  338. package/src/types/auth/TidHeader.ts +12 -0
  339. package/src/types/auth/TidParams.ts +36 -0
  340. package/src/types/auth/TidProvider.ts +19 -0
  341. package/src/types/data/CursoredData.ts +1 -11
  342. package/src/types/data/Notification.ts +2 -2
  343. package/src/types/data/Tweet.ts +2 -2
  344. package/src/types/params/Variables.ts +41 -0
  345. package/src/types/raw/base/Analytic.ts +26 -0
  346. package/src/types/raw/base/Cursor.ts +13 -0
  347. package/src/types/raw/base/LimitedVisibilityTweet.ts +40 -0
  348. package/src/types/raw/base/List.ts +50 -0
  349. package/src/types/raw/base/Media.ts +53 -0
  350. package/src/types/raw/base/Notification.ts +67 -0
  351. package/src/types/raw/base/Space.ts +35 -0
  352. package/src/types/raw/base/Tweet.ts +139 -0
  353. package/src/types/raw/base/User.ts +164 -0
  354. package/src/types/raw/composite/DataResult.ts +8 -0
  355. package/src/types/raw/composite/TimelineTweet.ts +14 -0
  356. package/src/types/raw/composite/TimelineUser.ts +13 -0
  357. package/src/types/raw/generic/Error.ts +35 -0
  358. package/src/types/raw/generic/Response.ts +13 -0
  359. package/src/types/raw/list/Details.ts +137 -0
  360. package/src/types/raw/list/Members.ts +154 -0
  361. package/src/types/raw/list/Tweets.ts +2296 -0
  362. package/src/types/raw/media/FinalizeUpload.ts +20 -0
  363. package/src/types/raw/media/InitalizeUpload.ts +12 -0
  364. package/src/types/raw/media/LiveVideoStream.ts +21 -0
  365. package/src/types/raw/space/Details.ts +359 -0
  366. package/src/types/raw/tweet/Details.ts +210 -0
  367. package/src/types/raw/tweet/Like.ts +14 -0
  368. package/src/types/raw/tweet/Likers.ts +200 -0
  369. package/src/types/raw/tweet/Post.ts +150 -0
  370. package/src/types/raw/tweet/Replies.ts +539 -0
  371. package/src/types/raw/tweet/Retweet.ts +31 -0
  372. package/src/types/raw/tweet/Retweeters.ts +208 -0
  373. package/src/types/raw/tweet/Schedule.ts +18 -0
  374. package/src/types/raw/tweet/Search.ts +597 -0
  375. package/src/types/raw/tweet/Unlike.ts +14 -0
  376. package/src/types/raw/tweet/Unpost.ts +20 -0
  377. package/src/types/raw/tweet/Unretweet.ts +31 -0
  378. package/src/types/raw/tweet/Unschedule.ts +14 -0
  379. package/src/types/raw/user/Affiliates.ts +179 -0
  380. package/src/types/raw/user/Analytics.ts +39 -0
  381. package/src/types/raw/user/Bookmarks.ts +637 -0
  382. package/src/types/raw/user/Details.ts +185 -0
  383. package/src/types/raw/user/Follow.ts +280 -0
  384. package/src/types/raw/user/Followed.ts +1942 -0
  385. package/src/types/raw/user/Followers.ts +215 -0
  386. package/src/types/raw/user/Following.ts +215 -0
  387. package/src/types/raw/user/Highlights.ts +1287 -0
  388. package/src/types/raw/user/Likes.ts +1254 -0
  389. package/src/types/raw/user/Media.ts +1738 -0
  390. package/src/types/raw/user/Notifications.ts +175 -0
  391. package/src/types/raw/user/Recommended.ts +2319 -0
  392. package/src/types/raw/user/Scheduled.ts +37 -0
  393. package/src/types/raw/user/Subscriptions.ts +176 -0
  394. package/src/types/raw/user/Tweets.ts +1254 -0
  395. package/src/types/raw/user/TweetsAndReplies.ts +1254 -0
  396. package/src/types/raw/user/Unfollow.ts +280 -0
  397. package/dist/models/auth/AccountCredential.d.ts +0 -13
  398. package/dist/models/auth/AccountCredential.js +0 -21
  399. package/dist/models/auth/AccountCredential.js.map +0 -1
  400. package/dist/types/ReturnTypes.d.ts +0 -21
  401. package/dist/types/ReturnTypes.js.map +0 -1
  402. package/dist/types/auth/AccountCredential.d.ts +0 -11
  403. package/dist/types/auth/AccountCredential.js.map +0 -1
  404. package/src/models/auth/AccountCredential.ts +0 -19
  405. package/src/types/ReturnTypes.ts +0 -24
  406. package/src/types/auth/AccountCredential.ts +0 -13
@@ -0,0 +1,762 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.UserRequests = void 0;
7
+ const querystring_1 = __importDefault(require("querystring"));
8
+ /**
9
+ * Collection of requests related to users.
10
+ *
11
+ * @public
12
+ */
13
+ class UserRequests {
14
+ /**
15
+ * @param id - The id of the user whose affiliates are to be fetched.
16
+ * @param count - The number of affiliates to fetch. Only works as a lower limit when used with a cursor.
17
+ * @param cursor - The cursor to the batch of affiliates to fetch.
18
+ */
19
+ static affiliates(id, count, cursor) {
20
+ return {
21
+ method: 'get',
22
+ url: 'https://x.com/i/api/graphql/0M9yTHGhZjdIIxIcI9H2xQ/UserBusinessProfileTeamTimeline',
23
+ params: {
24
+ /* eslint-disable @typescript-eslint/naming-convention */
25
+ variables: JSON.stringify({
26
+ userId: id,
27
+ count: count,
28
+ cursor: cursor,
29
+ teamName: 'NotAssigned',
30
+ includePromotedContent: false,
31
+ withClientEventToken: false,
32
+ withVoice: false,
33
+ }),
34
+ features: JSON.stringify({
35
+ profile_label_improvements_pcf_label_in_post_enabled: true,
36
+ rweb_tipjar_consumption_enabled: true,
37
+ responsive_web_graphql_exclude_directive_enabled: true,
38
+ verified_phone_label_enabled: true,
39
+ creator_subscriptions_tweet_preview_api_enabled: true,
40
+ responsive_web_graphql_timeline_navigation_enabled: true,
41
+ responsive_web_graphql_skip_user_profile_image_extensions_enabled: false,
42
+ premium_content_api_read_enabled: false,
43
+ communities_web_enable_tweet_community_results_fetch: true,
44
+ c9s_tweet_anatomy_moderator_badge_enabled: true,
45
+ responsive_web_grok_analyze_button_fetch_trends_enabled: false,
46
+ responsive_web_grok_analyze_post_followups_enabled: true,
47
+ responsive_web_jetfuel_frame: false,
48
+ responsive_web_grok_share_attachment_enabled: true,
49
+ articles_preview_enabled: true,
50
+ responsive_web_edit_tweet_api_enabled: true,
51
+ graphql_is_translatable_rweb_tweet_is_translatable_enabled: true,
52
+ view_counts_everywhere_api_enabled: true,
53
+ longform_notetweets_consumption_enabled: true,
54
+ responsive_web_twitter_article_tweet_consumption_enabled: true,
55
+ tweet_awards_web_tipping_enabled: false,
56
+ responsive_web_grok_analysis_button_from_backend: true,
57
+ creator_subscriptions_quote_tweet_preview_enabled: false,
58
+ freedom_of_speech_not_reach_fetch_enabled: true,
59
+ standardized_nudges_misinfo: true,
60
+ tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled: true,
61
+ rweb_video_timestamps_enabled: true,
62
+ longform_notetweets_rich_text_read_enabled: true,
63
+ longform_notetweets_inline_media_enabled: true,
64
+ responsive_web_grok_image_annotation_enabled: false,
65
+ responsive_web_enhance_cards_enabled: false,
66
+ }),
67
+ /* eslint-enable @typescript-eslint/naming-convention */
68
+ },
69
+ };
70
+ }
71
+ /**
72
+ * @param fromTime - The start time of the analytic data to be fetched.
73
+ * @param toTime - The end time of the analytic data to be fetched.
74
+ * @param granularity - The granularity of the analytic data to be fetched.
75
+ * @param requestedMetrics - The metrics to be fetched.
76
+ */
77
+ static analytics(fromTime, toTime, granularity, requestedMetrics) {
78
+ return {
79
+ method: 'get',
80
+ url: 'https://x.com/i/api/graphql/NlJ6RM-hgHxt-iu9cPQz7A/overviewDataUserQuery',
81
+ params: {
82
+ /* eslint-disable @typescript-eslint/naming-convention */
83
+ from_time: fromTime,
84
+ to_time: toTime,
85
+ granularity: granularity,
86
+ requested_metrics: requestedMetrics,
87
+ /* eslint-enable @typescript-eslint/naming-convention */
88
+ },
89
+ paramsSerializer: { encode: encodeURIComponent },
90
+ };
91
+ }
92
+ /**
93
+ * @param count - The number of bookmarks to fetch.
94
+ * @param cursor - The cursor to the batch of bookmarks to fetch.
95
+ */
96
+ static bookmarks(count, cursor) {
97
+ return {
98
+ method: 'get',
99
+ url: 'https://x.com/i/api/graphql/qToeLeMs43Q8cr7tRYXmaQ/Bookmarks',
100
+ params: {
101
+ /* eslint-disable @typescript-eslint/naming-convention */
102
+ variables: JSON.stringify({
103
+ count: count,
104
+ cursor: cursor,
105
+ includePromotedContent: false,
106
+ }),
107
+ features: JSON.stringify({
108
+ graphql_timeline_v2_bookmark_timeline: true,
109
+ creator_subscriptions_tweet_preview_api_enabled: true,
110
+ c9s_tweet_anatomy_moderator_badge_enabled: true,
111
+ tweetypie_unmention_optimization_enabled: true,
112
+ responsive_web_edit_tweet_api_enabled: true,
113
+ graphql_is_translatable_rweb_tweet_is_translatable_enabled: true,
114
+ view_counts_everywhere_api_enabled: true,
115
+ longform_notetweets_consumption_enabled: true,
116
+ responsive_web_twitter_article_tweet_consumption_enabled: true,
117
+ tweet_awards_web_tipping_enabled: false,
118
+ longform_notetweets_rich_text_read_enabled: true,
119
+ longform_notetweets_inline_media_enabled: true,
120
+ rweb_video_timestamps_enabled: true,
121
+ responsive_web_graphql_exclude_directive_enabled: true,
122
+ verified_phone_label_enabled: false,
123
+ freedom_of_speech_not_reach_fetch_enabled: true,
124
+ standardized_nudges_misinfo: true,
125
+ tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled: true,
126
+ responsive_web_media_download_video_enabled: false,
127
+ responsive_web_graphql_skip_user_profile_image_extensions_enabled: false,
128
+ responsive_web_graphql_timeline_navigation_enabled: true,
129
+ responsive_web_enhance_cards_enabled: false,
130
+ }),
131
+ /* eslint-enable @typescript-eslint/naming-convention */
132
+ },
133
+ paramsSerializer: { encode: encodeURIComponent },
134
+ };
135
+ }
136
+ /**
137
+ * @param ids - The IDs of the users whose details are to be fetched.
138
+ */
139
+ static bulkDetailsByIds(ids) {
140
+ return {
141
+ method: 'get',
142
+ url: 'https://x.com/i/api/graphql/PyRggX3LQweP9nSF6PHliA/UsersByRestIds',
143
+ params: {
144
+ /* eslint-disable @typescript-eslint/naming-convention */
145
+ variables: JSON.stringify({ userIds: ids }),
146
+ features: JSON.stringify({
147
+ profile_label_improvements_pcf_label_in_post_enabled: false,
148
+ rweb_tipjar_consumption_enabled: false,
149
+ responsive_web_graphql_exclude_directive_enabled: false,
150
+ verified_phone_label_enabled: false,
151
+ responsive_web_graphql_skip_user_profile_image_extensions_enabled: false,
152
+ responsive_web_graphql_timeline_navigation_enabled: false,
153
+ }),
154
+ fieldToggles: JSON.stringify({ withAuxiliaryUserLabels: false }),
155
+ /* eslint-enable @typescript-eslint/naming-convention */
156
+ },
157
+ paramsSerializer: { encode: encodeURIComponent },
158
+ };
159
+ }
160
+ /**
161
+ * @param id - The id of the user whose details are to be fetched.
162
+ */
163
+ static detailsById(id) {
164
+ return {
165
+ method: 'get',
166
+ url: 'https://x.com/i/api/graphql/i_0UQ54YrCyqLUvgGzXygA/UserByRestId',
167
+ params: {
168
+ /* eslint-disable @typescript-eslint/naming-convention */
169
+ variables: JSON.stringify({ userId: id, withSafetyModeUserFields: true }),
170
+ features: JSON.stringify({
171
+ hidden_profile_likes_enabled: false,
172
+ hidden_profile_subscriptions_enabled: false,
173
+ responsive_web_graphql_exclude_directive_enabled: true,
174
+ verified_phone_label_enabled: true,
175
+ subscriptions_verification_info_verified_since_enabled: true,
176
+ highlights_tweets_tab_ui_enabled: true,
177
+ creator_subscriptions_tweet_preview_api_enabled: true,
178
+ responsive_web_graphql_skip_user_profile_image_extensions_enabled: false,
179
+ responsive_web_graphql_timeline_navigation_enabled: true,
180
+ }),
181
+ /* eslint-enable @typescript-eslint/naming-convention */
182
+ },
183
+ paramsSerializer: { encode: encodeURIComponent },
184
+ };
185
+ }
186
+ /**
187
+ * @param userName - The username of the user whose details are to be fetched.
188
+ */
189
+ static detailsByUsername(userName) {
190
+ return {
191
+ method: 'get',
192
+ url: 'https://x.com/i/api/graphql/oUZZZ8Oddwxs8Cd3iW3UEA/UserByScreenName',
193
+ params: {
194
+ /* eslint-disable @typescript-eslint/naming-convention */
195
+ variables: JSON.stringify({ screen_name: userName, withSafetyModeUserFields: true }),
196
+ features: JSON.stringify({
197
+ hidden_profile_likes_enabled: false,
198
+ responsive_web_graphql_exclude_directive_enabled: true,
199
+ verified_phone_label_enabled: true,
200
+ subscriptions_verification_info_verified_since_enabled: true,
201
+ highlights_tweets_tab_ui_enabled: true,
202
+ creator_subscriptions_tweet_preview_api_enabled: true,
203
+ responsive_web_graphql_skip_user_profile_image_extensions_enabled: false,
204
+ responsive_web_graphql_timeline_navigation_enabled: true,
205
+ }),
206
+ /* eslint-enable @typescript-eslint/naming-convention */
207
+ },
208
+ paramsSerializer: { encode: encodeURIComponent },
209
+ };
210
+ }
211
+ /**
212
+ * @param id - The id of the user to follow.
213
+ */
214
+ static follow(id) {
215
+ return {
216
+ method: 'post',
217
+ url: 'https://x.com/i/api/1.1/friendships/create.json',
218
+ data: querystring_1.default.stringify({
219
+ /* eslint-disable @typescript-eslint/naming-convention */
220
+ user_id: id,
221
+ /* eslint-enable @typescript-eslint/naming-convention */
222
+ }),
223
+ };
224
+ }
225
+ /**
226
+ * @param count - The number of timeline items to fetch. Only works as a lower limit when used with a cursor.
227
+ * @param cursor - The cursor to the batch of followed timeline items to fetch.
228
+ */
229
+ static followed(count, cursor) {
230
+ return {
231
+ method: 'get',
232
+ url: 'https://x.com/i/api/graphql/9EwYy8pLBOSFlEoSP2STiQ/HomeLatestTimeline',
233
+ params: {
234
+ /* eslint-disable @typescript-eslint/naming-convention */
235
+ variables: JSON.stringify({
236
+ count: count,
237
+ cursor: cursor,
238
+ includePromotedContent: false,
239
+ latestControlAvailable: true,
240
+ withCommunity: false,
241
+ }),
242
+ features: JSON.stringify({
243
+ rweb_tipjar_consumption_enabled: true,
244
+ responsive_web_graphql_exclude_directive_enabled: true,
245
+ verified_phone_label_enabled: true,
246
+ creator_subscriptions_tweet_preview_api_enabled: true,
247
+ responsive_web_graphql_timeline_navigation_enabled: true,
248
+ responsive_web_graphql_skip_user_profile_image_extensions_enabled: false,
249
+ communities_web_enable_tweet_community_results_fetch: true,
250
+ c9s_tweet_anatomy_moderator_badge_enabled: true,
251
+ articles_preview_enabled: false,
252
+ tweetypie_unmention_optimization_enabled: true,
253
+ responsive_web_edit_tweet_api_enabled: true,
254
+ graphql_is_translatable_rweb_tweet_is_translatable_enabled: true,
255
+ view_counts_everywhere_api_enabled: true,
256
+ longform_notetweets_consumption_enabled: true,
257
+ responsive_web_twitter_article_tweet_consumption_enabled: true,
258
+ tweet_awards_web_tipping_enabled: false,
259
+ creator_subscriptions_quote_tweet_preview_enabled: false,
260
+ freedom_of_speech_not_reach_fetch_enabled: true,
261
+ standardized_nudges_misinfo: true,
262
+ tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled: true,
263
+ tweet_with_visibility_results_prefer_gql_media_interstitial_enabled: false,
264
+ rweb_video_timestamps_enabled: true,
265
+ longform_notetweets_rich_text_read_enabled: true,
266
+ longform_notetweets_inline_media_enabled: true,
267
+ responsive_web_enhance_cards_enabled: false,
268
+ }),
269
+ /* eslint-enable @typescript-eslint/naming-convention */
270
+ },
271
+ paramsSerializer: { encode: encodeURIComponent },
272
+ };
273
+ }
274
+ /**
275
+ * @param id - The id of the user whose followers are to be fetched.
276
+ * @param count - The number of followers to fetch. Only works as a lower limit when used with a cursor.
277
+ * @param cursor - The cursor to the batch of followers to fetch.
278
+ */
279
+ static followers(id, count, cursor) {
280
+ return {
281
+ method: 'get',
282
+ url: 'https://x.com/i/api/graphql/6y5TB_HrwQM0FBGDiNfoEA/Followers',
283
+ params: {
284
+ /* eslint-disable @typescript-eslint/naming-convention */
285
+ variables: JSON.stringify({
286
+ userId: id,
287
+ count: count,
288
+ cursor: cursor,
289
+ includePromotedContent: false,
290
+ }),
291
+ features: JSON.stringify({
292
+ rweb_lists_timeline_redesign_enabled: true,
293
+ responsive_web_graphql_exclude_directive_enabled: true,
294
+ verified_phone_label_enabled: true,
295
+ creator_subscriptions_tweet_preview_api_enabled: true,
296
+ responsive_web_graphql_timeline_navigation_enabled: true,
297
+ responsive_web_graphql_skip_user_profile_image_extensions_enabled: false,
298
+ tweetypie_unmention_optimization_enabled: true,
299
+ responsive_web_edit_tweet_api_enabled: true,
300
+ graphql_is_translatable_rweb_tweet_is_translatable_enabled: true,
301
+ view_counts_everywhere_api_enabled: true,
302
+ longform_notetweets_consumption_enabled: true,
303
+ responsive_web_twitter_article_tweet_consumption_enabled: false,
304
+ tweet_awards_web_tipping_enabled: false,
305
+ freedom_of_speech_not_reach_fetch_enabled: true,
306
+ standardized_nudges_misinfo: true,
307
+ tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled: true,
308
+ longform_notetweets_rich_text_read_enabled: true,
309
+ longform_notetweets_inline_media_enabled: true,
310
+ responsive_web_media_download_video_enabled: false,
311
+ responsive_web_enhance_cards_enabled: false,
312
+ }),
313
+ /* eslint-enable @typescript-eslint/naming-convention */
314
+ },
315
+ paramsSerializer: { encode: encodeURIComponent },
316
+ };
317
+ }
318
+ /**
319
+ * @param id - The id of the user whose followings are to be fetched.
320
+ * @param count - The number of followings to fetch. Only works as a lower limit when used with a cursor.
321
+ * @param cursor - The cursor to the batch of followings to fetch.
322
+ */
323
+ static following(id, count, cursor) {
324
+ return {
325
+ method: 'get',
326
+ url: 'https://x.com/i/api/graphql/V8zHw0SZijWORSsb-FNrng/Following',
327
+ params: {
328
+ /* eslint-disable @typescript-eslint/naming-convention */
329
+ variables: JSON.stringify({
330
+ userId: id,
331
+ count: count,
332
+ cursor: cursor,
333
+ includePromotedContent: false,
334
+ }),
335
+ features: JSON.stringify({
336
+ rweb_lists_timeline_redesign_enabled: true,
337
+ responsive_web_graphql_exclude_directive_enabled: true,
338
+ verified_phone_label_enabled: true,
339
+ creator_subscriptions_tweet_preview_api_enabled: true,
340
+ responsive_web_graphql_timeline_navigation_enabled: true,
341
+ responsive_web_graphql_skip_user_profile_image_extensions_enabled: false,
342
+ tweetypie_unmention_optimization_enabled: true,
343
+ responsive_web_edit_tweet_api_enabled: true,
344
+ graphql_is_translatable_rweb_tweet_is_translatable_enabled: true,
345
+ view_counts_everywhere_api_enabled: true,
346
+ longform_notetweets_consumption_enabled: true,
347
+ responsive_web_twitter_article_tweet_consumption_enabled: false,
348
+ tweet_awards_web_tipping_enabled: false,
349
+ freedom_of_speech_not_reach_fetch_enabled: true,
350
+ standardized_nudges_misinfo: true,
351
+ tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled: true,
352
+ longform_notetweets_rich_text_read_enabled: true,
353
+ longform_notetweets_inline_media_enabled: true,
354
+ responsive_web_media_download_video_enabled: false,
355
+ responsive_web_enhance_cards_enabled: false,
356
+ }),
357
+ /* eslint-enable @typescript-eslint/naming-convention */
358
+ },
359
+ paramsSerializer: { encode: encodeURIComponent },
360
+ };
361
+ }
362
+ /**
363
+ * @param id - The id of the user whose highlights are to be fetched.
364
+ * @param count - The number of highlights to fetch. Only works as a lower limit when used with a cursor.
365
+ * @param cursor - The cursor to the batch of highlights to fetch.
366
+ */
367
+ static highlights(id, count, cursor) {
368
+ return {
369
+ method: 'get',
370
+ url: 'https://x.com/i/api/graphql/Tqc024xHjye_svtpHJ236Q/UserHighlightsTweets',
371
+ params: {
372
+ /* eslint-disable @typescript-eslint/naming-convention */
373
+ variables: JSON.stringify({
374
+ userId: id,
375
+ count: count,
376
+ cursor: cursor,
377
+ includePromotedContent: false,
378
+ withVoice: false,
379
+ }),
380
+ features: JSON.stringify({
381
+ responsive_web_graphql_exclude_directive_enabled: true,
382
+ verified_phone_label_enabled: true,
383
+ creator_subscriptions_tweet_preview_api_enabled: true,
384
+ responsive_web_graphql_timeline_navigation_enabled: true,
385
+ responsive_web_graphql_skip_user_profile_image_extensions_enabled: false,
386
+ c9s_tweet_anatomy_moderator_badge_enabled: true,
387
+ tweetypie_unmention_optimization_enabled: true,
388
+ responsive_web_edit_tweet_api_enabled: true,
389
+ graphql_is_translatable_rweb_tweet_is_translatable_enabled: true,
390
+ view_counts_everywhere_api_enabled: true,
391
+ longform_notetweets_consumption_enabled: true,
392
+ responsive_web_twitter_article_tweet_consumption_enabled: true,
393
+ tweet_awards_web_tipping_enabled: false,
394
+ freedom_of_speech_not_reach_fetch_enabled: true,
395
+ standardized_nudges_misinfo: true,
396
+ tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled: true,
397
+ rweb_video_timestamps_enabled: true,
398
+ longform_notetweets_rich_text_read_enabled: true,
399
+ longform_notetweets_inline_media_enabled: true,
400
+ responsive_web_enhance_cards_enabled: false,
401
+ }),
402
+ /* eslint-enable @typescript-eslint/naming-convention */
403
+ },
404
+ paramsSerializer: { encode: encodeURIComponent },
405
+ };
406
+ }
407
+ /**
408
+ * @param id - The id of the user whose likes are to be fetched.
409
+ * @param count - The number of likes to fetch. Only works as a lower limit when used with a cursor.
410
+ * @param cursor - The cursor to the batch of likes to fetch.
411
+ */
412
+ static likes(id, count, cursor) {
413
+ return {
414
+ method: 'get',
415
+ url: 'https://x.com/i/api/graphql/kgZtsNyE46T3JaEf2nF9vw/Likes',
416
+ params: {
417
+ /* eslint-disable @typescript-eslint/naming-convention */
418
+ variables: JSON.stringify({
419
+ userId: id,
420
+ count: count,
421
+ cursor: cursor,
422
+ includePromotedContent: false,
423
+ withClientEventToken: false,
424
+ withBirdwatchNotes: false,
425
+ withVoice: false,
426
+ withV2Timeline: false,
427
+ }),
428
+ features: JSON.stringify({
429
+ rweb_lists_timeline_redesign_enabled: true,
430
+ responsive_web_graphql_exclude_directive_enabled: true,
431
+ verified_phone_label_enabled: true,
432
+ creator_subscriptions_tweet_preview_api_enabled: true,
433
+ responsive_web_graphql_timeline_navigation_enabled: true,
434
+ responsive_web_graphql_skip_user_profile_image_extensions_enabled: false,
435
+ tweetypie_unmention_optimization_enabled: true,
436
+ responsive_web_edit_tweet_api_enabled: true,
437
+ graphql_is_translatable_rweb_tweet_is_translatable_enabled: true,
438
+ view_counts_everywhere_api_enabled: true,
439
+ longform_notetweets_consumption_enabled: true,
440
+ responsive_web_twitter_article_tweet_consumption_enabled: false,
441
+ tweet_awards_web_tipping_enabled: false,
442
+ freedom_of_speech_not_reach_fetch_enabled: true,
443
+ standardized_nudges_misinfo: true,
444
+ tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled: true,
445
+ longform_notetweets_rich_text_read_enabled: true,
446
+ longform_notetweets_inline_media_enabled: true,
447
+ responsive_web_media_download_video_enabled: false,
448
+ responsive_web_enhance_cards_enabled: false,
449
+ }),
450
+ /* eslint-enable @typescript-eslint/naming-convention */
451
+ },
452
+ paramsSerializer: { encode: encodeURIComponent },
453
+ };
454
+ }
455
+ /**
456
+ * @param id - The id of the user whose media is to be fetched.
457
+ * @param count - The number of media to fetch. Only works as a lower limit when used with a cursor.
458
+ * @param cursor - The cursor to the batch of media to fetch.
459
+ */
460
+ static media(id, count, cursor) {
461
+ return {
462
+ method: 'get',
463
+ url: 'https://x.com/i/api/graphql/EnIWTNQ8Tum-7t1NnZHOEQ/UserMedia',
464
+ params: {
465
+ /* eslint-disable @typescript-eslint/naming-convention */
466
+ variables: JSON.stringify({
467
+ userId: id,
468
+ count: count,
469
+ cursor: cursor,
470
+ includePromotedContent: false,
471
+ withClientEventToken: false,
472
+ withBirdwatchNotes: false,
473
+ withVoice: false,
474
+ withV2Timeline: false,
475
+ }),
476
+ features: JSON.stringify({
477
+ responsive_web_graphql_exclude_directive_enabled: true,
478
+ verified_phone_label_enabled: true,
479
+ creator_subscriptions_tweet_preview_api_enabled: true,
480
+ responsive_web_graphql_timeline_navigation_enabled: true,
481
+ responsive_web_graphql_skip_user_profile_image_extensions_enabled: false,
482
+ c9s_tweet_anatomy_moderator_badge_enabled: true,
483
+ tweetypie_unmention_optimization_enabled: true,
484
+ responsive_web_edit_tweet_api_enabled: true,
485
+ graphql_is_translatable_rweb_tweet_is_translatable_enabled: true,
486
+ view_counts_everywhere_api_enabled: true,
487
+ longform_notetweets_consumption_enabled: true,
488
+ responsive_web_twitter_article_tweet_consumption_enabled: true,
489
+ tweet_awards_web_tipping_enabled: false,
490
+ freedom_of_speech_not_reach_fetch_enabled: true,
491
+ standardized_nudges_misinfo: true,
492
+ tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled: true,
493
+ rweb_video_timestamps_enabled: true,
494
+ longform_notetweets_rich_text_read_enabled: true,
495
+ longform_notetweets_inline_media_enabled: true,
496
+ responsive_web_enhance_cards_enabled: false,
497
+ }),
498
+ /* eslint-enable @typescript-eslint/naming-convention */
499
+ },
500
+ paramsSerializer: { encode: encodeURIComponent },
501
+ };
502
+ }
503
+ /**
504
+ * @param count - The number of notifications to fetch.
505
+ * @param cursor - The cursor to the batch of notifications to fetch.
506
+ */
507
+ static notifications(count, cursor) {
508
+ return {
509
+ method: 'get',
510
+ url: 'https://x.com/i/api/2/notifications/all.json',
511
+ params: {
512
+ /* eslint-disable @typescript-eslint/naming-convention */
513
+ include_profile_interstitial_type: 1,
514
+ include_blocking: 1,
515
+ include_blocked_by: 1,
516
+ include_followed_by: 1,
517
+ include_want_retweets: 1,
518
+ include_mute_edge: 1,
519
+ include_can_dm: 1,
520
+ include_can_media_tag: 1,
521
+ include_ext_is_blue_verified: 1,
522
+ include_ext_verified_type: 1,
523
+ include_ext_profile_image_shape: 1,
524
+ skip_status: 1,
525
+ cards_platform: 'Web-12',
526
+ include_cards: 1,
527
+ include_ext_alt_text: true,
528
+ include_ext_limited_action_results: true,
529
+ include_quote_count: true,
530
+ include_reply_count: 1,
531
+ tweet_mode: 'extended',
532
+ include_ext_views: true,
533
+ include_entities: true,
534
+ include_user_entities: true,
535
+ include_ext_media_color: true,
536
+ include_ext_media_availability: true,
537
+ include_ext_sensitive_media_warning: true,
538
+ include_ext_trusted_friends_metadata: true,
539
+ send_error_codes: true,
540
+ simple_quoted_tweet: true,
541
+ count: count,
542
+ cursor: cursor,
543
+ ext: 'mediaStats%2ChighlightedLabel%2CvoiceInfo%2CbirdwatchPivot%2CsuperFollowMetadata%2CunmentionInfo%2CeditControl%2Carticle',
544
+ /* eslint-enable @typescript-eslint/naming-convention */
545
+ },
546
+ };
547
+ }
548
+ /**
549
+ * @param count - The number of timeline items to fetch. Only works as a lower limit when used with a cursor.
550
+ * @param cursor - The cursor to the batch of recommended timeline items to fetch.
551
+ */
552
+ static recommended(count, cursor) {
553
+ return {
554
+ method: 'get',
555
+ url: 'https://x.com/i/api/graphql/q1x0puFIVMzsbx2Yoh-usA/HomeTimeline',
556
+ params: {
557
+ /* eslint-disable @typescript-eslint/naming-convention */
558
+ variables: JSON.stringify({
559
+ count: count,
560
+ cursor: cursor,
561
+ includePromotedContent: false,
562
+ latestControlAvailable: true,
563
+ withCommunity: false,
564
+ seenTweetIds: [],
565
+ }),
566
+ features: JSON.stringify({
567
+ rweb_tipjar_consumption_enabled: true,
568
+ responsive_web_graphql_exclude_directive_enabled: true,
569
+ verified_phone_label_enabled: true,
570
+ creator_subscriptions_tweet_preview_api_enabled: true,
571
+ responsive_web_graphql_timeline_navigation_enabled: true,
572
+ responsive_web_graphql_skip_user_profile_image_extensions_enabled: false,
573
+ communities_web_enable_tweet_community_results_fetch: true,
574
+ c9s_tweet_anatomy_moderator_badge_enabled: true,
575
+ articles_preview_enabled: false,
576
+ tweetypie_unmention_optimization_enabled: true,
577
+ responsive_web_edit_tweet_api_enabled: true,
578
+ graphql_is_translatable_rweb_tweet_is_translatable_enabled: true,
579
+ view_counts_everywhere_api_enabled: true,
580
+ longform_notetweets_consumption_enabled: true,
581
+ responsive_web_twitter_article_tweet_consumption_enabled: true,
582
+ tweet_awards_web_tipping_enabled: false,
583
+ creator_subscriptions_quote_tweet_preview_enabled: false,
584
+ freedom_of_speech_not_reach_fetch_enabled: true,
585
+ standardized_nudges_misinfo: true,
586
+ tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled: true,
587
+ tweet_with_visibility_results_prefer_gql_media_interstitial_enabled: false,
588
+ rweb_video_timestamps_enabled: true,
589
+ longform_notetweets_rich_text_read_enabled: true,
590
+ longform_notetweets_inline_media_enabled: true,
591
+ responsive_web_enhance_cards_enabled: false,
592
+ }),
593
+ /* eslint-enable @typescript-eslint/naming-convention */
594
+ },
595
+ paramsSerializer: { encode: encodeURIComponent },
596
+ };
597
+ }
598
+ static scheduled() {
599
+ return {
600
+ method: 'get',
601
+ url: 'https://x.com/i/api/graphql/ITtjAzvlZni2wWXwf295Qg/FetchScheduledTweets?variables=%7B%22ascending%22%3Atrue%7D',
602
+ params: {
603
+ variables: JSON.stringify({ ascending: true }),
604
+ },
605
+ paramsSerializer: { encode: encodeURIComponent },
606
+ };
607
+ }
608
+ /**
609
+ * @param id - The id of the user whose subscriptions are to be fetched.
610
+ * @param count - The number of subscriptions to fetch. Only works as a lower limit when used with a cursor.
611
+ * @param cursor - The cursor to the batch of subscriptions to fetch.
612
+ */
613
+ static subscriptions(id, count, cursor) {
614
+ return {
615
+ method: 'get',
616
+ url: 'https://x.com/i/api/graphql/UWlxAhUnBNK0BYmeqNPqAw/UserCreatorSubscriptions',
617
+ params: {
618
+ /* eslint-disable @typescript-eslint/naming-convention */
619
+ variables: JSON.stringify({
620
+ userId: id,
621
+ count: count,
622
+ cursor: cursor,
623
+ includePromotedContent: false,
624
+ }),
625
+ features: JSON.stringify({
626
+ responsive_web_graphql_exclude_directive_enabled: true,
627
+ verified_phone_label_enabled: true,
628
+ creator_subscriptions_tweet_preview_api_enabled: true,
629
+ responsive_web_graphql_timeline_navigation_enabled: true,
630
+ responsive_web_graphql_skip_user_profile_image_extensions_enabled: false,
631
+ c9s_tweet_anatomy_moderator_badge_enabled: true,
632
+ tweetypie_unmention_optimization_enabled: true,
633
+ responsive_web_edit_tweet_api_enabled: true,
634
+ graphql_is_translatable_rweb_tweet_is_translatable_enabled: true,
635
+ view_counts_everywhere_api_enabled: true,
636
+ longform_notetweets_consumption_enabled: true,
637
+ responsive_web_twitter_article_tweet_consumption_enabled: true,
638
+ tweet_awards_web_tipping_enabled: false,
639
+ freedom_of_speech_not_reach_fetch_enabled: true,
640
+ standardized_nudges_misinfo: true,
641
+ tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled: true,
642
+ rweb_video_timestamps_enabled: true,
643
+ longform_notetweets_rich_text_read_enabled: true,
644
+ longform_notetweets_inline_media_enabled: true,
645
+ responsive_web_enhance_cards_enabled: false,
646
+ }),
647
+ /* eslint-enable @typescript-eslint/naming-convention */
648
+ },
649
+ paramsSerializer: { encode: encodeURIComponent },
650
+ };
651
+ }
652
+ /**
653
+ * @param id - The id of the user whose timeline tweets are to be fetched.
654
+ * @param count - The number of timeline tweets to fetch. Only works as a lower limit when used with a cursor.
655
+ * @param cursor - The cursor to the batch of timeline tweets to fetch.
656
+ */
657
+ static tweets(id, count, cursor) {
658
+ return {
659
+ method: 'get',
660
+ url: 'https://x.com/i/api/graphql/9bXBrlmUXOHFZEq0DuvYWA/UserTweets',
661
+ params: {
662
+ /* eslint-disable @typescript-eslint/naming-convention */
663
+ variables: JSON.stringify({
664
+ userId: id,
665
+ count: count,
666
+ cursor: cursor,
667
+ includePromotedContent: false,
668
+ withQuickPromoteEligibilityTweetFields: false,
669
+ withVoice: false,
670
+ withV2Timeline: false,
671
+ }),
672
+ features: JSON.stringify({
673
+ responsive_web_graphql_exclude_directive_enabled: true,
674
+ verified_phone_label_enabled: true,
675
+ responsive_web_home_pinned_timelines_enabled: false,
676
+ creator_subscriptions_tweet_preview_api_enabled: true,
677
+ responsive_web_graphql_timeline_navigation_enabled: true,
678
+ responsive_web_graphql_skip_user_profile_image_extensions_enabled: false,
679
+ tweetypie_unmention_optimization_enabled: true,
680
+ responsive_web_edit_tweet_api_enabled: true,
681
+ graphql_is_translatable_rweb_tweet_is_translatable_enabled: true,
682
+ view_counts_everywhere_api_enabled: true,
683
+ longform_notetweets_consumption_enabled: true,
684
+ responsive_web_twitter_article_tweet_consumption_enabled: false,
685
+ tweet_awards_web_tipping_enabled: false,
686
+ freedom_of_speech_not_reach_fetch_enabled: true,
687
+ standardized_nudges_misinfo: true,
688
+ tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled: true,
689
+ longform_notetweets_rich_text_read_enabled: true,
690
+ longform_notetweets_inline_media_enabled: true,
691
+ responsive_web_media_download_video_enabled: false,
692
+ responsive_web_enhance_cards_enabled: false,
693
+ }),
694
+ /* eslint-enable @typescript-eslint/naming-convention */
695
+ },
696
+ paramsSerializer: { encode: encodeURIComponent },
697
+ };
698
+ }
699
+ /**
700
+ * @param id - The id of the user whose timeline tweets and replies are to be fetched.
701
+ * @param count - The number of timeline tweets and replies to fetch. Only works as a lower limit when used with a cursor.
702
+ * @param cursor - The cursor to the batch of timeline tweets and replies to fetch.
703
+ */
704
+ static tweetsAndReplies(id, count, cursor) {
705
+ return {
706
+ method: 'get',
707
+ url: 'https://x.com/i/api/graphql/JFsmXeZ0h-hs934UFSfayw/UserTweetsAndReplies',
708
+ params: {
709
+ /* eslint-disable @typescript-eslint/naming-convention */
710
+ variables: JSON.stringify({
711
+ userId: id,
712
+ count: count,
713
+ cursor: cursor,
714
+ includePromotedContent: false,
715
+ withCommunity: false,
716
+ withVoice: false,
717
+ withV2Timeline: false,
718
+ }),
719
+ features: JSON.stringify({
720
+ responsive_web_graphql_exclude_directive_enabled: true,
721
+ verified_phone_label_enabled: true,
722
+ responsive_web_home_pinned_timelines_enabled: true,
723
+ creator_subscriptions_tweet_preview_api_enabled: true,
724
+ responsive_web_graphql_timeline_navigation_enabled: true,
725
+ responsive_web_graphql_skip_user_profile_image_extensions_enabled: false,
726
+ tweetypie_unmention_optimization_enabled: true,
727
+ responsive_web_edit_tweet_api_enabled: true,
728
+ graphql_is_translatable_rweb_tweet_is_translatable_enabled: true,
729
+ view_counts_everywhere_api_enabled: true,
730
+ longform_notetweets_consumption_enabled: true,
731
+ responsive_web_twitter_article_tweet_consumption_enabled: false,
732
+ tweet_awards_web_tipping_enabled: false,
733
+ freedom_of_speech_not_reach_fetch_enabled: true,
734
+ standardized_nudges_misinfo: true,
735
+ tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled: true,
736
+ longform_notetweets_rich_text_read_enabled: true,
737
+ longform_notetweets_inline_media_enabled: true,
738
+ responsive_web_media_download_video_enabled: false,
739
+ responsive_web_enhance_cards_enabled: false,
740
+ }),
741
+ /* eslint-enable @typescript-eslint/naming-convention */
742
+ },
743
+ paramsSerializer: { encode: encodeURIComponent },
744
+ };
745
+ }
746
+ /**
747
+ * @param id - The id of the user to be unfollowed.
748
+ */
749
+ static unfollow(id) {
750
+ return {
751
+ method: 'post',
752
+ url: 'https://x.com/i/api/1.1/friendships/destroy.json',
753
+ data: querystring_1.default.stringify({
754
+ /* eslint-disable @typescript-eslint/naming-convention */
755
+ user_id: id,
756
+ /* eslint-enable @typescript-eslint/naming-convention */
757
+ }),
758
+ };
759
+ }
760
+ }
761
+ exports.UserRequests = UserRequests;
762
+ //# sourceMappingURL=User.js.map