@fluxerjs/core 1.1.6 → 1.1.8

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 (505) hide show
  1. package/dist/Channel-2WNJ445K.mjs +17 -0
  2. package/dist/Channel-3TAZVAC5.mjs +21 -0
  3. package/dist/Channel-4WVFDOCG.mjs +22 -0
  4. package/dist/Channel-ADRBK5JN.mjs +19 -0
  5. package/dist/Channel-AMX4IOLY.mjs +20 -0
  6. package/dist/Channel-BEZOW4VC.mjs +17 -0
  7. package/dist/Channel-BLJMK4T5.mjs +19 -0
  8. package/dist/Channel-DPLLHL7Y.mjs +19 -0
  9. package/dist/Channel-DTJWTA4N.mjs +20 -0
  10. package/dist/Channel-ELXWZIY4.mjs +20 -0
  11. package/dist/Channel-EYNPKHH2.mjs +20 -0
  12. package/dist/Channel-EZAKOCLZ.mjs +19 -0
  13. package/dist/Channel-EZSBZJTJ.mjs +20 -0
  14. package/dist/Channel-HBKXUNL5.mjs +22 -0
  15. package/dist/Channel-HK7VT35N.mjs +22 -0
  16. package/dist/Channel-HM2UY4DN.mjs +17 -0
  17. package/dist/Channel-ICWNKXBR.mjs +19 -0
  18. package/dist/Channel-IESEJJGP.mjs +22 -0
  19. package/dist/Channel-IGCIDQB3.mjs +19 -0
  20. package/dist/Channel-IKL3SJXN.mjs +17 -0
  21. package/dist/Channel-JFQXR7SZ.mjs +22 -0
  22. package/dist/Channel-KILNV5V3.mjs +17 -0
  23. package/dist/Channel-KOTARBSF.mjs +17 -0
  24. package/dist/Channel-LPAK4B5K.mjs +20 -0
  25. package/dist/Channel-LXEGJ3BH.mjs +20 -0
  26. package/dist/Channel-MGABB7NZ.mjs +19 -0
  27. package/dist/Channel-MS2XLT5H.mjs +19 -0
  28. package/dist/Channel-MXKULRP2.mjs +19 -0
  29. package/dist/Channel-NBJUUPIA.mjs +22 -0
  30. package/dist/Channel-NFVAR3VH.mjs +19 -0
  31. package/dist/Channel-NKQB7NPD.mjs +20 -0
  32. package/dist/Channel-ON7O3D3M.mjs +17 -0
  33. package/dist/Channel-OSOB6ELO.mjs +19 -0
  34. package/dist/Channel-PCUCLDOG.mjs +22 -0
  35. package/dist/Channel-QEJBBSOB.mjs +20 -0
  36. package/dist/Channel-RB4X65FA.mjs +19 -0
  37. package/dist/Channel-SM7NMKEO.mjs +19 -0
  38. package/dist/Channel-TOAQGSRX.mjs +17 -0
  39. package/dist/Channel-UHN4IOM5.mjs +19 -0
  40. package/dist/Channel-UNCURQZU.mjs +19 -0
  41. package/dist/Channel-VENHOL7S.mjs +17 -0
  42. package/dist/Channel-VFCLGG5D.mjs +22 -0
  43. package/dist/Channel-WDHLDQJC.mjs +22 -0
  44. package/dist/Channel-WJZZSNML.mjs +21 -0
  45. package/dist/Channel-XUJNTC3R.mjs +21 -0
  46. package/dist/Channel-YB3LWDHZ.mjs +22 -0
  47. package/dist/Channel-YVGPVOVB.mjs +17 -0
  48. package/dist/Channel-ZABU3K5W.mjs +19 -0
  49. package/dist/Channel-ZNYZSC7R.mjs +20 -0
  50. package/dist/ClientUser-2OHUFUV5.mjs +9 -0
  51. package/dist/ClientUser-35IVTH2S.mjs +8 -0
  52. package/dist/ClientUser-4MC4EFLT.mjs +8 -0
  53. package/dist/ClientUser-4TYNCHEP.mjs +7 -0
  54. package/dist/ClientUser-576UGSIO.mjs +8 -0
  55. package/dist/ClientUser-5DS73MJV.mjs +8 -0
  56. package/dist/ClientUser-5NZXMF6I.mjs +8 -0
  57. package/dist/ClientUser-6HBAPU6H.mjs +8 -0
  58. package/dist/ClientUser-76LLHLHL.mjs +8 -0
  59. package/dist/ClientUser-7CQO74QQ.mjs +8 -0
  60. package/dist/ClientUser-A73AHVOW.mjs +8 -0
  61. package/dist/ClientUser-AJLODDUV.mjs +8 -0
  62. package/dist/ClientUser-ALGC4FNY.mjs +8 -0
  63. package/dist/ClientUser-BKDGVNAY.mjs +8 -0
  64. package/dist/ClientUser-CDU2QEMV.mjs +8 -0
  65. package/dist/ClientUser-D3ZNDAJU.mjs +8 -0
  66. package/dist/ClientUser-DJO2FS7P.mjs +8 -0
  67. package/dist/ClientUser-GBD34QB5.mjs +9 -0
  68. package/dist/ClientUser-GISPHEM6.mjs +8 -0
  69. package/dist/ClientUser-ISZ3MTSZ.mjs +8 -0
  70. package/dist/ClientUser-J6HQVSDJ.mjs +9 -0
  71. package/dist/ClientUser-JCRVGIJL.mjs +8 -0
  72. package/dist/ClientUser-JG4EX6F4.mjs +8 -0
  73. package/dist/ClientUser-K2T5J3YS.mjs +8 -0
  74. package/dist/ClientUser-KWOQRQPD.mjs +8 -0
  75. package/dist/ClientUser-LBK6K4YD.mjs +8 -0
  76. package/dist/ClientUser-LLL6WX35.mjs +8 -0
  77. package/dist/ClientUser-MOMS7WLQ.mjs +8 -0
  78. package/dist/ClientUser-N7ZXYAQ3.mjs +8 -0
  79. package/dist/ClientUser-OGDA7D77.mjs +8 -0
  80. package/dist/ClientUser-PXAAKR2P.mjs +8 -0
  81. package/dist/ClientUser-QBJLDW5Y.mjs +8 -0
  82. package/dist/ClientUser-QQXLZ5WP.mjs +8 -0
  83. package/dist/ClientUser-RDGNVUVQ.mjs +8 -0
  84. package/dist/ClientUser-RNDKHQ3Z.mjs +9 -0
  85. package/dist/ClientUser-RXOB6K6C.mjs +8 -0
  86. package/dist/ClientUser-TN2LZ6NT.mjs +8 -0
  87. package/dist/ClientUser-TRA2WERQ.mjs +8 -0
  88. package/dist/ClientUser-U5TR5GIT.mjs +8 -0
  89. package/dist/ClientUser-UKG5K744.mjs +8 -0
  90. package/dist/ClientUser-V43WRWTN.mjs +8 -0
  91. package/dist/ClientUser-VZ2JS6RD.mjs +8 -0
  92. package/dist/ClientUser-WFID4IXD.mjs +8 -0
  93. package/dist/ClientUser-WWXUMO5O.mjs +8 -0
  94. package/dist/ClientUser-XX2PE3TB.mjs +8 -0
  95. package/dist/ClientUser-YEZNAK3W.mjs +8 -0
  96. package/dist/ClientUser-YQXVRO2A.mjs +8 -0
  97. package/dist/ClientUser-ZDE7A36W.mjs +8 -0
  98. package/dist/Guild-2LUH7U7B.mjs +10 -0
  99. package/dist/Guild-2OVJTJYO.mjs +10 -0
  100. package/dist/Guild-2P77HBQM.mjs +11 -0
  101. package/dist/Guild-36EGAAEW.mjs +8 -0
  102. package/dist/Guild-3ETPHHF5.mjs +12 -0
  103. package/dist/Guild-3PLQFT2I.mjs +12 -0
  104. package/dist/Guild-5UBZNIGD.mjs +9 -0
  105. package/dist/Guild-63VQBPKF.mjs +11 -0
  106. package/dist/Guild-AA7WOQRM.mjs +12 -0
  107. package/dist/Guild-AJNEG7LH.mjs +10 -0
  108. package/dist/Guild-ARMAVVJK.mjs +10 -0
  109. package/dist/Guild-AYHGH54T.mjs +10 -0
  110. package/dist/Guild-BRYNE2LO.mjs +11 -0
  111. package/dist/Guild-CA3W6DOD.mjs +8 -0
  112. package/dist/Guild-EATTLGFJ.mjs +11 -0
  113. package/dist/Guild-F6JU3UR6.mjs +11 -0
  114. package/dist/Guild-FE3A7REJ.mjs +9 -0
  115. package/dist/Guild-FMBCTAV4.mjs +12 -0
  116. package/dist/Guild-FSGTZATW.mjs +12 -0
  117. package/dist/Guild-FSIEY6C5.mjs +11 -0
  118. package/dist/Guild-FTMIT5T5.mjs +10 -0
  119. package/dist/Guild-GIXJJBFM.mjs +9 -0
  120. package/dist/Guild-GOQZ7XP4.mjs +8 -0
  121. package/dist/Guild-H7AUG7DI.mjs +10 -0
  122. package/dist/Guild-I4O63HEY.mjs +12 -0
  123. package/dist/Guild-IRBC63IR.mjs +12 -0
  124. package/dist/Guild-ITSZV3DE.mjs +9 -0
  125. package/dist/Guild-K5AJM2C7.mjs +12 -0
  126. package/dist/Guild-KKIQCGCV.mjs +11 -0
  127. package/dist/Guild-L6OWKAO6.mjs +11 -0
  128. package/dist/Guild-MDW7KF33.mjs +12 -0
  129. package/dist/Guild-NAD5F5DP.mjs +12 -0
  130. package/dist/Guild-NHNQ5TIA.mjs +8 -0
  131. package/dist/Guild-OKTDQS5K.mjs +12 -0
  132. package/dist/Guild-PO5D3NEA.mjs +10 -0
  133. package/dist/Guild-PS2BCXNB.mjs +11 -0
  134. package/dist/Guild-RPQGTXB7.mjs +12 -0
  135. package/dist/Guild-RSNXYHFM.mjs +10 -0
  136. package/dist/Guild-RXGLAN54.mjs +12 -0
  137. package/dist/Guild-S3AOK72T.mjs +9 -0
  138. package/dist/Guild-S3YWFZTC.mjs +11 -0
  139. package/dist/Guild-S436SLOP.mjs +9 -0
  140. package/dist/Guild-TM6YGJWB.mjs +10 -0
  141. package/dist/Guild-TZOCAXXV.mjs +9 -0
  142. package/dist/Guild-WAFXK2EX.mjs +9 -0
  143. package/dist/Guild-WGZEW2AP.mjs +10 -0
  144. package/dist/Guild-WNPS7DBT.mjs +11 -0
  145. package/dist/Guild-WQA4CPDE.mjs +10 -0
  146. package/dist/Guild-XPOMHZZG.mjs +9 -0
  147. package/dist/Guild-ZOFF5LFR.mjs +8 -0
  148. package/dist/GuildBan-M4PA3HAA.mjs +7 -0
  149. package/dist/GuildEmoji-LP55RVIV.mjs +7 -0
  150. package/dist/GuildEmoji-OCXBPS6I.mjs +8 -0
  151. package/dist/GuildMember-3PC5QAU4.mjs +8 -0
  152. package/dist/GuildMember-43B5E5CH.mjs +9 -0
  153. package/dist/GuildMember-B7IFPCWC.mjs +9 -0
  154. package/dist/GuildMember-BJJNCL6W.mjs +8 -0
  155. package/dist/GuildMember-DW2N6ITI.mjs +7 -0
  156. package/dist/GuildMember-E72JU6JE.mjs +9 -0
  157. package/dist/GuildMember-FSGDPKUU.mjs +9 -0
  158. package/dist/GuildMember-FX2JAWES.mjs +8 -0
  159. package/dist/GuildMember-GS72FCQD.mjs +9 -0
  160. package/dist/GuildMember-H7CP2HMW.mjs +9 -0
  161. package/dist/GuildMember-K5FLBNHV.mjs +8 -0
  162. package/dist/GuildMember-L35WIMIH.mjs +9 -0
  163. package/dist/GuildMember-OXTGJ3MF.mjs +9 -0
  164. package/dist/GuildMember-RGVPVUAG.mjs +9 -0
  165. package/dist/GuildMember-RZWZ3OCG.mjs +7 -0
  166. package/dist/GuildMember-UBNHZBCO.mjs +8 -0
  167. package/dist/GuildMember-UU26WJGN.mjs +8 -0
  168. package/dist/GuildMember-XF7K2R45.mjs +9 -0
  169. package/dist/GuildMember-YWXA2FVO.mjs +8 -0
  170. package/dist/GuildSticker-B7AZADJR.mjs +8 -0
  171. package/dist/GuildSticker-STHUU6RM.mjs +7 -0
  172. package/dist/Invite-4WSFNMH4.mjs +7 -0
  173. package/dist/Message-23Z3RPCZ.mjs +9 -0
  174. package/dist/Message-2MPW7ZWA.mjs +7 -0
  175. package/dist/Message-33APPS76.mjs +9 -0
  176. package/dist/Message-3XJH5D7I.mjs +7 -0
  177. package/dist/Message-43PACCS7.mjs +8 -0
  178. package/dist/Message-5RFJTHNU.mjs +7 -0
  179. package/dist/Message-6IYEYSV6.mjs +7 -0
  180. package/dist/Message-6RSAGIRP.mjs +8 -0
  181. package/dist/Message-6YRGUZSW.mjs +9 -0
  182. package/dist/Message-AKOXO3LZ.mjs +7 -0
  183. package/dist/Message-C4A23STA.mjs +9 -0
  184. package/dist/Message-DXBXIQIJ.mjs +9 -0
  185. package/dist/Message-E3WU3J2Q.mjs +8 -0
  186. package/dist/Message-EMJ3JUVX.mjs +8 -0
  187. package/dist/Message-F3K5GNIB.mjs +8 -0
  188. package/dist/Message-F4SCFNF5.mjs +8 -0
  189. package/dist/Message-G4KR7O2J.mjs +7 -0
  190. package/dist/Message-O4CXWR57.mjs +7 -0
  191. package/dist/Message-OFIVTTAZ.mjs +9 -0
  192. package/dist/Message-ONWLVMU7.mjs +8 -0
  193. package/dist/Message-OXTQHFCF.mjs +8 -0
  194. package/dist/Message-PZUU7ZFR.mjs +9 -0
  195. package/dist/Message-QSDAA2HG.mjs +9 -0
  196. package/dist/Message-QXPHQOVC.mjs +8 -0
  197. package/dist/Message-R7GZYIQQ.mjs +8 -0
  198. package/dist/Message-SHUOVKB5.mjs +7 -0
  199. package/dist/Message-U3UPCS7C.mjs +7 -0
  200. package/dist/Message-W624MHJF.mjs +8 -0
  201. package/dist/Message-XB5WNMHL.mjs +9 -0
  202. package/dist/Message-ZCS7IGJX.mjs +8 -0
  203. package/dist/Message-ZL2PJPQA.mjs +8 -0
  204. package/dist/MessageReaction-AYSOCOMX.mjs +8 -0
  205. package/dist/MessageReaction-FSX3HHRZ.mjs +7 -0
  206. package/dist/MessageReaction-GNM5YJ4V.mjs +8 -0
  207. package/dist/MessageReaction-ME5KGEG4.mjs +8 -0
  208. package/dist/MessageReaction-MUBQ6GIN.mjs +8 -0
  209. package/dist/MessageReaction-NIAHV3EM.mjs +8 -0
  210. package/dist/MessageReaction-PZ53DNAW.mjs +8 -0
  211. package/dist/MessageReaction-TQFIS53C.mjs +8 -0
  212. package/dist/MessageReaction-V4UZ7OXE.mjs +7 -0
  213. package/dist/MessageReaction-XRPYZDSC.mjs +7 -0
  214. package/dist/Role-5MWSGL66.mjs +7 -0
  215. package/dist/Role-DWZ2YDFB.mjs +7 -0
  216. package/dist/Role-J7ENREP6.mjs +7 -0
  217. package/dist/Role-N2ZEMRUQ.mjs +7 -0
  218. package/dist/Role-SVLWIAMN.mjs +7 -0
  219. package/dist/Webhook-2MQESB7Z.mjs +7 -0
  220. package/dist/Webhook-2RHBXH7R.mjs +7 -0
  221. package/dist/Webhook-32VJD4AL.mjs +7 -0
  222. package/dist/Webhook-6BCEHBZ6.mjs +8 -0
  223. package/dist/Webhook-A5KZ4S4N.mjs +10 -0
  224. package/dist/Webhook-AG6QFM2I.mjs +7 -0
  225. package/dist/Webhook-EARQN5EG.mjs +10 -0
  226. package/dist/Webhook-GB77DXAF.mjs +10 -0
  227. package/dist/Webhook-H4IMADRQ.mjs +10 -0
  228. package/dist/Webhook-H7VKDOJX.mjs +7 -0
  229. package/dist/Webhook-IHLGW7NL.mjs +8 -0
  230. package/dist/Webhook-L2D43K5N.mjs +7 -0
  231. package/dist/Webhook-LEYRYH23.mjs +7 -0
  232. package/dist/Webhook-NPIXOCEH.mjs +10 -0
  233. package/dist/Webhook-NUQCJAWZ.mjs +7 -0
  234. package/dist/Webhook-OXXVFNNU.mjs +9 -0
  235. package/dist/Webhook-RWDDYW2Q.mjs +10 -0
  236. package/dist/Webhook-SNLT45PN.mjs +7 -0
  237. package/dist/Webhook-TGAZZRQQ.mjs +7 -0
  238. package/dist/Webhook-WIF6OGPA.mjs +10 -0
  239. package/dist/Webhook-YL3NNZDI.mjs +8 -0
  240. package/dist/Webhook-ZL7A4766.mjs +10 -0
  241. package/dist/chunk-226TVUXE.mjs +136 -0
  242. package/dist/chunk-23KVLHIZ.mjs +147 -0
  243. package/dist/chunk-24E6OQID.mjs +193 -0
  244. package/dist/chunk-25Q2GMSK.mjs +137 -0
  245. package/dist/chunk-26GCIGHL.mjs +52 -0
  246. package/dist/chunk-2CIZJCEO.mjs +132 -0
  247. package/dist/chunk-2FIZRRSO.mjs +88 -0
  248. package/dist/chunk-2GXOBRSF.mjs +184 -0
  249. package/dist/chunk-2HH5NZT3.mjs +137 -0
  250. package/dist/chunk-2QU3TS4S.mjs +496 -0
  251. package/dist/chunk-367NAOYQ.mjs +127 -0
  252. package/dist/chunk-3BJ4OOCQ.mjs +86 -0
  253. package/dist/chunk-3CNUPFDI.mjs +59 -0
  254. package/dist/chunk-3KOM5WYW.mjs +502 -0
  255. package/dist/chunk-3UJYRWDI.mjs +132 -0
  256. package/dist/chunk-4DBGMFOQ.mjs +14 -0
  257. package/dist/chunk-4F765HVV.mjs +137 -0
  258. package/dist/chunk-4OQ4XACY.mjs +190 -0
  259. package/dist/chunk-4PLHVYRY.mjs +579 -0
  260. package/dist/chunk-4QKSUNTV.mjs +263 -0
  261. package/dist/chunk-4S42USSG.mjs +137 -0
  262. package/dist/chunk-4SWR3ZEZ.mjs +579 -0
  263. package/dist/chunk-4XJIM6SC.mjs +315 -0
  264. package/dist/chunk-52L544OS.mjs +259 -0
  265. package/dist/chunk-53Y37KRG.mjs +111 -0
  266. package/dist/chunk-5APVDWQU.mjs +184 -0
  267. package/dist/chunk-5HQRX3KJ.mjs +70 -0
  268. package/dist/chunk-5I54OXBG.mjs +111 -0
  269. package/dist/chunk-5MPQG6OV.mjs +120 -0
  270. package/dist/chunk-5RCTNYPY.mjs +151 -0
  271. package/dist/chunk-5VIV7EPG.mjs +180 -0
  272. package/dist/chunk-62S4AB2S.mjs +54 -0
  273. package/dist/chunk-6C3LYAUX.mjs +496 -0
  274. package/dist/chunk-6CEFV56Z.mjs +142 -0
  275. package/dist/chunk-6CEMF2LO.mjs +14 -0
  276. package/dist/chunk-6EBNOON4.mjs +86 -0
  277. package/dist/chunk-6GF5H3JH.mjs +137 -0
  278. package/dist/chunk-6IGR45JC.mjs +137 -0
  279. package/dist/chunk-6LREQZXU.mjs +259 -0
  280. package/dist/chunk-6S3BDHBI.mjs +28 -0
  281. package/dist/chunk-6VWXGTX2.mjs +585 -0
  282. package/dist/chunk-72OY7B3D.mjs +72 -0
  283. package/dist/chunk-737R7BFN.mjs +112 -0
  284. package/dist/chunk-7EPDZMZS.mjs +264 -0
  285. package/dist/chunk-7FYM4D2E.mjs +50 -0
  286. package/dist/chunk-7GZN6JXT.mjs +50 -0
  287. package/dist/chunk-7H3TKJUT.mjs +53 -0
  288. package/dist/chunk-7K35BCCD.mjs +263 -0
  289. package/dist/chunk-7SIS5CUA.mjs +14 -0
  290. package/dist/chunk-ABGLEIZG.mjs +191 -0
  291. package/dist/chunk-AC7PFILS.mjs +107 -0
  292. package/dist/chunk-AI5E6LS5.mjs +361 -0
  293. package/dist/chunk-AK6Q62VE.mjs +109 -0
  294. package/dist/chunk-AKJZBSCE.mjs +155 -0
  295. package/dist/chunk-BAZBIWMG.mjs +209 -0
  296. package/dist/chunk-BF7OCTE6.mjs +142 -0
  297. package/dist/chunk-BFSGXVZ7.mjs +148 -0
  298. package/dist/chunk-BGJSL6JI.mjs +14 -0
  299. package/dist/chunk-BI2MRKB7.mjs +150 -0
  300. package/dist/chunk-BKPVGBOT.mjs +8 -0
  301. package/dist/chunk-BMAFJS7T.mjs +575 -0
  302. package/dist/chunk-BRIU4HGS.mjs +579 -0
  303. package/dist/chunk-BUEXP5SZ.mjs +70 -0
  304. package/dist/chunk-BUIHWKTK.mjs +132 -0
  305. package/dist/chunk-BYTAODAO.mjs +70 -0
  306. package/dist/chunk-CEABHTAF.mjs +43 -0
  307. package/dist/chunk-CJLJBBFO.mjs +54 -0
  308. package/dist/chunk-CJVQNARM.mjs +145 -0
  309. package/dist/chunk-CNCPVNXS.mjs +160 -0
  310. package/dist/chunk-CNXK6SYW.mjs +220 -0
  311. package/dist/chunk-CQ5ZVTLX.mjs +71 -0
  312. package/dist/chunk-CQ7MDBHD.mjs +199 -0
  313. package/dist/chunk-CREI4MOS.mjs +406 -0
  314. package/dist/chunk-DJBCSVZX.mjs +102 -0
  315. package/dist/chunk-DJQXAQLR.mjs +496 -0
  316. package/dist/chunk-DLROMCIJ.mjs +50 -0
  317. package/dist/chunk-DLVBAJTE.mjs +52 -0
  318. package/dist/chunk-DNDCNIN2.mjs +263 -0
  319. package/dist/chunk-DO7MLFT6.mjs +579 -0
  320. package/dist/chunk-DPZHAYCK.mjs +71 -0
  321. package/dist/chunk-DQ4TNBPG.mjs +63 -0
  322. package/dist/chunk-DSPSRPHF.mjs +200 -0
  323. package/dist/chunk-DUQAD7F6.mjs +173 -0
  324. package/dist/chunk-E27LKSSS.mjs +142 -0
  325. package/dist/chunk-E6SU3TR5.mjs +64 -0
  326. package/dist/chunk-E75ZVY3I.mjs +14 -0
  327. package/dist/chunk-EC4ES5VH.mjs +171 -0
  328. package/dist/chunk-EF32ILJL.mjs +102 -0
  329. package/dist/chunk-EI2LRVWJ.mjs +207 -0
  330. package/dist/chunk-F2EEQP5O.mjs +86 -0
  331. package/dist/chunk-F3JU2ZCE.mjs +575 -0
  332. package/dist/chunk-FGFWZMUQ.mjs +64 -0
  333. package/dist/chunk-FH6ICLNP.mjs +142 -0
  334. package/dist/chunk-FHFXUKFP.mjs +147 -0
  335. package/dist/chunk-FJS5FBXO.mjs +233 -0
  336. package/dist/chunk-FK5X6HFL.mjs +111 -0
  337. package/dist/chunk-FNFID6QB.mjs +45 -0
  338. package/dist/chunk-FRVZ7D6D.mjs +293 -0
  339. package/dist/chunk-FSXTONUR.mjs +147 -0
  340. package/dist/chunk-G2YVDCRB.mjs +137 -0
  341. package/dist/chunk-G4L7WAJS.mjs +64 -0
  342. package/dist/chunk-G6F6VL4O.mjs +54 -0
  343. package/dist/chunk-GCIJYVRC.mjs +86 -0
  344. package/dist/chunk-GEPISSKR.mjs +263 -0
  345. package/dist/chunk-GFUJVQ7L.mjs +64 -0
  346. package/dist/chunk-GIIJQKAV.mjs +164 -0
  347. package/dist/chunk-GUNWHOQO.mjs +42 -0
  348. package/dist/chunk-GWSLXZES.mjs +263 -0
  349. package/dist/chunk-H5KYMLLB.mjs +14 -0
  350. package/dist/chunk-HAUQAFOF.mjs +97 -0
  351. package/dist/chunk-HBF5QEDH.mjs +42 -0
  352. package/dist/chunk-I2MHQEEZ.mjs +575 -0
  353. package/dist/chunk-IE3V5VLN.mjs +64 -0
  354. package/dist/chunk-IHXSHE2Z.mjs +56 -0
  355. package/dist/chunk-IPHFDI2L.mjs +68 -0
  356. package/dist/chunk-J3EIGOXQ.mjs +72 -0
  357. package/dist/chunk-JHNKZIHY.mjs +137 -0
  358. package/dist/chunk-JJHZBWZM.mjs +118 -0
  359. package/dist/chunk-JOUNLDB6.mjs +225 -0
  360. package/dist/chunk-JS55BGBM.mjs +157 -0
  361. package/dist/chunk-JTL3CVFU.mjs +114 -0
  362. package/dist/chunk-JVEOQFUX.mjs +52 -0
  363. package/dist/chunk-JW4BRX5E.mjs +140 -0
  364. package/dist/chunk-K2ZJWUV6.mjs +86 -0
  365. package/dist/chunk-K6NLD6SB.mjs +64 -0
  366. package/dist/chunk-KALJBR6Z.mjs +142 -0
  367. package/dist/chunk-KBXXX7L4.mjs +209 -0
  368. package/dist/chunk-KHE3G7SG.mjs +184 -0
  369. package/dist/chunk-KOTF4TTZ.mjs +403 -0
  370. package/dist/chunk-KQNLUUBZ.mjs +137 -0
  371. package/dist/chunk-KQXR3GN2.mjs +140 -0
  372. package/dist/chunk-KR26CBFE.mjs +58 -0
  373. package/dist/chunk-KWA5TKXS.mjs +574 -0
  374. package/dist/chunk-KXI2IOJM.mjs +97 -0
  375. package/dist/chunk-KXJLNURI.mjs +153 -0
  376. package/dist/chunk-KXY2PTDQ.mjs +263 -0
  377. package/dist/chunk-L25ON7WB.mjs +52 -0
  378. package/dist/chunk-LBBIQOSH.mjs +53 -0
  379. package/dist/chunk-LD7ATCWW.mjs +97 -0
  380. package/dist/chunk-LDR7MZLX.mjs +227 -0
  381. package/dist/chunk-LRMB4VBU.mjs +112 -0
  382. package/dist/chunk-LTO3TVUW.mjs +71 -0
  383. package/dist/chunk-LU2SNC5G.mjs +392 -0
  384. package/dist/chunk-LVMFPATK.mjs +54 -0
  385. package/dist/chunk-MILMGDQ2.mjs +15 -0
  386. package/dist/chunk-MKEHOFA2.mjs +43 -0
  387. package/dist/chunk-MSMABD52.mjs +72 -0
  388. package/dist/chunk-MTGPR7WY.mjs +142 -0
  389. package/dist/chunk-MTMKXMB3.mjs +496 -0
  390. package/dist/chunk-MWRADLNP.mjs +86 -0
  391. package/dist/chunk-N65TF5SP.mjs +184 -0
  392. package/dist/chunk-NCBAWY7A.mjs +139 -0
  393. package/dist/chunk-ND223BOF.mjs +256 -0
  394. package/dist/chunk-NGJKJ4R2.mjs +184 -0
  395. package/dist/chunk-NISGA2YZ.mjs +55 -0
  396. package/dist/chunk-NM6PHRGO.mjs +263 -0
  397. package/dist/chunk-NMMHN5LB.mjs +579 -0
  398. package/dist/chunk-NNKU4OZY.mjs +147 -0
  399. package/dist/chunk-NNZUZLG3.mjs +416 -0
  400. package/dist/chunk-NOLYW3V4.mjs +140 -0
  401. package/dist/chunk-NYEWIYVQ.mjs +86 -0
  402. package/dist/chunk-NZJJ7FRK.mjs +339 -0
  403. package/dist/chunk-O77KTDMH.mjs +44 -0
  404. package/dist/chunk-OALSL7C2.mjs +212 -0
  405. package/dist/chunk-OGJSTE4A.mjs +86 -0
  406. package/dist/chunk-OHIHIQAS.mjs +102 -0
  407. package/dist/chunk-OJJADMUB.mjs +71 -0
  408. package/dist/chunk-OMFDQURC.mjs +84 -0
  409. package/dist/chunk-ORRPH43K.mjs +127 -0
  410. package/dist/chunk-OXO3HVCT.mjs +124 -0
  411. package/dist/chunk-P4IRDGB4.mjs +43 -0
  412. package/dist/chunk-PD42OYFT.mjs +150 -0
  413. package/dist/chunk-PJ62NB7Z.mjs +319 -0
  414. package/dist/chunk-PL26CDZN.mjs +97 -0
  415. package/dist/chunk-PM2IUGNR.mjs +29 -0
  416. package/dist/chunk-PO5JZQVN.mjs +111 -0
  417. package/dist/chunk-PQR6WIIY.mjs +348 -0
  418. package/dist/chunk-PS6PZL5W.mjs +86 -0
  419. package/dist/chunk-PTBV5DCB.mjs +97 -0
  420. package/dist/chunk-PXZCOEZ6.mjs +184 -0
  421. package/dist/chunk-PYYXC7US.mjs +76 -0
  422. package/dist/chunk-Q4W4ODBP.mjs +319 -0
  423. package/dist/chunk-QAJ4C5RT.mjs +263 -0
  424. package/dist/chunk-QDCFQF6J.mjs +36 -0
  425. package/dist/chunk-QDNFJVVE.mjs +70 -0
  426. package/dist/chunk-QG7OB5MD.mjs +86 -0
  427. package/dist/chunk-QM7TE5C3.mjs +97 -0
  428. package/dist/chunk-QRQG2BI2.mjs +67 -0
  429. package/dist/chunk-QXJNV5EJ.mjs +110 -0
  430. package/dist/chunk-QYAZXDXI.mjs +142 -0
  431. package/dist/chunk-RCP27MRC.mjs +33 -0
  432. package/dist/chunk-RGLEJWLU.mjs +173 -0
  433. package/dist/chunk-RIXU6NZ2.mjs +122 -0
  434. package/dist/chunk-RNDHAIPS.mjs +64 -0
  435. package/dist/chunk-RTSLRXJC.mjs +122 -0
  436. package/dist/chunk-RWFKZ3DF.mjs +413 -0
  437. package/dist/chunk-RWZ3ORIM.mjs +136 -0
  438. package/dist/chunk-RXHJYGSJ.mjs +53 -0
  439. package/dist/chunk-S25KNTHZ.mjs +137 -0
  440. package/dist/chunk-SCOVKXZ7.mjs +223 -0
  441. package/dist/chunk-SGIJ36LI.mjs +259 -0
  442. package/dist/chunk-SHYMRCLT.mjs +221 -0
  443. package/dist/chunk-SQVCCSNN.mjs +41 -0
  444. package/dist/chunk-SU26BEIK.mjs +86 -0
  445. package/dist/chunk-SW6KNICI.mjs +52 -0
  446. package/dist/chunk-SY6DVJKB.mjs +184 -0
  447. package/dist/chunk-T23OBCRC.mjs +295 -0
  448. package/dist/chunk-T2NSVWBH.mjs +77 -0
  449. package/dist/chunk-T3PPEX64.mjs +164 -0
  450. package/dist/chunk-TDQUAKUL.mjs +64 -0
  451. package/dist/chunk-TE5IC7IP.mjs +36 -0
  452. package/dist/chunk-TKASBGF7.mjs +62 -0
  453. package/dist/chunk-TMDZALIN.mjs +110 -0
  454. package/dist/chunk-TU4VVM34.mjs +23 -0
  455. package/dist/chunk-U2WETRQJ.mjs +86 -0
  456. package/dist/chunk-U3RZV7XO.mjs +58 -0
  457. package/dist/chunk-UU6LVKA3.mjs +112 -0
  458. package/dist/chunk-UXODHQZH.mjs +41 -0
  459. package/dist/chunk-V37YOE4P.mjs +184 -0
  460. package/dist/chunk-V6QVJWJR.mjs +86 -0
  461. package/dist/chunk-V6T5VMWD.mjs +26 -0
  462. package/dist/chunk-V72EJZDX.mjs +137 -0
  463. package/dist/chunk-V7LPVPGH.mjs +305 -0
  464. package/dist/chunk-VESIRBN4.mjs +263 -0
  465. package/dist/chunk-VGKL2ALO.mjs +184 -0
  466. package/dist/chunk-VPZEDAAB.mjs +184 -0
  467. package/dist/chunk-VQHHSD7C.mjs +97 -0
  468. package/dist/chunk-VZPN7FNH.mjs +308 -0
  469. package/dist/chunk-WB5BPM5Q.mjs +55 -0
  470. package/dist/chunk-WFONGZGK.mjs +42 -0
  471. package/dist/chunk-WKZ2ZIPO.mjs +112 -0
  472. package/dist/chunk-WVRHFGGB.mjs +97 -0
  473. package/dist/chunk-WYSHH4LR.mjs +141 -0
  474. package/dist/chunk-WZVY7DA6.mjs +44 -0
  475. package/dist/chunk-X3GPLJGD.mjs +152 -0
  476. package/dist/chunk-X77DFNE3.mjs +136 -0
  477. package/dist/chunk-XRLFLKHG.mjs +14 -0
  478. package/dist/chunk-XTDZQD4A.mjs +110 -0
  479. package/dist/chunk-XTFNK6PX.mjs +220 -0
  480. package/dist/chunk-XXCBJJZE.mjs +88 -0
  481. package/dist/chunk-Y3PX242G.mjs +225 -0
  482. package/dist/chunk-Y57QWXS4.mjs +122 -0
  483. package/dist/chunk-YKP7JHV2.mjs +102 -0
  484. package/dist/chunk-YRCBBEPB.mjs +142 -0
  485. package/dist/chunk-YSKZR66G.mjs +102 -0
  486. package/dist/chunk-YUDOACNS.mjs +184 -0
  487. package/dist/chunk-YVNZMBZ6.mjs +501 -0
  488. package/dist/chunk-YWE5AILJ.mjs +137 -0
  489. package/dist/chunk-YYER5QOG.mjs +44 -0
  490. package/dist/chunk-Z6LVSACJ.mjs +86 -0
  491. package/dist/chunk-ZFLKX6WD.mjs +97 -0
  492. package/dist/chunk-ZGMM6IPQ.mjs +79 -0
  493. package/dist/chunk-ZHNFS3MK.mjs +56 -0
  494. package/dist/chunk-ZHRQQZ4X.mjs +102 -0
  495. package/dist/chunk-ZJCAKCMN.mjs +89 -0
  496. package/dist/chunk-ZKKBIQBA.mjs +413 -0
  497. package/dist/chunk-ZMIMAMO2.mjs +14 -0
  498. package/dist/chunk-ZR53XY37.mjs +499 -0
  499. package/dist/chunk-ZR6MFTT7.mjs +142 -0
  500. package/dist/chunk-ZVFZIZM2.mjs +150 -0
  501. package/dist/index.d.mts +22 -4
  502. package/dist/index.d.ts +22 -4
  503. package/dist/index.js +75 -21
  504. package/dist/index.mjs +93 -41
  505. package/package.json +7 -7
@@ -0,0 +1,150 @@
1
+ import {
2
+ Base
3
+ } from "./chunk-XNS4O6QJ.mjs";
4
+
5
+ // src/structures/Message.ts
6
+ import { Collection } from "@fluxerjs/collection";
7
+ import { Routes } from "@fluxerjs/types";
8
+ import { EmbedBuilder } from "@fluxerjs/builders";
9
+ var Message = class _Message extends Base {
10
+ client;
11
+ id;
12
+ channelId;
13
+ guildId;
14
+ author;
15
+ content;
16
+ createdAt;
17
+ editedAt;
18
+ pinned;
19
+ attachments;
20
+ channel;
21
+ /** @param data - API message from POST/PATCH /channels/{id}/messages or gateway MESSAGE_CREATE */
22
+ constructor(client, data) {
23
+ super();
24
+ this.client = client;
25
+ this.id = data.id;
26
+ this.channelId = data.channel_id;
27
+ this.guildId = data.guild_id ?? null;
28
+ this.author = client.getOrCreateUser(data.author);
29
+ this.content = data.content;
30
+ this.createdAt = new Date(data.timestamp);
31
+ this.editedAt = data.edited_timestamp ? new Date(data.edited_timestamp) : null;
32
+ this.pinned = data.pinned;
33
+ this.attachments = new Collection();
34
+ for (const a of data.attachments ?? []) this.attachments.set(a.id, a);
35
+ }
36
+ /**
37
+ * Send a message to this channel without replying. Use when you want a standalone message.
38
+ * @param options - Text content or object with content and/or embeds
39
+ * @example
40
+ * await message.send('Pong!');
41
+ * await message.send({ embeds: [embed.toJSON()] });
42
+ */
43
+ async send(options) {
44
+ const body = typeof options === "string" ? { content: options } : options;
45
+ const data = await this.client.rest.post(Routes.channelMessages(this.channelId), { body });
46
+ return new _Message(this.client, data);
47
+ }
48
+ /**
49
+ * Send a message to a specific channel. Use for logging, forwarding, or sending to another channel in the guild.
50
+ * @param channelId - Snowflake of the target channel (e.g. log channel ID)
51
+ * @param options - Text content or object with content and/or embeds
52
+ * @example
53
+ * await message.sendTo(logChannelId, 'User ' + message.author.username + ' said: ' + message.content);
54
+ * await message.sendTo(announceChannelId, { embeds: [embed.toJSON()] });
55
+ */
56
+ async sendTo(channelId, options) {
57
+ return this.client.channels.send(channelId, options);
58
+ }
59
+ /**
60
+ * Reply to this message.
61
+ * @param options - Text content or object with content and/or embeds
62
+ */
63
+ async reply(options) {
64
+ const body = typeof options === "string" ? {
65
+ content: options,
66
+ message_reference: {
67
+ channel_id: this.channelId,
68
+ message_id: this.id,
69
+ guild_id: this.guildId ?? void 0
70
+ }
71
+ } : {
72
+ ...options,
73
+ message_reference: {
74
+ channel_id: this.channelId,
75
+ message_id: this.id,
76
+ guild_id: this.guildId ?? void 0
77
+ }
78
+ };
79
+ const data = await this.client.rest.post(Routes.channelMessages(this.channelId), { body });
80
+ return new _Message(this.client, data);
81
+ }
82
+ /**
83
+ * Edit this message. Only the author (or admins) can edit.
84
+ * @param options - New content and/or embeds
85
+ */
86
+ async edit(options) {
87
+ const body = {};
88
+ if (options.content !== void 0) body.content = options.content;
89
+ if (options.embeds?.length) {
90
+ body.embeds = options.embeds.map((e) => e instanceof EmbedBuilder ? e.toJSON() : e);
91
+ }
92
+ const data = await this.client.rest.patch(Routes.channelMessage(this.channelId, this.id), {
93
+ body
94
+ });
95
+ return new _Message(this.client, data);
96
+ }
97
+ /** Delete this message. */
98
+ async delete() {
99
+ await this.client.rest.delete(Routes.channelMessage(this.channelId, this.id));
100
+ }
101
+ /**
102
+ * Format emoji for reaction API: unicode string or "name:id" for custom.
103
+ * For string resolution (e.g. :name:), use client.resolveEmoji; Message methods resolve automatically when guildId is available.
104
+ */
105
+ static formatEmoji(emoji) {
106
+ if (typeof emoji === "string") return emoji;
107
+ return `${emoji.name}:${emoji.id}`;
108
+ }
109
+ resolveEmojiForReaction(emoji) {
110
+ return this.client.resolveEmoji(emoji, this.guildId);
111
+ }
112
+ /**
113
+ * Add a reaction to this message (as the bot).
114
+ * @param emoji - Unicode emoji, custom `{ name, id }`, `:name:`, `name:id`, or `<:name:id>`
115
+ */
116
+ async react(emoji) {
117
+ const emojiStr = await this.resolveEmojiForReaction(emoji);
118
+ const route = `${Routes.channelMessageReaction(this.channelId, this.id, emojiStr)}/@me`;
119
+ await this.client.rest.put(route);
120
+ }
121
+ /**
122
+ * Remove the bot's reaction, or a specific user's reaction if userId is provided.
123
+ * @param emoji - Unicode emoji, custom `{ name, id }`, `:name:`, `name:id`, or `<:name:id>`
124
+ * @param userId - If provided, removes that user's reaction (requires moderator permissions)
125
+ */
126
+ async removeReaction(emoji, userId) {
127
+ const emojiStr = await this.resolveEmojiForReaction(emoji);
128
+ const route = `${Routes.channelMessageReaction(this.channelId, this.id, emojiStr)}/${userId ?? "@me"}`;
129
+ await this.client.rest.delete(route);
130
+ }
131
+ /**
132
+ * Remove all reactions from this message.
133
+ * Requires moderator permissions.
134
+ */
135
+ async removeAllReactions() {
136
+ await this.client.rest.delete(Routes.channelMessageReactions(this.channelId, this.id));
137
+ }
138
+ /**
139
+ * Remove all reactions of a specific emoji from this message.
140
+ * @param emoji - Unicode emoji, custom `{ name, id }`, `:name:`, `name:id`, or `<:name:id>`. Requires moderator permissions.
141
+ */
142
+ async removeReactionEmoji(emoji) {
143
+ const emojiStr = await this.resolveEmojiForReaction(emoji);
144
+ await this.client.rest.delete(Routes.channelMessageReaction(this.channelId, this.id, emojiStr));
145
+ }
146
+ };
147
+
148
+ export {
149
+ Message
150
+ };
package/dist/index.d.mts CHANGED
@@ -716,7 +716,7 @@ declare class User extends Base {
716
716
  size?: number;
717
717
  extension?: string;
718
718
  }): string | null;
719
- /** Get the avatar URL, or the default avatar if none set. */
719
+ /** Get the avatar URL, or the default avatar if none set (Fluxer: fluxerstatic.com). */
720
720
  displayAvatarURL(options?: {
721
721
  size?: number;
722
722
  extension?: string;
@@ -1267,6 +1267,10 @@ interface PartialMessage {
1267
1267
  id: string;
1268
1268
  channelId: string;
1269
1269
  channel?: Channel | null;
1270
+ /** Message content, when provided by the gateway (e.g. Fluxer). */
1271
+ content?: string | null;
1272
+ /** Author user ID, when provided by the gateway (e.g. Fluxer). */
1273
+ authorId?: string | null;
1270
1274
  }
1271
1275
 
1272
1276
  /**
@@ -1578,6 +1582,7 @@ declare class Client extends EventEmitter {
1578
1582
  * Resolve an emoji argument to the API format (unicode or "name:id").
1579
1583
  * Supports: <:name:id>, :name:, name:id, { name, id }, unicode.
1580
1584
  * When id is missing (e.g. :name:), fetches guild emojis if guildId provided.
1585
+ * When reacting in a guild channel, custom emojis must be from that guild.
1581
1586
  * @param emoji - Emoji string or object
1582
1587
  * @param guildId - Guild ID for resolving custom emoji by name (required when id is missing)
1583
1588
  * @returns API-formatted string for reactions
@@ -1587,6 +1592,12 @@ declare class Client extends EventEmitter {
1587
1592
  id?: string;
1588
1593
  animated?: boolean;
1589
1594
  }, guildId?: string | null): Promise<string>;
1595
+ /**
1596
+ * Asserts that a custom emoji (by id) belongs to the given guild.
1597
+ * Used when reacting in guild channels to reject emojis from other servers.
1598
+ * @throws FluxerError with EMOJI_NOT_IN_GUILD if the emoji is not in the guild
1599
+ */
1600
+ private assertEmojiInGuild;
1590
1601
  /**
1591
1602
  * Fetch instance info (API URL, gateway URL, features). GET /instance.
1592
1603
  * Does not require authentication.
@@ -1658,8 +1669,14 @@ declare const ErrorCodes: {
1658
1669
  readonly GuildNotFound: "GUILD_NOT_FOUND";
1659
1670
  readonly MemberNotFound: "MEMBER_NOT_FOUND";
1660
1671
  readonly RoleNotFound: "ROLE_NOT_FOUND";
1672
+ readonly EmojiNotInGuild: "EMOJI_NOT_IN_GUILD";
1661
1673
  };
1662
1674
 
1675
+ /** User Content CDN (avatars, icons, banners, emojis, attachments). */
1676
+ declare const CDN_URL = "https://fluxerusercontent.com";
1677
+ /** Static Assets CDN (default avatars). Use fluxerstatic.com for default avatars per Fluxer API. */
1678
+ declare const STATIC_CDN_URL = "https://fluxerstatic.com";
1679
+
1663
1680
  interface CdnUrlOptions {
1664
1681
  size?: number;
1665
1682
  extension?: string;
@@ -1716,9 +1733,10 @@ declare function cdnMemberAvatarURL(guildId: string, userId: string, avatarHash:
1716
1733
  declare function cdnMemberBannerURL(guildId: string, userId: string, bannerHash: string | null, options?: CdnUrlOptions): string | null;
1717
1734
  /**
1718
1735
  * Get the default avatar URL (used when user has no custom avatar).
1719
- * @param discriminatorIndex - Optional index 0-4 for default avatar variant
1736
+ * Fluxer uses fluxerstatic.com with index = userId % 6 (six default avatar variants).
1737
+ * @param userIdOrIndex - User ID (snowflake string) to derive index, or explicit index 0-5
1720
1738
  * @returns The default avatar URL
1721
1739
  */
1722
- declare function cdnDefaultAvatarURL(discriminatorIndex?: number): string;
1740
+ declare function cdnDefaultAvatarURL(userIdOrIndex: string | number): string;
1723
1741
 
1724
- export { Base, CategoryChannel, type CdnUrlOptions, Channel, ChannelManager, Client, type ClientEventMethods, type ClientEvents, ClientUser, type CollectedReaction, DMChannel, ErrorCodes, Events, type FetchedUserWithProfile, FluxerError, type FluxerErrorOptions, Guild, GuildBan, GuildChannel, GuildEmoji, GuildMember, GuildMemberManager, GuildSticker, Invite, LinkChannel, Message, MessageCollector, type MessageCollectorEndReason, type MessageCollectorOptions, type MessageEditOptions, MessageManager, MessageReaction, type MessageSendOptions, type PartialMessage, ReactionCollector, type ReactionCollectorEndReason, type ReactionCollectorOptions, Role, TextChannel, User, UsersManager, VoiceChannel, Webhook, type WebhookSendOptions, cdnAvatarURL, cdnBannerURL, cdnDefaultAvatarURL, cdnDisplayAvatarURL, cdnMemberAvatarURL, cdnMemberBannerURL };
1742
+ export { Base, CDN_URL, CategoryChannel, type CdnUrlOptions, Channel, ChannelManager, Client, type ClientEventMethods, type ClientEvents, ClientUser, type CollectedReaction, DMChannel, ErrorCodes, Events, type FetchedUserWithProfile, FluxerError, type FluxerErrorOptions, Guild, GuildBan, GuildChannel, GuildEmoji, GuildMember, GuildMemberManager, GuildSticker, Invite, LinkChannel, Message, MessageCollector, type MessageCollectorEndReason, type MessageCollectorOptions, type MessageEditOptions, MessageManager, MessageReaction, type MessageSendOptions, type PartialMessage, ReactionCollector, type ReactionCollectorEndReason, type ReactionCollectorOptions, Role, STATIC_CDN_URL, TextChannel, User, UsersManager, VoiceChannel, Webhook, type WebhookSendOptions, cdnAvatarURL, cdnBannerURL, cdnDefaultAvatarURL, cdnDisplayAvatarURL, cdnMemberAvatarURL, cdnMemberBannerURL };
package/dist/index.d.ts CHANGED
@@ -716,7 +716,7 @@ declare class User extends Base {
716
716
  size?: number;
717
717
  extension?: string;
718
718
  }): string | null;
719
- /** Get the avatar URL, or the default avatar if none set. */
719
+ /** Get the avatar URL, or the default avatar if none set (Fluxer: fluxerstatic.com). */
720
720
  displayAvatarURL(options?: {
721
721
  size?: number;
722
722
  extension?: string;
@@ -1267,6 +1267,10 @@ interface PartialMessage {
1267
1267
  id: string;
1268
1268
  channelId: string;
1269
1269
  channel?: Channel | null;
1270
+ /** Message content, when provided by the gateway (e.g. Fluxer). */
1271
+ content?: string | null;
1272
+ /** Author user ID, when provided by the gateway (e.g. Fluxer). */
1273
+ authorId?: string | null;
1270
1274
  }
1271
1275
 
1272
1276
  /**
@@ -1578,6 +1582,7 @@ declare class Client extends EventEmitter {
1578
1582
  * Resolve an emoji argument to the API format (unicode or "name:id").
1579
1583
  * Supports: <:name:id>, :name:, name:id, { name, id }, unicode.
1580
1584
  * When id is missing (e.g. :name:), fetches guild emojis if guildId provided.
1585
+ * When reacting in a guild channel, custom emojis must be from that guild.
1581
1586
  * @param emoji - Emoji string or object
1582
1587
  * @param guildId - Guild ID for resolving custom emoji by name (required when id is missing)
1583
1588
  * @returns API-formatted string for reactions
@@ -1587,6 +1592,12 @@ declare class Client extends EventEmitter {
1587
1592
  id?: string;
1588
1593
  animated?: boolean;
1589
1594
  }, guildId?: string | null): Promise<string>;
1595
+ /**
1596
+ * Asserts that a custom emoji (by id) belongs to the given guild.
1597
+ * Used when reacting in guild channels to reject emojis from other servers.
1598
+ * @throws FluxerError with EMOJI_NOT_IN_GUILD if the emoji is not in the guild
1599
+ */
1600
+ private assertEmojiInGuild;
1590
1601
  /**
1591
1602
  * Fetch instance info (API URL, gateway URL, features). GET /instance.
1592
1603
  * Does not require authentication.
@@ -1658,8 +1669,14 @@ declare const ErrorCodes: {
1658
1669
  readonly GuildNotFound: "GUILD_NOT_FOUND";
1659
1670
  readonly MemberNotFound: "MEMBER_NOT_FOUND";
1660
1671
  readonly RoleNotFound: "ROLE_NOT_FOUND";
1672
+ readonly EmojiNotInGuild: "EMOJI_NOT_IN_GUILD";
1661
1673
  };
1662
1674
 
1675
+ /** User Content CDN (avatars, icons, banners, emojis, attachments). */
1676
+ declare const CDN_URL = "https://fluxerusercontent.com";
1677
+ /** Static Assets CDN (default avatars). Use fluxerstatic.com for default avatars per Fluxer API. */
1678
+ declare const STATIC_CDN_URL = "https://fluxerstatic.com";
1679
+
1663
1680
  interface CdnUrlOptions {
1664
1681
  size?: number;
1665
1682
  extension?: string;
@@ -1716,9 +1733,10 @@ declare function cdnMemberAvatarURL(guildId: string, userId: string, avatarHash:
1716
1733
  declare function cdnMemberBannerURL(guildId: string, userId: string, bannerHash: string | null, options?: CdnUrlOptions): string | null;
1717
1734
  /**
1718
1735
  * Get the default avatar URL (used when user has no custom avatar).
1719
- * @param discriminatorIndex - Optional index 0-4 for default avatar variant
1736
+ * Fluxer uses fluxerstatic.com with index = userId % 6 (six default avatar variants).
1737
+ * @param userIdOrIndex - User ID (snowflake string) to derive index, or explicit index 0-5
1720
1738
  * @returns The default avatar URL
1721
1739
  */
1722
- declare function cdnDefaultAvatarURL(discriminatorIndex?: number): string;
1740
+ declare function cdnDefaultAvatarURL(userIdOrIndex: string | number): string;
1723
1741
 
1724
- export { Base, CategoryChannel, type CdnUrlOptions, Channel, ChannelManager, Client, type ClientEventMethods, type ClientEvents, ClientUser, type CollectedReaction, DMChannel, ErrorCodes, Events, type FetchedUserWithProfile, FluxerError, type FluxerErrorOptions, Guild, GuildBan, GuildChannel, GuildEmoji, GuildMember, GuildMemberManager, GuildSticker, Invite, LinkChannel, Message, MessageCollector, type MessageCollectorEndReason, type MessageCollectorOptions, type MessageEditOptions, MessageManager, MessageReaction, type MessageSendOptions, type PartialMessage, ReactionCollector, type ReactionCollectorEndReason, type ReactionCollectorOptions, Role, TextChannel, User, UsersManager, VoiceChannel, Webhook, type WebhookSendOptions, cdnAvatarURL, cdnBannerURL, cdnDefaultAvatarURL, cdnDisplayAvatarURL, cdnMemberAvatarURL, cdnMemberBannerURL };
1742
+ export { Base, CDN_URL, CategoryChannel, type CdnUrlOptions, Channel, ChannelManager, Client, type ClientEventMethods, type ClientEvents, ClientUser, type CollectedReaction, DMChannel, ErrorCodes, Events, type FetchedUserWithProfile, FluxerError, type FluxerErrorOptions, Guild, GuildBan, GuildChannel, GuildEmoji, GuildMember, GuildMemberManager, GuildSticker, Invite, LinkChannel, Message, MessageCollector, type MessageCollectorEndReason, type MessageCollectorOptions, type MessageEditOptions, MessageManager, MessageReaction, type MessageSendOptions, type PartialMessage, ReactionCollector, type ReactionCollectorEndReason, type ReactionCollectorOptions, Role, STATIC_CDN_URL, TextChannel, User, UsersManager, VoiceChannel, Webhook, type WebhookSendOptions, cdnAvatarURL, cdnBannerURL, cdnDefaultAvatarURL, cdnDisplayAvatarURL, cdnMemberAvatarURL, cdnMemberBannerURL };
package/dist/index.js CHANGED
@@ -50,7 +50,8 @@ var init_ErrorCodes = __esm({
50
50
  MessageNotFound: "MESSAGE_NOT_FOUND",
51
51
  GuildNotFound: "GUILD_NOT_FOUND",
52
52
  MemberNotFound: "MEMBER_NOT_FOUND",
53
- RoleNotFound: "ROLE_NOT_FOUND"
53
+ RoleNotFound: "ROLE_NOT_FOUND",
54
+ EmojiNotInGuild: "EMOJI_NOT_IN_GUILD"
54
55
  };
55
56
  }
56
57
  });
@@ -600,11 +601,12 @@ var init_MessageCollector = __esm({
600
601
  });
601
602
 
602
603
  // src/util/Constants.ts
603
- var CDN_URL;
604
+ var CDN_URL, STATIC_CDN_URL;
604
605
  var init_Constants = __esm({
605
606
  "src/util/Constants.ts"() {
606
607
  "use strict";
607
608
  CDN_URL = "https://fluxerusercontent.com";
609
+ STATIC_CDN_URL = "https://fluxerstatic.com";
608
610
  }
609
611
  });
610
612
 
@@ -624,7 +626,7 @@ function cdnAvatarURL(userId, avatarHash, options) {
624
626
  return `${CDN_URL}/avatars/${userId}/${avatarHash}.${ext}${size}`;
625
627
  }
626
628
  function cdnDisplayAvatarURL(userId, avatarHash, options) {
627
- return cdnAvatarURL(userId, avatarHash, options) ?? `${CDN_URL}/avatars/0/0.png`;
629
+ return cdnAvatarURL(userId, avatarHash, options) ?? cdnDefaultAvatarURL(userId);
628
630
  }
629
631
  function cdnBannerURL(resourceId, bannerHash, options) {
630
632
  if (!bannerHash) return null;
@@ -644,9 +646,9 @@ function cdnMemberBannerURL(guildId, userId, bannerHash, options) {
644
646
  const size = appendSize(options);
645
647
  return `${CDN_URL}/guilds/${guildId}/users/${userId}/banners/${bannerHash}.${ext}${size}`;
646
648
  }
647
- function cdnDefaultAvatarURL(discriminatorIndex) {
648
- const index = discriminatorIndex != null ? discriminatorIndex % 5 : 0;
649
- return `${CDN_URL}/avatars/0/${index}.png`;
649
+ function cdnDefaultAvatarURL(userIdOrIndex) {
650
+ const index = typeof userIdOrIndex === "string" ? Number(BigInt(userIdOrIndex) % 6n) : Math.abs(Math.floor(userIdOrIndex) % 6);
651
+ return `${STATIC_CDN_URL}/avatars/${index}.png`;
650
652
  }
651
653
  var init_cdn = __esm({
652
654
  "src/util/cdn.ts"() {
@@ -1527,7 +1529,11 @@ var init_GuildMemberManager = __esm({
1527
1529
  const { GuildMember: GuildMember2 } = await Promise.resolve().then(() => (init_GuildMember(), GuildMember_exports));
1528
1530
  const members = [];
1529
1531
  for (const m of list) {
1530
- const member = new GuildMember2(this.guild.client, { ...m, guild_id: this.guild.id }, this.guild);
1532
+ const member = new GuildMember2(
1533
+ this.guild.client,
1534
+ { ...m, guild_id: this.guild.id },
1535
+ this.guild
1536
+ );
1531
1537
  this.set(member.id, member);
1532
1538
  members.push(member);
1533
1539
  }
@@ -2323,6 +2329,7 @@ var init_User = __esm({
2323
2329
  init_Base();
2324
2330
  import_types16 = require("@fluxerjs/types");
2325
2331
  init_Constants();
2332
+ init_cdn();
2326
2333
  User = class extends Base {
2327
2334
  client;
2328
2335
  id;
@@ -2375,9 +2382,9 @@ var init_User = __esm({
2375
2382
  const size = options?.size ? `?size=${options.size}` : "";
2376
2383
  return `${CDN_URL}/avatars/${this.id}/${this.avatar}.${ext}${size}`;
2377
2384
  }
2378
- /** Get the avatar URL, or the default avatar if none set. */
2385
+ /** Get the avatar URL, or the default avatar if none set (Fluxer: fluxerstatic.com). */
2379
2386
  displayAvatarURL(options) {
2380
- return this.avatarURL(options) ?? `${CDN_URL}/avatars/0/0.png`;
2387
+ return this.avatarURL(options) ?? cdnDefaultAvatarURL(this.id);
2381
2388
  }
2382
2389
  /**
2383
2390
  * Get the URL for this user's banner.
@@ -2531,6 +2538,7 @@ var index_exports = {};
2531
2538
  __export(index_exports, {
2532
2539
  AttachmentBuilder: () => import_builders3.AttachmentBuilder,
2533
2540
  Base: () => Base,
2541
+ CDN_URL: () => CDN_URL,
2534
2542
  CategoryChannel: () => CategoryChannel,
2535
2543
  Channel: () => Channel,
2536
2544
  ChannelManager: () => ChannelManager,
@@ -2562,6 +2570,7 @@ __export(index_exports, {
2562
2570
  ReactionCollector: () => ReactionCollector,
2563
2571
  Role: () => Role,
2564
2572
  Routes: () => import_types21.Routes,
2573
+ STATIC_CDN_URL: () => STATIC_CDN_URL,
2565
2574
  TextChannel: () => TextChannel,
2566
2575
  User: () => User,
2567
2576
  UserFlagsBitField: () => import_util9.UserFlagsBitField,
@@ -2705,10 +2714,10 @@ var GuildManager = class extends import_collection7.Collection {
2705
2714
  */
2706
2715
  async create(options) {
2707
2716
  const { Guild: Guild2 } = await Promise.resolve().then(() => (init_Guild(), Guild_exports));
2708
- const data = await this.client.rest.post(
2709
- import_types15.Routes.guilds(),
2710
- { body: options, auth: true }
2711
- );
2717
+ const data = await this.client.rest.post(import_types15.Routes.guilds(), {
2718
+ body: options,
2719
+ auth: true
2720
+ });
2712
2721
  const guild = new Guild2(this.client, data);
2713
2722
  this.set(guild.id, guild);
2714
2723
  return guild;
@@ -2839,7 +2848,9 @@ handlers.set("MESSAGE_DELETE", async (client, d) => {
2839
2848
  client.emit(Events.MessageDelete, {
2840
2849
  id: data.id,
2841
2850
  channelId: data.channel_id,
2842
- channel
2851
+ channel,
2852
+ content: data.content ?? null,
2853
+ authorId: data.author_id ?? null
2843
2854
  });
2844
2855
  });
2845
2856
  handlers.set("MESSAGE_REACTION_ADD", async (client, d) => {
@@ -2981,13 +2992,27 @@ handlers.set("GUILD_MEMBER_UPDATE", async (client, d) => {
2981
2992
  handlers.set("GUILD_MEMBER_REMOVE", async (client, d) => {
2982
2993
  const data = d;
2983
2994
  const guild = client.guilds.get(data.guild_id);
2984
- if (guild) {
2985
- const member = guild.members.get(data.user.id);
2986
- if (member) {
2987
- guild.members.delete(data.user.id);
2988
- client.emit(Events.GuildMemberRemove, member);
2989
- }
2995
+ if (!guild || !data.user?.id) return;
2996
+ const { GuildMember: GuildMember2 } = await Promise.resolve().then(() => (init_GuildMember(), GuildMember_exports));
2997
+ let member = guild.members.get(data.user.id);
2998
+ if (member) {
2999
+ guild.members.delete(data.user.id);
3000
+ } else {
3001
+ const user = {
3002
+ ...data.user,
3003
+ id: data.user.id,
3004
+ username: data.user.username ?? "Unknown",
3005
+ discriminator: data.user.discriminator ?? "0"
3006
+ };
3007
+ const memberData = {
3008
+ user,
3009
+ roles: [],
3010
+ joined_at: (/* @__PURE__ */ new Date(0)).toISOString(),
3011
+ nick: null
3012
+ };
3013
+ member = new GuildMember2(client, memberData, guild);
2990
3014
  }
3015
+ client.emit(Events.GuildMemberRemove, member);
2991
3016
  });
2992
3017
  handlers.set("INTERACTION_CREATE", async (client, d) => {
2993
3018
  client.emit(Events.InteractionCreate, d);
@@ -3143,20 +3168,31 @@ var Client = class extends import_events3.EventEmitter {
3143
3168
  * Resolve an emoji argument to the API format (unicode or "name:id").
3144
3169
  * Supports: <:name:id>, :name:, name:id, { name, id }, unicode.
3145
3170
  * When id is missing (e.g. :name:), fetches guild emojis if guildId provided.
3171
+ * When reacting in a guild channel, custom emojis must be from that guild.
3146
3172
  * @param emoji - Emoji string or object
3147
3173
  * @param guildId - Guild ID for resolving custom emoji by name (required when id is missing)
3148
3174
  * @returns API-formatted string for reactions
3149
3175
  */
3150
3176
  async resolveEmoji(emoji, guildId) {
3151
3177
  if (typeof emoji === "object" && emoji.id) {
3178
+ if (guildId) {
3179
+ await this.assertEmojiInGuild(emoji.id, guildId);
3180
+ }
3152
3181
  return (0, import_util7.formatEmoji)({ name: emoji.name, id: emoji.id, animated: emoji.animated });
3153
3182
  }
3154
3183
  const parsed = (0, import_util7.parseEmoji)(
3155
3184
  typeof emoji === "string" ? emoji : emoji.id ? `:${emoji.name}:` : emoji.name
3156
3185
  );
3157
3186
  if (!parsed) throw new Error("Invalid emoji");
3158
- if (parsed.id) return (0, import_util7.formatEmoji)(parsed);
3187
+ if (parsed.id) {
3188
+ if (guildId) {
3189
+ await this.assertEmojiInGuild(parsed.id, guildId);
3190
+ }
3191
+ return (0, import_util7.formatEmoji)(parsed);
3192
+ }
3159
3193
  if (!/^\w+$/.test(parsed.name)) return encodeURIComponent(parsed.name);
3194
+ const unicodeFromShortcode = (0, import_util7.getUnicodeFromShortcode)(parsed.name);
3195
+ if (unicodeFromShortcode) return encodeURIComponent(unicodeFromShortcode);
3160
3196
  if (guildId) {
3161
3197
  const emojis = await this.rest.get(import_types20.Routes.guildEmojis(guildId));
3162
3198
  const list = Array.isArray(emojis) ? emojis : Object.values(emojis ?? {});
@@ -3173,6 +3209,21 @@ var Client = class extends import_events3.EventEmitter {
3173
3209
  }
3174
3210
  return encodeURIComponent(parsed.name);
3175
3211
  }
3212
+ /**
3213
+ * Asserts that a custom emoji (by id) belongs to the given guild.
3214
+ * Used when reacting in guild channels to reject emojis from other servers.
3215
+ * @throws FluxerError with EMOJI_NOT_IN_GUILD if the emoji is not in the guild
3216
+ */
3217
+ async assertEmojiInGuild(emojiId, guildId) {
3218
+ const emojis = await this.rest.get(import_types20.Routes.guildEmojis(guildId));
3219
+ const list = Array.isArray(emojis) ? emojis : Object.values(emojis ?? {});
3220
+ const found = list.some((e) => e.id === emojiId);
3221
+ if (!found) {
3222
+ throw new FluxerError("Custom emoji is from another server. Use an emoji from this server.", {
3223
+ code: ErrorCodes.EmojiNotInGuild
3224
+ });
3225
+ }
3226
+ }
3176
3227
  /**
3177
3228
  * Fetch instance info (API URL, gateway URL, features). GET /instance.
3178
3229
  * Does not require authentication.
@@ -3362,11 +3413,13 @@ var import_builders3 = require("@fluxerjs/builders");
3362
3413
  var import_types21 = require("@fluxerjs/types");
3363
3414
  var import_util8 = require("@fluxerjs/util");
3364
3415
  var import_util9 = require("@fluxerjs/util");
3416
+ init_Constants();
3365
3417
  init_cdn();
3366
3418
  // Annotate the CommonJS export names for ESM import in node:
3367
3419
  0 && (module.exports = {
3368
3420
  AttachmentBuilder,
3369
3421
  Base,
3422
+ CDN_URL,
3370
3423
  CategoryChannel,
3371
3424
  Channel,
3372
3425
  ChannelManager,
@@ -3398,6 +3451,7 @@ init_cdn();
3398
3451
  ReactionCollector,
3399
3452
  Role,
3400
3453
  Routes,
3454
+ STATIC_CDN_URL,
3401
3455
  TextChannel,
3402
3456
  User,
3403
3457
  UserFlagsBitField,