x-twitter-scraper 0.12.4 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (466) hide show
  1. package/CHANGELOG.md +65 -0
  2. package/README.md +30 -9
  3. package/client.d.mts +18 -15
  4. package/client.d.mts.map +1 -1
  5. package/client.d.ts +18 -15
  6. package/client.d.ts.map +1 -1
  7. package/client.js +3 -3
  8. package/client.js.map +1 -1
  9. package/client.mjs +4 -4
  10. package/client.mjs.map +1 -1
  11. package/core/streaming.d.mts +33 -0
  12. package/core/streaming.d.mts.map +1 -0
  13. package/core/streaming.d.ts +33 -0
  14. package/core/streaming.d.ts.map +1 -0
  15. package/core/streaming.js +270 -0
  16. package/core/streaming.js.map +1 -0
  17. package/core/streaming.mjs +265 -0
  18. package/core/streaming.mjs.map +1 -0
  19. package/internal/decoders/line.d.mts +17 -0
  20. package/internal/decoders/line.d.mts.map +1 -0
  21. package/internal/decoders/line.d.ts +17 -0
  22. package/internal/decoders/line.d.ts.map +1 -0
  23. package/internal/decoders/line.js +116 -0
  24. package/internal/decoders/line.js.map +1 -0
  25. package/internal/decoders/line.mjs +111 -0
  26. package/internal/decoders/line.mjs.map +1 -0
  27. package/internal/parse.d.mts.map +1 -1
  28. package/internal/parse.d.ts.map +1 -1
  29. package/internal/parse.js +7 -0
  30. package/internal/parse.js.map +1 -1
  31. package/internal/parse.mjs +7 -0
  32. package/internal/parse.mjs.map +1 -1
  33. package/internal/tslib.js +18 -18
  34. package/package.json +23 -5
  35. package/resources/account.d.mts +35 -12
  36. package/resources/account.d.mts.map +1 -1
  37. package/resources/account.d.ts +35 -12
  38. package/resources/account.d.ts.map +1 -1
  39. package/resources/account.js +4 -3
  40. package/resources/account.js.map +1 -1
  41. package/resources/account.mjs +4 -3
  42. package/resources/account.mjs.map +1 -1
  43. package/resources/compose.d.mts +77 -21
  44. package/resources/compose.d.mts.map +1 -1
  45. package/resources/compose.d.ts +77 -21
  46. package/resources/compose.d.ts.map +1 -1
  47. package/resources/compose.js +3 -4
  48. package/resources/compose.js.map +1 -1
  49. package/resources/compose.mjs +3 -4
  50. package/resources/compose.mjs.map +1 -1
  51. package/resources/credits.d.mts +18 -10
  52. package/resources/credits.d.mts.map +1 -1
  53. package/resources/credits.d.ts +18 -10
  54. package/resources/credits.d.ts.map +1 -1
  55. package/resources/credits.js +5 -4
  56. package/resources/credits.js.map +1 -1
  57. package/resources/credits.mjs +5 -4
  58. package/resources/credits.mjs.map +1 -1
  59. package/resources/drafts.d.mts +13 -17
  60. package/resources/drafts.d.mts.map +1 -1
  61. package/resources/drafts.d.ts +13 -17
  62. package/resources/drafts.d.ts.map +1 -1
  63. package/resources/drafts.js +4 -4
  64. package/resources/drafts.mjs +4 -4
  65. package/resources/draws.d.mts +84 -28
  66. package/resources/draws.d.mts.map +1 -1
  67. package/resources/draws.d.ts +84 -28
  68. package/resources/draws.d.ts.map +1 -1
  69. package/resources/draws.js +24 -9
  70. package/resources/draws.js.map +1 -1
  71. package/resources/draws.mjs +24 -9
  72. package/resources/draws.mjs.map +1 -1
  73. package/resources/events.d.mts +2564 -21
  74. package/resources/events.d.mts.map +1 -1
  75. package/resources/events.d.ts +2564 -21
  76. package/resources/events.d.ts.map +1 -1
  77. package/resources/events.js +34 -2
  78. package/resources/events.js.map +1 -1
  79. package/resources/events.mjs +34 -2
  80. package/resources/events.mjs.map +1 -1
  81. package/resources/extractions.d.mts +410 -128
  82. package/resources/extractions.d.mts.map +1 -1
  83. package/resources/extractions.d.ts +410 -128
  84. package/resources/extractions.d.ts.map +1 -1
  85. package/resources/extractions.js +74 -12
  86. package/resources/extractions.js.map +1 -1
  87. package/resources/extractions.mjs +74 -12
  88. package/resources/extractions.mjs.map +1 -1
  89. package/resources/guest-wallets.d.mts +6 -5
  90. package/resources/guest-wallets.d.mts.map +1 -1
  91. package/resources/guest-wallets.d.ts +6 -5
  92. package/resources/guest-wallets.d.ts.map +1 -1
  93. package/resources/guest-wallets.js +2 -1
  94. package/resources/guest-wallets.js.map +1 -1
  95. package/resources/guest-wallets.mjs +2 -1
  96. package/resources/guest-wallets.mjs.map +1 -1
  97. package/resources/index.d.mts +6 -6
  98. package/resources/index.d.mts.map +1 -1
  99. package/resources/index.d.ts +6 -6
  100. package/resources/index.d.ts.map +1 -1
  101. package/resources/index.js.map +1 -1
  102. package/resources/index.mjs +1 -1
  103. package/resources/index.mjs.map +1 -1
  104. package/resources/monitors/index.d.mts +2 -2
  105. package/resources/monitors/index.d.mts.map +1 -1
  106. package/resources/monitors/index.d.ts +2 -2
  107. package/resources/monitors/index.d.ts.map +1 -1
  108. package/resources/monitors/index.js.map +1 -1
  109. package/resources/monitors/index.mjs.map +1 -1
  110. package/resources/monitors/keywords.d.mts +66 -14
  111. package/resources/monitors/keywords.d.mts.map +1 -1
  112. package/resources/monitors/keywords.d.ts +66 -14
  113. package/resources/monitors/keywords.d.ts.map +1 -1
  114. package/resources/monitors/keywords.js +16 -10
  115. package/resources/monitors/keywords.js.map +1 -1
  116. package/resources/monitors/keywords.mjs +16 -10
  117. package/resources/monitors/keywords.mjs.map +1 -1
  118. package/resources/monitors/monitors.d.mts +53 -16
  119. package/resources/monitors/monitors.d.mts.map +1 -1
  120. package/resources/monitors/monitors.d.ts +53 -16
  121. package/resources/monitors/monitors.d.ts.map +1 -1
  122. package/resources/monitors/monitors.js +12 -10
  123. package/resources/monitors/monitors.js.map +1 -1
  124. package/resources/monitors/monitors.mjs +12 -10
  125. package/resources/monitors/monitors.mjs.map +1 -1
  126. package/resources/radar.d.mts +32 -36
  127. package/resources/radar.d.mts.map +1 -1
  128. package/resources/radar.d.ts +32 -36
  129. package/resources/radar.d.ts.map +1 -1
  130. package/resources/radar.js +1 -1
  131. package/resources/radar.mjs +1 -1
  132. package/resources/shared.d.mts +1726 -233
  133. package/resources/shared.d.mts.map +1 -1
  134. package/resources/shared.d.ts +1726 -233
  135. package/resources/shared.d.ts.map +1 -1
  136. package/resources/styles.d.mts +34 -23
  137. package/resources/styles.d.mts.map +1 -1
  138. package/resources/styles.d.ts +34 -23
  139. package/resources/styles.d.ts.map +1 -1
  140. package/resources/styles.js +11 -13
  141. package/resources/styles.js.map +1 -1
  142. package/resources/styles.mjs +11 -13
  143. package/resources/styles.mjs.map +1 -1
  144. package/resources/subscribe.d.mts +1 -1
  145. package/resources/subscribe.d.ts +1 -1
  146. package/resources/subscribe.js +1 -1
  147. package/resources/subscribe.mjs +1 -1
  148. package/resources/support/index.d.mts +1 -1
  149. package/resources/support/index.d.mts.map +1 -1
  150. package/resources/support/index.d.ts +1 -1
  151. package/resources/support/index.d.ts.map +1 -1
  152. package/resources/support/index.js.map +1 -1
  153. package/resources/support/index.mjs.map +1 -1
  154. package/resources/support/support.d.mts +2 -2
  155. package/resources/support/support.d.mts.map +1 -1
  156. package/resources/support/support.d.ts +2 -2
  157. package/resources/support/support.d.ts.map +1 -1
  158. package/resources/support/support.js.map +1 -1
  159. package/resources/support/support.mjs.map +1 -1
  160. package/resources/support/tickets.d.mts +30 -10
  161. package/resources/support/tickets.d.mts.map +1 -1
  162. package/resources/support/tickets.d.ts +30 -10
  163. package/resources/support/tickets.d.ts.map +1 -1
  164. package/resources/support/tickets.js +7 -7
  165. package/resources/support/tickets.js.map +1 -1
  166. package/resources/support/tickets.mjs +7 -7
  167. package/resources/support/tickets.mjs.map +1 -1
  168. package/resources/trends.d.mts +21 -5
  169. package/resources/trends.d.mts.map +1 -1
  170. package/resources/trends.d.ts +21 -5
  171. package/resources/trends.d.ts.map +1 -1
  172. package/resources/trends.js +2 -1
  173. package/resources/trends.js.map +1 -1
  174. package/resources/trends.mjs +2 -1
  175. package/resources/trends.mjs.map +1 -1
  176. package/resources/webhooks.d.mts +80 -14
  177. package/resources/webhooks.d.mts.map +1 -1
  178. package/resources/webhooks.d.ts +80 -14
  179. package/resources/webhooks.d.ts.map +1 -1
  180. package/resources/webhooks.js +30 -11
  181. package/resources/webhooks.js.map +1 -1
  182. package/resources/webhooks.mjs +30 -11
  183. package/resources/webhooks.mjs.map +1 -1
  184. package/resources/x/account-connection-attempts.d.mts +1 -1
  185. package/resources/x/account-connection-attempts.d.ts +1 -1
  186. package/resources/x/account-connection-attempts.js +1 -1
  187. package/resources/x/account-connection-attempts.mjs +1 -1
  188. package/resources/x/account-connection-challenges.d.mts +30 -11
  189. package/resources/x/account-connection-challenges.d.mts.map +1 -1
  190. package/resources/x/account-connection-challenges.d.ts +30 -11
  191. package/resources/x/account-connection-challenges.d.ts.map +1 -1
  192. package/resources/x/account-connection-challenges.js +5 -4
  193. package/resources/x/account-connection-challenges.js.map +1 -1
  194. package/resources/x/account-connection-challenges.mjs +5 -4
  195. package/resources/x/account-connection-challenges.mjs.map +1 -1
  196. package/resources/x/accounts.d.mts +38 -10
  197. package/resources/x/accounts.d.mts.map +1 -1
  198. package/resources/x/accounts.d.ts +38 -10
  199. package/resources/x/accounts.d.ts.map +1 -1
  200. package/resources/x/accounts.js +8 -7
  201. package/resources/x/accounts.js.map +1 -1
  202. package/resources/x/accounts.mjs +8 -7
  203. package/resources/x/accounts.mjs.map +1 -1
  204. package/resources/x/analysis.d.mts +3274 -0
  205. package/resources/x/analysis.d.mts.map +1 -0
  206. package/resources/x/analysis.d.ts +3274 -0
  207. package/resources/x/analysis.d.ts.map +1 -0
  208. package/resources/x/analysis.js +132 -0
  209. package/resources/x/analysis.js.map +1 -0
  210. package/resources/x/analysis.mjs +128 -0
  211. package/resources/x/analysis.mjs.map +1 -0
  212. package/resources/x/bookmarks.d.mts +84 -9
  213. package/resources/x/bookmarks.d.mts.map +1 -1
  214. package/resources/x/bookmarks.d.ts +84 -9
  215. package/resources/x/bookmarks.d.ts.map +1 -1
  216. package/resources/x/bookmarks.js +6 -4
  217. package/resources/x/bookmarks.js.map +1 -1
  218. package/resources/x/bookmarks.mjs +6 -4
  219. package/resources/x/bookmarks.mjs.map +1 -1
  220. package/resources/x/broadcasts.d.mts +176 -0
  221. package/resources/x/broadcasts.d.mts.map +1 -0
  222. package/resources/x/broadcasts.d.ts +176 -0
  223. package/resources/x/broadcasts.d.ts.map +1 -0
  224. package/resources/x/broadcasts.js +29 -0
  225. package/resources/x/broadcasts.js.map +1 -0
  226. package/resources/x/broadcasts.mjs +25 -0
  227. package/resources/x/broadcasts.mjs.map +1 -0
  228. package/resources/x/communities/communities.d.mts +612 -128
  229. package/resources/x/communities/communities.d.mts.map +1 -1
  230. package/resources/x/communities/communities.d.ts +612 -128
  231. package/resources/x/communities/communities.d.ts.map +1 -1
  232. package/resources/x/communities/communities.js +96 -17
  233. package/resources/x/communities/communities.js.map +1 -1
  234. package/resources/x/communities/communities.mjs +96 -17
  235. package/resources/x/communities/communities.mjs.map +1 -1
  236. package/resources/x/communities/index.d.mts +2 -1
  237. package/resources/x/communities/index.d.mts.map +1 -1
  238. package/resources/x/communities/index.d.ts +2 -1
  239. package/resources/x/communities/index.d.ts.map +1 -1
  240. package/resources/x/communities/index.js +3 -1
  241. package/resources/x/communities/index.js.map +1 -1
  242. package/resources/x/communities/index.mjs +1 -0
  243. package/resources/x/communities/index.mjs.map +1 -1
  244. package/resources/x/communities/join.d.mts +46 -25
  245. package/resources/x/communities/join.d.mts.map +1 -1
  246. package/resources/x/communities/join.d.ts +46 -25
  247. package/resources/x/communities/join.d.ts.map +1 -1
  248. package/resources/x/communities/join.js +10 -7
  249. package/resources/x/communities/join.js.map +1 -1
  250. package/resources/x/communities/join.mjs +10 -7
  251. package/resources/x/communities/join.mjs.map +1 -1
  252. package/resources/x/communities/media.d.mts +197 -0
  253. package/resources/x/communities/media.d.mts.map +1 -0
  254. package/resources/x/communities/media.d.ts +197 -0
  255. package/resources/x/communities/media.d.ts.map +1 -0
  256. package/resources/x/communities/media.js +29 -0
  257. package/resources/x/communities/media.js.map +1 -0
  258. package/resources/x/communities/media.mjs +25 -0
  259. package/resources/x/communities/media.mjs.map +1 -0
  260. package/resources/x/communities/tweets.d.mts +350 -20
  261. package/resources/x/communities/tweets.d.mts.map +1 -1
  262. package/resources/x/communities/tweets.d.ts +350 -20
  263. package/resources/x/communities/tweets.d.ts.map +1 -1
  264. package/resources/x/communities/tweets.js +8 -7
  265. package/resources/x/communities/tweets.js.map +1 -1
  266. package/resources/x/communities/tweets.mjs +8 -7
  267. package/resources/x/communities/tweets.mjs.map +1 -1
  268. package/resources/x/dm.d.mts +245 -13
  269. package/resources/x/dm.d.mts.map +1 -1
  270. package/resources/x/dm.d.ts +245 -13
  271. package/resources/x/dm.d.ts.map +1 -1
  272. package/resources/x/dm.js +29 -2
  273. package/resources/x/dm.js.map +1 -1
  274. package/resources/x/dm.mjs +29 -2
  275. package/resources/x/dm.mjs.map +1 -1
  276. package/resources/x/followers.d.mts +31 -3
  277. package/resources/x/followers.d.mts.map +1 -1
  278. package/resources/x/followers.d.ts +31 -3
  279. package/resources/x/followers.d.ts.map +1 -1
  280. package/resources/x/followers.js +2 -1
  281. package/resources/x/followers.js.map +1 -1
  282. package/resources/x/followers.mjs +2 -1
  283. package/resources/x/followers.mjs.map +1 -1
  284. package/resources/x/index.d.mts +12 -8
  285. package/resources/x/index.d.mts.map +1 -1
  286. package/resources/x/index.d.ts +12 -8
  287. package/resources/x/index.d.ts.map +1 -1
  288. package/resources/x/index.js +9 -1
  289. package/resources/x/index.js.map +1 -1
  290. package/resources/x/index.mjs +5 -1
  291. package/resources/x/index.mjs.map +1 -1
  292. package/resources/x/jobs.d.mts +506 -0
  293. package/resources/x/jobs.d.mts.map +1 -0
  294. package/resources/x/jobs.d.ts +506 -0
  295. package/resources/x/jobs.d.ts.map +1 -0
  296. package/resources/x/jobs.js +60 -0
  297. package/resources/x/jobs.js.map +1 -0
  298. package/resources/x/jobs.mjs +56 -0
  299. package/resources/x/jobs.mjs.map +1 -0
  300. package/resources/x/lists.d.mts +1058 -27
  301. package/resources/x/lists.d.mts.map +1 -1
  302. package/resources/x/lists.d.ts +1058 -27
  303. package/resources/x/lists.d.ts.map +1 -1
  304. package/resources/x/lists.js +39 -9
  305. package/resources/x/lists.js.map +1 -1
  306. package/resources/x/lists.mjs +39 -9
  307. package/resources/x/lists.mjs.map +1 -1
  308. package/resources/x/media.d.mts +24 -13
  309. package/resources/x/media.d.mts.map +1 -1
  310. package/resources/x/media.d.ts +24 -13
  311. package/resources/x/media.d.ts.map +1 -1
  312. package/resources/x/media.js +2 -2
  313. package/resources/x/media.mjs +2 -2
  314. package/resources/x/profile.d.mts +60 -33
  315. package/resources/x/profile.d.mts.map +1 -1
  316. package/resources/x/profile.d.ts +60 -33
  317. package/resources/x/profile.d.ts.map +1 -1
  318. package/resources/x/profile.js +3 -3
  319. package/resources/x/profile.mjs +3 -3
  320. package/resources/x/spaces.d.mts +857 -0
  321. package/resources/x/spaces.d.mts.map +1 -0
  322. package/resources/x/spaces.d.ts +857 -0
  323. package/resources/x/spaces.d.ts.map +1 -0
  324. package/resources/x/spaces.js +58 -0
  325. package/resources/x/spaces.js.map +1 -0
  326. package/resources/x/spaces.mjs +54 -0
  327. package/resources/x/spaces.mjs.map +1 -0
  328. package/resources/x/tweets/index.d.mts +1 -1
  329. package/resources/x/tweets/index.d.mts.map +1 -1
  330. package/resources/x/tweets/index.d.ts +1 -1
  331. package/resources/x/tweets/index.d.ts.map +1 -1
  332. package/resources/x/tweets/index.js.map +1 -1
  333. package/resources/x/tweets/index.mjs.map +1 -1
  334. package/resources/x/tweets/like.d.mts +38 -20
  335. package/resources/x/tweets/like.d.mts.map +1 -1
  336. package/resources/x/tweets/like.d.ts +38 -20
  337. package/resources/x/tweets/like.d.ts.map +1 -1
  338. package/resources/x/tweets/like.js +2 -2
  339. package/resources/x/tweets/like.mjs +2 -2
  340. package/resources/x/tweets/retweet.d.mts +38 -20
  341. package/resources/x/tweets/retweet.d.mts.map +1 -1
  342. package/resources/x/tweets/retweet.d.ts +38 -20
  343. package/resources/x/tweets/retweet.d.ts.map +1 -1
  344. package/resources/x/tweets/retweet.js +2 -2
  345. package/resources/x/tweets/retweet.mjs +2 -2
  346. package/resources/x/tweets/tweets.d.mts +2639 -326
  347. package/resources/x/tweets/tweets.d.mts.map +1 -1
  348. package/resources/x/tweets/tweets.d.ts +2639 -326
  349. package/resources/x/tweets/tweets.d.ts.map +1 -1
  350. package/resources/x/tweets/tweets.js +147 -21
  351. package/resources/x/tweets/tweets.js.map +1 -1
  352. package/resources/x/tweets/tweets.mjs +147 -21
  353. package/resources/x/tweets/tweets.mjs.map +1 -1
  354. package/resources/x/users/follow.d.mts +38 -20
  355. package/resources/x/users/follow.d.mts.map +1 -1
  356. package/resources/x/users/follow.d.ts +38 -20
  357. package/resources/x/users/follow.d.ts.map +1 -1
  358. package/resources/x/users/follow.js +2 -2
  359. package/resources/x/users/follow.mjs +2 -2
  360. package/resources/x/users/index.d.mts +1 -1
  361. package/resources/x/users/index.d.mts.map +1 -1
  362. package/resources/x/users/index.d.ts +1 -1
  363. package/resources/x/users/index.d.ts.map +1 -1
  364. package/resources/x/users/index.js.map +1 -1
  365. package/resources/x/users/index.mjs.map +1 -1
  366. package/resources/x/users/users.d.mts +3068 -457
  367. package/resources/x/users/users.d.mts.map +1 -1
  368. package/resources/x/users/users.d.ts +3068 -457
  369. package/resources/x/users/users.d.ts.map +1 -1
  370. package/resources/x/users/users.js +205 -22
  371. package/resources/x/users/users.js.map +1 -1
  372. package/resources/x/users/users.mjs +205 -22
  373. package/resources/x/users/users.mjs.map +1 -1
  374. package/resources/x/write-actions.d.mts +13 -6
  375. package/resources/x/write-actions.d.mts.map +1 -1
  376. package/resources/x/write-actions.d.ts +13 -6
  377. package/resources/x/write-actions.d.ts.map +1 -1
  378. package/resources/x/write-actions.js +1 -1
  379. package/resources/x/write-actions.mjs +1 -1
  380. package/resources/x/x.d.mts +864 -27
  381. package/resources/x/x.d.mts.map +1 -1
  382. package/resources/x/x.d.ts +864 -27
  383. package/resources/x/x.d.ts.map +1 -1
  384. package/resources/x/x.js +78 -5
  385. package/resources/x/x.js.map +1 -1
  386. package/resources/x/x.mjs +80 -7
  387. package/resources/x/x.mjs.map +1 -1
  388. package/skills/x-twitter-scraper/SKILL.md +99 -344
  389. package/skills/x-twitter-scraper/metadata.json +2 -2
  390. package/skills/x-twitter-scraper/references/mcp-setup.md +12 -15
  391. package/skills/x-twitter-scraper/references/mcp-tools.md +105 -166
  392. package/skills/x-twitter-scraper/references/types-mcp-output-schemas.md +4 -4
  393. package/skills/x-twitter-scraper/references/types.md +0 -1
  394. package/skills/x-twitter-scraper/skill-card.md +5 -6
  395. package/skills/x-twitter-scraper/skillspector-report.md +6 -3
  396. package/skills/xquik-account-automation/LICENSE +21 -0
  397. package/skills/xquik-account-automation/SKILL.md +91 -0
  398. package/skills/xquik-social-research/SKILL.md +48 -55
  399. package/src/client.ts +47 -4
  400. package/src/core/streaming.ts +328 -0
  401. package/src/internal/decoders/line.ts +140 -0
  402. package/src/internal/parse.ts +9 -0
  403. package/src/resources/account.ts +41 -12
  404. package/src/resources/compose.ts +77 -21
  405. package/src/resources/credits.ts +19 -10
  406. package/src/resources/drafts.ts +13 -22
  407. package/src/resources/draws.ts +94 -36
  408. package/src/resources/events.ts +3225 -68
  409. package/src/resources/extractions.ts +512 -125
  410. package/src/resources/guest-wallets.ts +6 -5
  411. package/src/resources/index.ts +24 -1
  412. package/src/resources/monitors/index.ts +2 -0
  413. package/src/resources/monitors/keywords.ts +82 -14
  414. package/src/resources/monitors/monitors.ts +66 -14
  415. package/src/resources/radar.ts +32 -36
  416. package/src/resources/shared.ts +2227 -351
  417. package/src/resources/styles.ts +43 -27
  418. package/src/resources/subscribe.ts +1 -1
  419. package/src/resources/support/index.ts +1 -0
  420. package/src/resources/support/support.ts +2 -0
  421. package/src/resources/support/tickets.ts +38 -10
  422. package/src/resources/trends.ts +23 -5
  423. package/src/resources/webhooks.ts +109 -15
  424. package/src/resources/x/account-connection-attempts.ts +1 -1
  425. package/src/resources/x/account-connection-challenges.ts +39 -11
  426. package/src/resources/x/accounts.ts +46 -10
  427. package/src/resources/x/analysis.ts +3947 -0
  428. package/src/resources/x/bookmarks.ts +103 -9
  429. package/src/resources/x/broadcasts.ts +225 -0
  430. package/src/resources/x/communities/communities.ts +743 -141
  431. package/src/resources/x/communities/index.ts +9 -0
  432. package/src/resources/x/communities/join.ts +46 -23
  433. package/src/resources/x/communities/media.ts +251 -0
  434. package/src/resources/x/communities/tweets.ts +427 -20
  435. package/src/resources/x/dm.ts +334 -11
  436. package/src/resources/x/followers.ts +35 -3
  437. package/src/resources/x/index.ts +106 -1
  438. package/src/resources/x/jobs.ts +627 -0
  439. package/src/resources/x/lists.ts +1307 -28
  440. package/src/resources/x/media.ts +24 -12
  441. package/src/resources/x/profile.ts +60 -30
  442. package/src/resources/x/spaces.ts +1076 -0
  443. package/src/resources/x/tweets/index.ts +18 -0
  444. package/src/resources/x/tweets/like.ts +38 -18
  445. package/src/resources/x/tweets/retweet.ts +38 -18
  446. package/src/resources/x/tweets/tweets.ts +3695 -843
  447. package/src/resources/x/users/follow.ts +38 -18
  448. package/src/resources/x/users/index.ts +22 -0
  449. package/src/resources/x/users/users.ts +3687 -465
  450. package/src/resources/x/write-actions.ts +13 -5
  451. package/src/resources/x/x.ts +1227 -15
  452. package/src/streaming.ts +6 -0
  453. package/src/version.ts +1 -1
  454. package/streaming.d.mts +3 -0
  455. package/streaming.d.mts.map +1 -0
  456. package/streaming.d.ts +3 -0
  457. package/streaming.d.ts.map +1 -0
  458. package/streaming.js +9 -0
  459. package/streaming.js.map +1 -0
  460. package/streaming.mjs +6 -0
  461. package/streaming.mjs.map +1 -0
  462. package/version.d.mts +1 -1
  463. package/version.d.ts +1 -1
  464. package/version.js +1 -1
  465. package/version.mjs +1 -1
  466. package/skills/x-twitter-scraper/references/types-rest-api-vs-mcp-field-naming.md +0 -15
@@ -14,6 +14,8 @@ import {
14
14
  JoinDeleteAllParams,
15
15
  JoinDeleteAllResponse,
16
16
  } from './join';
17
+ import * as MediaAPI from './media';
18
+ import { Media, MediaListParams } from './media';
17
19
  import * as TweetsAPI from './tweets';
18
20
  import { TweetListByCommunityParams, TweetListParams, Tweets } from './tweets';
19
21
  import { APIPromise } from '../../../core/api-promise';
@@ -24,9 +26,10 @@ import { path } from '../../../internal/utils/path';
24
26
  export class Communities extends APIResource {
25
27
  join: JoinAPI.Join = new JoinAPI.Join(this._client);
26
28
  tweets: TweetsAPI.Tweets = new TweetsAPI.Tweets(this._client);
29
+ media: MediaAPI.Media = new MediaAPI.Media(this._client);
27
30
 
28
31
  /**
29
- * Create community
32
+ * Creates an X Community through a connected account.
30
33
  *
31
34
  * @example
32
35
  * ```ts
@@ -48,15 +51,18 @@ export class Communities extends APIResource {
48
51
  }
49
52
 
50
53
  /**
51
- * Delete community
54
+ * Deletes an owned X Community through a connected account.
52
55
  *
53
56
  * @example
54
57
  * ```ts
55
- * const community = await client.x.communities.delete('id', {
56
- * account: '@elonmusk',
57
- * community_name: 'Tesla Fans',
58
- * 'Idempotency-Key': 'Idempotency-Key',
59
- * });
58
+ * const community = await client.x.communities.delete(
59
+ * '1500000000000000000',
60
+ * {
61
+ * account: '@elonmusk',
62
+ * community_name: 'Tesla Fans',
63
+ * 'Idempotency-Key': 'Idempotency-Key',
64
+ * },
65
+ * );
60
66
  * ```
61
67
  */
62
68
  delete(
@@ -73,7 +79,76 @@ export class Communities extends APIResource {
73
79
  }
74
80
 
75
81
  /**
76
- * Get community name, description and member count
82
+ * Returns the communities X finds for a keyword, in X's order. Each community
83
+ * costs 1 credit. To search the tweets in Communities, use /x/communities/search.
84
+ *
85
+ * @example
86
+ * ```ts
87
+ * const communityPage = await client.x.communities.find({
88
+ * q: 'q',
89
+ * });
90
+ * ```
91
+ */
92
+ find(query: CommunityFindParams, options?: RequestOptions): APIPromise<Shared.CommunityPage> {
93
+ return this._client.get('/x/communities/find', { query, ...options });
94
+ }
95
+
96
+ /**
97
+ * Returns the communities X ranks highest under a topic or subtopic. Name it by
98
+ * topicId or by topic name from /x/communities/topics. Each community costs 1
99
+ * credit. A missing or unknown topic returns invalid_community_topic & lists the
100
+ * topic names.
101
+ *
102
+ * @example
103
+ * ```ts
104
+ * const communityPage =
105
+ * await client.x.communities.listPopular();
106
+ * ```
107
+ */
108
+ listPopular(
109
+ query: CommunityListPopularParams | null | undefined = {},
110
+ options?: RequestOptions,
111
+ ): APIPromise<Shared.CommunityPage> {
112
+ return this._client.get('/x/communities/popular', { query, ...options });
113
+ }
114
+
115
+ /**
116
+ * Returns the communities X suggests, with their full public fields. X picks them
117
+ * per request, so 2 calls can differ. If X suggests none, Xquik asks up to 2 more
118
+ * times. An empty list is free. Each community costs 1 credit.
119
+ *
120
+ * @example
121
+ * ```ts
122
+ * const response = await client.x.communities.listSuggested();
123
+ * ```
124
+ */
125
+ listSuggested(
126
+ query: CommunityListSuggestedParams | null | undefined = {},
127
+ options?: RequestOptions,
128
+ ): APIPromise<CommunityListSuggestedResponse> {
129
+ return this._client.get('/x/communities/suggested', { query, ...options });
130
+ }
131
+
132
+ /**
133
+ * Returns the community topics with their subtopics. Pass an ID as topicId, or a
134
+ * name as topic, to /x/communities/popular. Each top-level topic costs 1 credit,
135
+ * its subtopics included.
136
+ *
137
+ * @example
138
+ * ```ts
139
+ * const response = await client.x.communities.listTopics();
140
+ * ```
141
+ */
142
+ listTopics(
143
+ query: CommunityListTopicsParams | null | undefined = {},
144
+ options?: RequestOptions,
145
+ ): APIPromise<CommunityListTopicsResponse> {
146
+ return this._client.get('/x/communities/topics', { query, ...options });
147
+ }
148
+
149
+ /**
150
+ * Returns one community's public identity, rules, join question, search tags,
151
+ * membership counts, and the profiles of its creator, admin and previewed members.
77
152
  *
78
153
  * @example
79
154
  * ```ts
@@ -82,12 +157,16 @@ export class Communities extends APIResource {
82
157
  * );
83
158
  * ```
84
159
  */
85
- retrieveInfo(id: string, options?: RequestOptions): APIPromise<CommunityRetrieveInfoResponse> {
86
- return this._client.get(path`/x/communities/${id}/info`, options);
160
+ retrieveInfo(
161
+ id: string,
162
+ query: CommunityRetrieveInfoParams | null | undefined = {},
163
+ options?: RequestOptions,
164
+ ): APIPromise<CommunityRetrieveInfoResponse> {
165
+ return this._client.get(path`/x/communities/${id}/info`, { query, ...options });
87
166
  }
88
167
 
89
168
  /**
90
- * List members of a community
169
+ * Returns public member profiles for one community.
91
170
  *
92
171
  * @example
93
172
  * ```ts
@@ -104,7 +183,7 @@ export class Communities extends APIResource {
104
183
  }
105
184
 
106
185
  /**
107
- * List moderators of a community
186
+ * Returns public moderator profiles for one community.
108
187
  *
109
188
  * @example
110
189
  * ```ts
@@ -121,15 +200,14 @@ export class Communities extends APIResource {
121
200
  }
122
201
 
123
202
  /**
124
- * Returns tweets, not community records. Requires a Community ID.
203
+ * Returns one tweet page, not community records. Add communityId to search 1
204
+ * Community, or leave it out to search every Community. To find communities by
205
+ * keyword, use /x/communities/find.
125
206
  *
126
207
  * @example
127
208
  * ```ts
128
209
  * const paginatedTweets =
129
- * await client.x.communities.retrieveSearch({
130
- * communityId: '321669910225',
131
- * q: 'q',
132
- * });
210
+ * await client.x.communities.retrieveSearch({ q: 'q' });
133
211
  * ```
134
212
  */
135
213
  retrieveSearch(
@@ -138,12 +216,34 @@ export class Communities extends APIResource {
138
216
  ): APIPromise<Shared.PaginatedTweets> {
139
217
  return this._client.get('/x/communities/search', { query, ...options });
140
218
  }
219
+
220
+ /**
221
+ * Finds a community's members by name or username, as the search box on X's
222
+ * members page does. X checks up to 10 accounts that match, & the answer holds the
223
+ * members among them, each with its role. Each member costs 1 credit. An answer
224
+ * without members is free.
225
+ *
226
+ * @example
227
+ * ```ts
228
+ * const paginatedUsers =
229
+ * await client.x.communities.searchMembers('id', {
230
+ * q: 'q',
231
+ * });
232
+ * ```
233
+ */
234
+ searchMembers(
235
+ id: string,
236
+ query: CommunitySearchMembersParams,
237
+ options?: RequestOptions,
238
+ ): APIPromise<Shared.PaginatedUsers> {
239
+ return this._client.get(path`/x/communities/${id}/members/search`, { query, ...options });
240
+ }
141
241
  }
142
242
 
143
243
  /**
144
- * Durable write lifecycle record. Poll statusUrl until terminal is true. Reusing
145
- * the original Idempotency-Key returns this same record. Submit a new write only
146
- * when safeToRetry is true, using a new key.
244
+ * Durable write record. Poll statusUrl until terminal is true. Reusing its
245
+ * Idempotency-Key returns this record. Create another action only when safeToRetry
246
+ * is true.
147
247
  */
148
248
  export interface CommunityCreateResponse {
149
249
  id: string;
@@ -164,6 +264,7 @@ export interface CommunityCreateResponse {
164
264
  | 'unfollow'
165
265
  | 'remove_follower'
166
266
  | 'send_dm'
267
+ | 'delete_dm'
167
268
  | 'upload_media'
168
269
  | 'update_profile'
169
270
  | 'update_avatar'
@@ -208,7 +309,7 @@ export interface CommunityCreateResponse {
208
309
  retryable: boolean;
209
310
 
210
311
  /**
211
- * True only when no write was dispatched and a new idempotency key may be used.
312
+ * True only when X did not get the write and a new idempotency key may be used.
212
313
  */
213
314
  safeToRetry: boolean;
214
315
 
@@ -264,6 +365,10 @@ export interface CommunityCreateResponse {
264
365
  */
265
366
  expiresAt?: string;
266
367
 
368
+ /**
369
+ * True when this answers a retry of an earlier request with the same
370
+ * Idempotency-Key.
371
+ */
267
372
  idempotent?: boolean;
268
373
 
269
374
  /**
@@ -340,6 +445,9 @@ export namespace CommunityCreateResponse {
340
445
  export interface NextAction {
341
446
  type: 'poll' | 'retry' | 'verify_result' | 'fix_request';
342
447
 
448
+ /**
449
+ * Milliseconds to wait before you poll or retry.
450
+ */
343
451
  afterMs?: number;
344
452
 
345
453
  requiresNewIdempotencyKey?: boolean;
@@ -384,9 +492,9 @@ export namespace CommunityCreateResponse {
384
492
  }
385
493
 
386
494
  /**
387
- * Durable write lifecycle record. Poll statusUrl until terminal is true. Reusing
388
- * the original Idempotency-Key returns this same record. Submit a new write only
389
- * when safeToRetry is true, using a new key.
495
+ * Durable write record. Poll statusUrl until terminal is true. Reusing its
496
+ * Idempotency-Key returns this record. Create another action only when safeToRetry
497
+ * is true.
390
498
  */
391
499
  export interface CommunityDeleteResponse {
392
500
  id: string;
@@ -407,6 +515,7 @@ export interface CommunityDeleteResponse {
407
515
  | 'unfollow'
408
516
  | 'remove_follower'
409
517
  | 'send_dm'
518
+ | 'delete_dm'
410
519
  | 'upload_media'
411
520
  | 'update_profile'
412
521
  | 'update_avatar'
@@ -451,7 +560,7 @@ export interface CommunityDeleteResponse {
451
560
  retryable: boolean;
452
561
 
453
562
  /**
454
- * True only when no write was dispatched and a new idempotency key may be used.
563
+ * True only when X did not get the write and a new idempotency key may be used.
455
564
  */
456
565
  safeToRetry: boolean;
457
566
 
@@ -507,6 +616,10 @@ export interface CommunityDeleteResponse {
507
616
  */
508
617
  expiresAt?: string;
509
618
 
619
+ /**
620
+ * True when this answers a retry of an earlier request with the same
621
+ * Idempotency-Key.
622
+ */
510
623
  idempotent?: boolean;
511
624
 
512
625
  /**
@@ -583,6 +696,9 @@ export namespace CommunityDeleteResponse {
583
696
  export interface NextAction {
584
697
  type: 'poll' | 'retry' | 'verify_result' | 'fix_request';
585
698
 
699
+ /**
700
+ * Milliseconds to wait before you poll or retry.
701
+ */
586
702
  afterMs?: number;
587
703
 
588
704
  requiresNewIdempotencyKey?: boolean;
@@ -626,154 +742,237 @@ export namespace CommunityDeleteResponse {
626
742
  }
627
743
  }
628
744
 
629
- export interface CommunityRetrieveInfoResponse {
745
+ export interface CommunityListSuggestedResponse {
746
+ /**
747
+ * Suggested communities in X's order
748
+ */
749
+ communities: Array<Shared.Community>;
750
+
751
+ /**
752
+ * Communities returned & charged
753
+ */
754
+ count: number;
755
+
630
756
  /**
631
- * Community info object
757
+ * What to do next. Present only when X suggests none.
632
758
  */
633
- community: CommunityRetrieveInfoResponse.Community;
759
+ message?: string;
634
760
  }
635
761
 
636
- export namespace CommunityRetrieveInfoResponse {
762
+ export interface CommunityListTopicsResponse {
637
763
  /**
638
- * Community info object
764
+ * Top-level topics returned & charged
639
765
  */
640
- export interface Community {
641
- /**
642
- * Unique community identifier
643
- */
644
- id: string;
766
+ count: number;
645
767
 
646
- /**
647
- * Community banner image URL
648
- */
649
- banner_url?: string;
768
+ /**
769
+ * Topics in X's order
770
+ */
771
+ topics: Array<Shared.CommunityTopic>;
650
772
 
651
- /**
652
- * Community creation timestamp
653
- */
654
- created_at?: string;
773
+ /**
774
+ * What to do next. Present only when X lists no topic.
775
+ */
776
+ message?: string;
777
+ }
655
778
 
656
- creator?: Community.Creator;
779
+ export interface CommunityRetrieveInfoResponse {
780
+ /**
781
+ * Public X Community, as every Community read returns it.
782
+ */
783
+ community: Shared.Community;
784
+ }
657
785
 
658
- /**
659
- * About text for the community
660
- */
661
- description?: string;
786
+ export interface CommunityCreateParams {
787
+ /**
788
+ * Body param: X account (@username or ID) creating the community
789
+ */
790
+ account: string;
662
791
 
663
- /**
664
- * Invitation policy
665
- */
666
- invites_policy?: string;
792
+ /**
793
+ * Body param: Community name, 1 to 100 characters, as X takes it
794
+ */
795
+ name: string;
667
796
 
668
- /**
669
- * Whether the community is marked sensitive
670
- */
671
- is_nsfw?: boolean;
797
+ /**
798
+ * Header param: Use one unique value per intended write. Reuse it only for an
799
+ * identical retry. A matching retry returns the first answer again, with
800
+ * idempotent: true added. It keeps the first status, body & Retry-After. It sends
801
+ * nothing to X & charges nothing. While the first request runs, a retry returns
802
+ * 202 & the action. Different input returns 409. Protection lasts at least 90
803
+ * days.
804
+ */
805
+ 'Idempotency-Key': string;
672
806
 
673
- /**
674
- * Join policy (open or restricted)
675
- */
676
- join_policy?: string;
807
+ /**
808
+ * Body param: Community description
809
+ */
810
+ description?: string;
811
+ }
677
812
 
678
- /**
679
- * Total member count
680
- */
681
- member_count?: number;
813
+ export interface CommunityDeleteParams {
814
+ /**
815
+ * Body param: X account (@username or ID) deleting the community
816
+ */
817
+ account: string;
682
818
 
683
- /**
684
- * Total moderator count
685
- */
686
- moderator_count?: number;
819
+ /**
820
+ * Body param: Community name for confirmation
821
+ */
822
+ community_name: string;
687
823
 
688
- /**
689
- * Display name of the community
690
- */
691
- name?: string;
824
+ /**
825
+ * Header param: Use one unique value per intended write. Reuse it only for an
826
+ * identical retry. A matching retry returns the first answer again, with
827
+ * idempotent: true added. It keeps the first status, body & Retry-After. It sends
828
+ * nothing to X & charges nothing. While the first request runs, a retry returns
829
+ * 202 & the action. Different input returns 409. Protection lasts at least 90
830
+ * days.
831
+ */
832
+ 'Idempotency-Key': string;
833
+ }
692
834
 
693
- /**
694
- * Primary topic
695
- */
696
- primary_topic?: Community.PrimaryTopic;
835
+ export interface CommunityFindParams {
836
+ /**
837
+ * Keyword to find communities by, such as ai. Alias query.
838
+ */
839
+ q: string;
697
840
 
698
- /**
699
- * Community rules
700
- */
701
- rules?: Array<Community.Rule>;
702
- }
841
+ /**
842
+ * Pagination cursor for collection results. Also read as next_cursor, next_token,
843
+ * pagination_token or continuation_token.
844
+ */
845
+ cursor?: string;
703
846
 
704
- export namespace Community {
705
- export interface Creator {
706
- id: string;
847
+ /**
848
+ * Fields to keep in each row, comma-separated. Use dots for nested fields, such as
849
+ * author.username. A list keeps the field in each item. Case & underscores do not
850
+ * matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics
851
+ * always stay. An unknown name answers 400 unknown_field with the valid names,
852
+ * before any read. The price stays the same. SDK row types then hold only the
853
+ * named fields.
854
+ */
855
+ fields?: string;
707
856
 
708
- username: string;
857
+ /**
858
+ * Fields to drop from each row, comma-separated. It takes the same names as
859
+ * fields. With fields, it drops from the kept fields.
860
+ */
861
+ omit?: string;
709
862
 
710
- verified: boolean;
863
+ /**
864
+ * Items per page (1-100, default 20). Source, filters or credits can return fewer.
865
+ * Follow next_cursor for more pages. Aliases: limit, count, max_results, maxItems,
866
+ * max_items & per_page.
867
+ */
868
+ pageSize?: number;
869
+ }
711
870
 
712
- name?: string;
713
- }
871
+ export interface CommunityListPopularParams {
872
+ /**
873
+ * Pagination cursor for collection results. Also read as next_cursor, next_token,
874
+ * pagination_token or continuation_token.
875
+ */
876
+ cursor?: string;
714
877
 
715
- /**
716
- * Primary topic
717
- */
718
- export interface PrimaryTopic {
719
- id?: string;
878
+ /**
879
+ * Fields to keep in each row, comma-separated. Use dots for nested fields, such as
880
+ * author.username. A list keeps the field in each item. Case & underscores do not
881
+ * matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics
882
+ * always stay. An unknown name answers 400 unknown_field with the valid names,
883
+ * before any read. The price stays the same. SDK row types then hold only the
884
+ * named fields.
885
+ */
886
+ fields?: string;
720
887
 
721
- name?: string;
722
- }
888
+ /**
889
+ * Fields to drop from each row, comma-separated. It takes the same names as
890
+ * fields. With fields, it drops from the kept fields.
891
+ */
892
+ omit?: string;
723
893
 
724
- export interface Rule {
725
- id?: string;
894
+ /**
895
+ * Items per page (1-100, default 20). Source, filters or credits can return fewer.
896
+ * Follow next_cursor for more pages. Aliases: limit, count, max_results, maxItems,
897
+ * max_items & per_page.
898
+ */
899
+ pageSize?: number;
726
900
 
727
- description?: string;
901
+ /**
902
+ * Topic or subtopic name in any case, such as technology. Send this or topicId.
903
+ */
904
+ topic?: string;
728
905
 
729
- name?: string;
730
- }
731
- }
906
+ /**
907
+ * Topic or subtopic ID from /x/communities/topics, such as 301. Wins over topic.
908
+ */
909
+ topicId?: string;
732
910
  }
733
911
 
734
- export interface CommunityCreateParams {
912
+ export interface CommunityListSuggestedParams {
735
913
  /**
736
- * Body param: X account (@username or ID) creating the community
914
+ * Fields to keep in each row, comma-separated. Use dots for nested fields, such as
915
+ * author.username. A list keeps the field in each item. Case & underscores do not
916
+ * matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics
917
+ * always stay. An unknown name answers 400 unknown_field with the valid names,
918
+ * before any read. The price stays the same. SDK row types then hold only the
919
+ * named fields.
737
920
  */
738
- account: string;
921
+ fields?: string;
739
922
 
740
923
  /**
741
- * Body param: Community name
924
+ * Maximum communities to return. Omit it for every suggestion. Credits can return
925
+ * fewer. Aliases pageSize, count, max_results, maxItems, max_items & per_page.
742
926
  */
743
- name: string;
927
+ limit?: number;
744
928
 
745
929
  /**
746
- * Header param: Generate one unique value for each intended write. Reuse it only
747
- * when retrying the exact same account, action, target, and payload. A reused key
748
- * returns the original action. Reusing it with different input returns 409. Replay
749
- * protection remains active for at least 90 days.
930
+ * Fields to drop from each row, comma-separated. It takes the same names as
931
+ * fields. With fields, it drops from the kept fields.
750
932
  */
751
- 'Idempotency-Key': string;
933
+ omit?: string;
934
+ }
752
935
 
936
+ export interface CommunityListTopicsParams {
753
937
  /**
754
- * Body param: Community description
938
+ * Fields to keep in each row, comma-separated. Use dots for nested fields, such as
939
+ * author.username. A list keeps the field in each item. Case & underscores do not
940
+ * matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics
941
+ * always stay. An unknown name answers 400 unknown_field with the valid names,
942
+ * before any read. The price stays the same. SDK row types then hold only the
943
+ * named fields.
755
944
  */
756
- description?: string;
757
- }
945
+ fields?: string;
758
946
 
759
- export interface CommunityDeleteParams {
760
947
  /**
761
- * Body param: X account (@username or ID) deleting the community
948
+ * Maximum topics to return. Omit it for every topic. Credits can return fewer.
949
+ * Aliases pageSize, count, max_results, maxItems, max_items & per_page.
762
950
  */
763
- account: string;
951
+ limit?: number;
764
952
 
765
953
  /**
766
- * Body param: Community name for confirmation
954
+ * Fields to drop from each row, comma-separated. It takes the same names as
955
+ * fields. With fields, it drops from the kept fields.
767
956
  */
768
- community_name: string;
957
+ omit?: string;
958
+ }
769
959
 
960
+ export interface CommunityRetrieveInfoParams {
770
961
  /**
771
- * Header param: Generate one unique value for each intended write. Reuse it only
772
- * when retrying the exact same account, action, target, and payload. A reused key
773
- * returns the original action. Reusing it with different input returns 409. Replay
774
- * protection remains active for at least 90 days.
962
+ * Fields to keep in each row, comma-separated. Use dots for nested fields, such as
963
+ * author.username. A list keeps the field in each item. Case & underscores do not
964
+ * matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics
965
+ * always stay. An unknown name answers 400 unknown_field with the valid names,
966
+ * before any read. The price stays the same. SDK row types then hold only the
967
+ * named fields.
775
968
  */
776
- 'Idempotency-Key': string;
969
+ fields?: string;
970
+
971
+ /**
972
+ * Fields to drop from each row, comma-separated. It takes the same names as
973
+ * fields. With fields, it drops from the kept fields.
974
+ */
975
+ omit?: string;
777
976
  }
778
977
 
779
978
  export interface CommunityRetrieveMembersParams {
@@ -783,10 +982,43 @@ export interface CommunityRetrieveMembersParams {
783
982
  bioContains?: string;
784
983
 
785
984
  /**
786
- * Pagination cursor
985
+ * Only return profiles X marks as blue verified. X marks many business &
986
+ * government accounts blue too. Use verifiedType for 1 badge type.
987
+ */
988
+ blueVerifiedOnly?: boolean;
989
+
990
+ /**
991
+ * Only return profiles that publish an email outside free webmail, such as Gmail.
992
+ */
993
+ businessEmailOnly?: boolean;
994
+
995
+ /**
996
+ * Pagination cursor for collection results. Also read as next_cursor, next_token,
997
+ * pagination_token or continuation_token.
787
998
  */
788
999
  cursor?: string;
789
1000
 
1001
+ /**
1002
+ * Only return profiles with an email at one of these domains. Separate domains
1003
+ * with commas. Subdomains match.
1004
+ */
1005
+ emailDomains?: string;
1006
+
1007
+ /**
1008
+ * Fields to keep in each row, comma-separated. Use dots for nested fields, such as
1009
+ * author.username. A list keeps the field in each item. Case & underscores do not
1010
+ * matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics
1011
+ * always stay. An unknown name answers 400 unknown_field with the valid names,
1012
+ * before any read. The price stays the same. SDK row types then hold only the
1013
+ * named fields.
1014
+ */
1015
+ fields?: string;
1016
+
1017
+ /**
1018
+ * Only return profiles that publish an email.
1019
+ */
1020
+ hasEmail?: boolean;
1021
+
790
1022
  /**
791
1023
  * Only return profiles with a location.
792
1024
  */
@@ -808,7 +1040,7 @@ export interface CommunityRetrieveMembersParams {
808
1040
  maxFollowers?: number;
809
1041
 
810
1042
  /**
811
- * Maximum following count.
1043
+ * Profiles may follow at most this many accounts.
812
1044
  */
813
1045
  maxFollowing?: number;
814
1046
 
@@ -828,7 +1060,7 @@ export interface CommunityRetrieveMembersParams {
828
1060
  minFollowers?: number;
829
1061
 
830
1062
  /**
831
- * Minimum following count.
1063
+ * Profiles must follow at least this many accounts.
832
1064
  */
833
1065
  minFollowing?: number;
834
1066
 
@@ -838,9 +1070,13 @@ export interface CommunityRetrieveMembersParams {
838
1070
  minStatuses?: number;
839
1071
 
840
1072
  /**
841
- * Items per page (20-200, default 20). This is an upper bound for paid
842
- * authenticated calls: available usage balance can reduce the returned page size, and
843
- * zero affordable results returns 402 insufficient_credits.
1073
+ * Fields to drop from each row, comma-separated. It takes the same names as
1074
+ * fields. With fields, it drops from the kept fields.
1075
+ */
1076
+ omit?: string;
1077
+
1078
+ /**
1079
+ * Maximum user profiles per page (1-200, default 20).
844
1080
  */
845
1081
  pageSize?: number;
846
1082
 
@@ -867,10 +1103,43 @@ export interface CommunityRetrieveModeratorsParams {
867
1103
  bioContains?: string;
868
1104
 
869
1105
  /**
870
- * Pagination cursor for community moderators
1106
+ * Only return profiles X marks as blue verified. X marks many business &
1107
+ * government accounts blue too. Use verifiedType for 1 badge type.
1108
+ */
1109
+ blueVerifiedOnly?: boolean;
1110
+
1111
+ /**
1112
+ * Only return profiles that publish an email outside free webmail, such as Gmail.
1113
+ */
1114
+ businessEmailOnly?: boolean;
1115
+
1116
+ /**
1117
+ * Pagination cursor for collection results. Also read as next_cursor, next_token,
1118
+ * pagination_token or continuation_token.
871
1119
  */
872
1120
  cursor?: string;
873
1121
 
1122
+ /**
1123
+ * Only return profiles with an email at one of these domains. Separate domains
1124
+ * with commas. Subdomains match.
1125
+ */
1126
+ emailDomains?: string;
1127
+
1128
+ /**
1129
+ * Fields to keep in each row, comma-separated. Use dots for nested fields, such as
1130
+ * author.username. A list keeps the field in each item. Case & underscores do not
1131
+ * matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics
1132
+ * always stay. An unknown name answers 400 unknown_field with the valid names,
1133
+ * before any read. The price stays the same. SDK row types then hold only the
1134
+ * named fields.
1135
+ */
1136
+ fields?: string;
1137
+
1138
+ /**
1139
+ * Only return profiles that publish an email.
1140
+ */
1141
+ hasEmail?: boolean;
1142
+
874
1143
  /**
875
1144
  * Only return profiles with a location.
876
1145
  */
@@ -892,7 +1161,7 @@ export interface CommunityRetrieveModeratorsParams {
892
1161
  maxFollowers?: number;
893
1162
 
894
1163
  /**
895
- * Maximum following count.
1164
+ * Profiles may follow at most this many accounts.
896
1165
  */
897
1166
  maxFollowing?: number;
898
1167
 
@@ -912,7 +1181,7 @@ export interface CommunityRetrieveModeratorsParams {
912
1181
  minFollowers?: number;
913
1182
 
914
1183
  /**
915
- * Minimum following count.
1184
+ * Profiles must follow at least this many accounts.
916
1185
  */
917
1186
  minFollowing?: number;
918
1187
 
@@ -921,6 +1190,12 @@ export interface CommunityRetrieveModeratorsParams {
921
1190
  */
922
1191
  minStatuses?: number;
923
1192
 
1193
+ /**
1194
+ * Fields to drop from each row, comma-separated. It takes the same names as
1195
+ * fields. With fields, it drops from the kept fields.
1196
+ */
1197
+ omit?: string;
1198
+
924
1199
  /**
925
1200
  * Match a username substring, ignoring case.
926
1201
  */
@@ -939,24 +1214,163 @@ export interface CommunityRetrieveModeratorsParams {
939
1214
 
940
1215
  export interface CommunityRetrieveSearchParams {
941
1216
  /**
942
- * Numeric ID of the community whose posts to search
1217
+ * Search query
1218
+ */
1219
+ q: string;
1220
+
1221
+ /**
1222
+ * Words or quoted phrases where any one can match. Separate with spaces, commas,
1223
+ * or lines.
943
1224
  */
944
- communityId: string;
1225
+ anyWords?: string;
945
1226
 
946
1227
  /**
947
- * Search query
1228
+ * Only return tweets from Blue-verified authors.
948
1229
  */
949
- q: string;
1230
+ blueVerifiedOnly?: boolean;
1231
+
1232
+ /**
1233
+ * Cashtags separated by spaces, commas, or lines.
1234
+ */
1235
+ cashtags?: string;
1236
+
1237
+ /**
1238
+ * Numeric ID of the Community whose posts to search. Leave it out to search posts
1239
+ * across every Community.
1240
+ */
1241
+ communityId?: string;
1242
+
1243
+ /**
1244
+ * Conversation ID filter.
1245
+ */
1246
+ conversationId?: string;
950
1247
 
951
1248
  /**
952
- * Pagination cursor for community search
1249
+ * Pagination cursor for community search. Also read as next_cursor, next_token,
1250
+ * pagination_token or continuation_token.
953
1251
  */
954
1252
  cursor?: string;
955
1253
 
956
1254
  /**
957
- * Maximum page items (1-100, default 20). Source, filters, or credits can reduce
958
- * results. Continue while has_next_page is true. Deprecated limit and count
959
- * aliases remain accepted.
1255
+ * Match this literal phrase, including any hyphens.
1256
+ */
1257
+ exactPhrase?: string;
1258
+
1259
+ /**
1260
+ * Words or quoted phrases to exclude. Separate with spaces, commas, or lines.
1261
+ */
1262
+ excludeWords?: string;
1263
+
1264
+ /**
1265
+ * Fields to keep in each row, comma-separated. Use dots for nested fields, such as
1266
+ * author.username. A list keeps the field in each item. Case & underscores do not
1267
+ * matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics
1268
+ * always stay. An unknown name answers 400 unknown_field with the valid names,
1269
+ * before any read. The price stays the same. SDK row types then hold only the
1270
+ * named fields.
1271
+ */
1272
+ fields?: string;
1273
+
1274
+ /**
1275
+ * Filter by author username.
1276
+ */
1277
+ fromUser?: string;
1278
+
1279
+ /**
1280
+ * Hashtags separated by spaces, commas, or lines.
1281
+ */
1282
+ hashtags?: string;
1283
+
1284
+ /**
1285
+ * Only replies to this tweet ID.
1286
+ */
1287
+ inReplyToTweetId?: string;
1288
+
1289
+ /**
1290
+ * Filter by language. Alias `lang` is accepted.
1291
+ */
1292
+ language?: string;
1293
+
1294
+ /**
1295
+ * Maximum likes threshold. maxLikes & max_likes also work.
1296
+ */
1297
+ maxFaves?: number;
1298
+
1299
+ /**
1300
+ * Return Tweets at or below this ID.
1301
+ */
1302
+ maxId?: string;
1303
+
1304
+ /**
1305
+ * Maximum quotes threshold.
1306
+ */
1307
+ maxQuotes?: number;
1308
+
1309
+ /**
1310
+ * Maximum replies threshold.
1311
+ */
1312
+ maxReplies?: number;
1313
+
1314
+ /**
1315
+ * Maximum retweets threshold.
1316
+ */
1317
+ maxRetweets?: number;
1318
+
1319
+ /**
1320
+ * Filter media. Aliases: has_video, has_media.
1321
+ */
1322
+ mediaType?: 'images' | 'videos' | 'gifs' | 'media' | 'links' | 'none';
1323
+
1324
+ /**
1325
+ * Filter tweets mentioning a username.
1326
+ */
1327
+ mentioning?: string;
1328
+
1329
+ /**
1330
+ * Minimum bookmark count threshold.
1331
+ */
1332
+ minBookmarks?: number;
1333
+
1334
+ /**
1335
+ * Minimum likes. Aliases: minFaves, min_likes, min_faves.
1336
+ */
1337
+ minLikes?: number;
1338
+
1339
+ /**
1340
+ * Minimum quote count threshold.
1341
+ */
1342
+ minQuotes?: number;
1343
+
1344
+ /**
1345
+ * Minimum replies threshold.
1346
+ */
1347
+ minReplies?: number;
1348
+
1349
+ /**
1350
+ * Minimum retweets threshold.
1351
+ */
1352
+ minRetweets?: number;
1353
+
1354
+ /**
1355
+ * Minimum view count threshold.
1356
+ */
1357
+ minViews?: number;
1358
+
1359
+ /**
1360
+ * Only return native reposts.
1361
+ */
1362
+ nativeRetweets?: boolean;
1363
+
1364
+ /**
1365
+ * Fields to drop from each row, comma-separated. It takes the same names as
1366
+ * fields. With fields, it drops from the kept fields.
1367
+ */
1368
+ omit?: string;
1369
+
1370
+ /**
1371
+ * Items per page (1-100, default 20). Source, filters or credits can return fewer.
1372
+ * Follow next_cursor for more pages. Aliases: limit, count, max_results, maxItems,
1373
+ * max_items & per_page.
960
1374
  */
961
1375
  pageSize?: number;
962
1376
 
@@ -964,21 +1378,207 @@ export interface CommunityRetrieveSearchParams {
964
1378
  * Sort order (Latest or Top)
965
1379
  */
966
1380
  queryType?: 'Latest' | 'Top';
1381
+
1382
+ /**
1383
+ * Only when the caller requests a quote mode.
1384
+ */
1385
+ quotes?: 'include' | 'exclude' | 'only';
1386
+
1387
+ /**
1388
+ * Only quotes of this tweet ID.
1389
+ */
1390
+ quotesOfTweetId?: string;
1391
+
1392
+ /**
1393
+ * Reply mode. Exclude keeps own-thread replies.
1394
+ */
1395
+ replies?: 'include' | 'exclude' | 'only';
1396
+
1397
+ /**
1398
+ * Only when the caller requests a repost mode.
1399
+ */
1400
+ retweets?: 'include' | 'exclude' | 'only';
1401
+
1402
+ /**
1403
+ * Only retweets of this tweet ID.
1404
+ */
1405
+ retweetsOfTweetId?: string;
1406
+
1407
+ /**
1408
+ * Start date in YYYY-MM-DD format, as a UTC day.
1409
+ */
1410
+ sinceDate?: string;
1411
+
1412
+ /**
1413
+ * Return Tweets whose IDs exceed this ID.
1414
+ */
1415
+ sinceId?: string;
1416
+
1417
+ /**
1418
+ * Filter replies sent to a username.
1419
+ */
1420
+ toUser?: string;
1421
+
1422
+ /**
1423
+ * End date in YYYY-MM-DD format, as a UTC day, inclusive, so its own posts count.
1424
+ */
1425
+ untilDate?: string;
1426
+
1427
+ /**
1428
+ * URL substring or domain filter.
1429
+ */
1430
+ url?: string;
1431
+
1432
+ /**
1433
+ * Only return tweets from verified authors.
1434
+ */
1435
+ verifiedOnly?: boolean;
1436
+
1437
+ /**
1438
+ * Keeps Tweets from a recent window, such as 90m or 7d. Use a whole number & s, m,
1439
+ * h or d.
1440
+ */
1441
+ withinTime?: string;
1442
+ }
1443
+
1444
+ export interface CommunitySearchMembersParams {
1445
+ /**
1446
+ * Name or username to find members by, such as marckohlbrugge. A leading @ is
1447
+ * dropped. Alias query.
1448
+ */
1449
+ q: string;
1450
+
1451
+ /**
1452
+ * Match any comma-separated or line-separated bio term, ignoring case.
1453
+ */
1454
+ bioContains?: string;
1455
+
1456
+ /**
1457
+ * Only return profiles X marks as blue verified. X marks many business &
1458
+ * government accounts blue too. Use verifiedType for 1 badge type.
1459
+ */
1460
+ blueVerifiedOnly?: boolean;
1461
+
1462
+ /**
1463
+ * Only return profiles that publish an email outside free webmail, such as Gmail.
1464
+ */
1465
+ businessEmailOnly?: boolean;
1466
+
1467
+ /**
1468
+ * Only return profiles with an email at one of these domains. Separate domains
1469
+ * with commas. Subdomains match.
1470
+ */
1471
+ emailDomains?: string;
1472
+
1473
+ /**
1474
+ * Fields to keep in each row, comma-separated. Use dots for nested fields, such as
1475
+ * author.username. A list keeps the field in each item. Case & underscores do not
1476
+ * matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics
1477
+ * always stay. An unknown name answers 400 unknown_field with the valid names,
1478
+ * before any read. The price stays the same. SDK row types then hold only the
1479
+ * named fields.
1480
+ */
1481
+ fields?: string;
1482
+
1483
+ /**
1484
+ * Only return profiles that publish an email.
1485
+ */
1486
+ hasEmail?: boolean;
1487
+
1488
+ /**
1489
+ * Only return profiles with a location.
1490
+ */
1491
+ hasLocation?: boolean;
1492
+
1493
+ /**
1494
+ * Only return profiles with a website.
1495
+ */
1496
+ hasWebsite?: boolean;
1497
+
1498
+ /**
1499
+ * Match a location substring, ignoring case.
1500
+ */
1501
+ locationContains?: string;
1502
+
1503
+ /**
1504
+ * Maximum follower count. Missing counts pass this maximum.
1505
+ */
1506
+ maxFollowers?: number;
1507
+
1508
+ /**
1509
+ * Profiles may follow at most this many accounts.
1510
+ */
1511
+ maxFollowing?: number;
1512
+
1513
+ /**
1514
+ * Maximum post count. maxPosts is also accepted.
1515
+ */
1516
+ maxStatuses?: number;
1517
+
1518
+ /**
1519
+ * Minimum account age in whole days.
1520
+ */
1521
+ minAccountAgeDays?: number;
1522
+
1523
+ /**
1524
+ * Minimum follower count. Filtering happens before billing.
1525
+ */
1526
+ minFollowers?: number;
1527
+
1528
+ /**
1529
+ * Profiles must follow at least this many accounts.
1530
+ */
1531
+ minFollowing?: number;
1532
+
1533
+ /**
1534
+ * Minimum post count. minPosts is also accepted.
1535
+ */
1536
+ minStatuses?: number;
1537
+
1538
+ /**
1539
+ * Fields to drop from each row, comma-separated. It takes the same names as
1540
+ * fields. With fields, it drops from the kept fields.
1541
+ */
1542
+ omit?: string;
1543
+
1544
+ /**
1545
+ * Match a username substring, ignoring case.
1546
+ */
1547
+ usernameContains?: string;
1548
+
1549
+ /**
1550
+ * Only return verified profiles.
1551
+ */
1552
+ verifiedOnly?: boolean;
1553
+
1554
+ /**
1555
+ * Match the verification type exactly, ignoring case.
1556
+ */
1557
+ verifiedType?: string;
967
1558
  }
968
1559
 
969
1560
  Communities.Join = Join;
970
1561
  Communities.Tweets = Tweets;
1562
+ Communities.Media = Media;
971
1563
 
972
1564
  export declare namespace Communities {
973
1565
  export {
974
1566
  type CommunityCreateResponse as CommunityCreateResponse,
975
1567
  type CommunityDeleteResponse as CommunityDeleteResponse,
1568
+ type CommunityListSuggestedResponse as CommunityListSuggestedResponse,
1569
+ type CommunityListTopicsResponse as CommunityListTopicsResponse,
976
1570
  type CommunityRetrieveInfoResponse as CommunityRetrieveInfoResponse,
977
1571
  type CommunityCreateParams as CommunityCreateParams,
978
1572
  type CommunityDeleteParams as CommunityDeleteParams,
1573
+ type CommunityFindParams as CommunityFindParams,
1574
+ type CommunityListPopularParams as CommunityListPopularParams,
1575
+ type CommunityListSuggestedParams as CommunityListSuggestedParams,
1576
+ type CommunityListTopicsParams as CommunityListTopicsParams,
1577
+ type CommunityRetrieveInfoParams as CommunityRetrieveInfoParams,
979
1578
  type CommunityRetrieveMembersParams as CommunityRetrieveMembersParams,
980
1579
  type CommunityRetrieveModeratorsParams as CommunityRetrieveModeratorsParams,
981
1580
  type CommunityRetrieveSearchParams as CommunityRetrieveSearchParams,
1581
+ type CommunitySearchMembersParams as CommunitySearchMembersParams,
982
1582
  };
983
1583
 
984
1584
  export {
@@ -994,4 +1594,6 @@ export declare namespace Communities {
994
1594
  type TweetListParams as TweetListParams,
995
1595
  type TweetListByCommunityParams as TweetListByCommunityParams,
996
1596
  };
1597
+
1598
+ export { Media as Media, type MediaListParams as MediaListParams };
997
1599
  }