@fluxerjs/core 1.1.7 → 1.1.9
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.
- package/dist/Channel-2WNJ445K.mjs +17 -0
- package/dist/Channel-3TAZVAC5.mjs +21 -0
- package/dist/Channel-4WVFDOCG.mjs +22 -0
- package/dist/Channel-ADRBK5JN.mjs +19 -0
- package/dist/Channel-AMX4IOLY.mjs +20 -0
- package/dist/Channel-BEZOW4VC.mjs +17 -0
- package/dist/Channel-BLJMK4T5.mjs +19 -0
- package/dist/Channel-DPLLHL7Y.mjs +19 -0
- package/dist/Channel-DTJWTA4N.mjs +20 -0
- package/dist/Channel-ELXWZIY4.mjs +20 -0
- package/dist/Channel-EYNPKHH2.mjs +20 -0
- package/dist/Channel-EZAKOCLZ.mjs +19 -0
- package/dist/Channel-EZSBZJTJ.mjs +20 -0
- package/dist/Channel-HBKXUNL5.mjs +22 -0
- package/dist/Channel-HK7VT35N.mjs +22 -0
- package/dist/Channel-HM2UY4DN.mjs +17 -0
- package/dist/Channel-ICWNKXBR.mjs +19 -0
- package/dist/Channel-IESEJJGP.mjs +22 -0
- package/dist/Channel-IGCIDQB3.mjs +19 -0
- package/dist/Channel-IKL3SJXN.mjs +17 -0
- package/dist/Channel-JFQXR7SZ.mjs +22 -0
- package/dist/Channel-KILNV5V3.mjs +17 -0
- package/dist/Channel-KOTARBSF.mjs +17 -0
- package/dist/Channel-LPAK4B5K.mjs +20 -0
- package/dist/Channel-LXEGJ3BH.mjs +20 -0
- package/dist/Channel-MGABB7NZ.mjs +19 -0
- package/dist/Channel-MS2XLT5H.mjs +19 -0
- package/dist/Channel-MXKULRP2.mjs +19 -0
- package/dist/Channel-NBJUUPIA.mjs +22 -0
- package/dist/Channel-NFVAR3VH.mjs +19 -0
- package/dist/Channel-NKQB7NPD.mjs +20 -0
- package/dist/Channel-ON7O3D3M.mjs +17 -0
- package/dist/Channel-OSOB6ELO.mjs +19 -0
- package/dist/Channel-PCUCLDOG.mjs +22 -0
- package/dist/Channel-QEJBBSOB.mjs +20 -0
- package/dist/Channel-RB4X65FA.mjs +19 -0
- package/dist/Channel-SM7NMKEO.mjs +19 -0
- package/dist/Channel-TOAQGSRX.mjs +17 -0
- package/dist/Channel-UHN4IOM5.mjs +19 -0
- package/dist/Channel-UNCURQZU.mjs +19 -0
- package/dist/Channel-VENHOL7S.mjs +17 -0
- package/dist/Channel-VFCLGG5D.mjs +22 -0
- package/dist/Channel-WDHLDQJC.mjs +22 -0
- package/dist/Channel-WJZZSNML.mjs +21 -0
- package/dist/Channel-XUJNTC3R.mjs +21 -0
- package/dist/Channel-YB3LWDHZ.mjs +22 -0
- package/dist/Channel-YVGPVOVB.mjs +17 -0
- package/dist/Channel-ZABU3K5W.mjs +19 -0
- package/dist/Channel-ZNYZSC7R.mjs +20 -0
- package/dist/ClientUser-2OHUFUV5.mjs +9 -0
- package/dist/ClientUser-35IVTH2S.mjs +8 -0
- package/dist/ClientUser-4MC4EFLT.mjs +8 -0
- package/dist/ClientUser-4TYNCHEP.mjs +7 -0
- package/dist/ClientUser-576UGSIO.mjs +8 -0
- package/dist/ClientUser-5DS73MJV.mjs +8 -0
- package/dist/ClientUser-5KQNQHUB.mjs +8 -0
- package/dist/ClientUser-5NZXMF6I.mjs +8 -0
- package/dist/ClientUser-6HBAPU6H.mjs +8 -0
- package/dist/ClientUser-76LLHLHL.mjs +8 -0
- package/dist/ClientUser-7CQO74QQ.mjs +8 -0
- package/dist/ClientUser-A73AHVOW.mjs +8 -0
- package/dist/ClientUser-AJLODDUV.mjs +8 -0
- package/dist/ClientUser-ALGC4FNY.mjs +8 -0
- package/dist/ClientUser-BKDGVNAY.mjs +8 -0
- package/dist/ClientUser-CDU2QEMV.mjs +8 -0
- package/dist/ClientUser-D3ZNDAJU.mjs +8 -0
- package/dist/ClientUser-DJO2FS7P.mjs +8 -0
- package/dist/ClientUser-GBD34QB5.mjs +9 -0
- package/dist/ClientUser-GISPHEM6.mjs +8 -0
- package/dist/ClientUser-ISZ3MTSZ.mjs +8 -0
- package/dist/ClientUser-J6HQVSDJ.mjs +9 -0
- package/dist/ClientUser-JG4EX6F4.mjs +8 -0
- package/dist/ClientUser-K2T5J3YS.mjs +8 -0
- package/dist/ClientUser-KWOQRQPD.mjs +8 -0
- package/dist/ClientUser-LBK6K4YD.mjs +8 -0
- package/dist/ClientUser-LLL6WX35.mjs +8 -0
- package/dist/ClientUser-MOMS7WLQ.mjs +8 -0
- package/dist/ClientUser-N7ZXYAQ3.mjs +8 -0
- package/dist/ClientUser-OGDA7D77.mjs +8 -0
- package/dist/ClientUser-PXAAKR2P.mjs +8 -0
- package/dist/ClientUser-QBJLDW5Y.mjs +8 -0
- package/dist/ClientUser-QQXLZ5WP.mjs +8 -0
- package/dist/ClientUser-RDGNVUVQ.mjs +8 -0
- package/dist/ClientUser-RNDKHQ3Z.mjs +9 -0
- package/dist/ClientUser-RXOB6K6C.mjs +8 -0
- package/dist/ClientUser-TN2LZ6NT.mjs +8 -0
- package/dist/ClientUser-TRA2WERQ.mjs +8 -0
- package/dist/ClientUser-U5TR5GIT.mjs +8 -0
- package/dist/ClientUser-UKG5K744.mjs +8 -0
- package/dist/ClientUser-V43WRWTN.mjs +8 -0
- package/dist/ClientUser-VZ2JS6RD.mjs +8 -0
- package/dist/ClientUser-WFID4IXD.mjs +8 -0
- package/dist/ClientUser-WWXUMO5O.mjs +8 -0
- package/dist/ClientUser-XX2PE3TB.mjs +8 -0
- package/dist/ClientUser-YEZNAK3W.mjs +8 -0
- package/dist/ClientUser-YQXVRO2A.mjs +8 -0
- package/dist/ClientUser-ZDE7A36W.mjs +8 -0
- package/dist/Guild-2LUH7U7B.mjs +10 -0
- package/dist/Guild-2OVJTJYO.mjs +10 -0
- package/dist/Guild-2P77HBQM.mjs +11 -0
- package/dist/Guild-36EGAAEW.mjs +8 -0
- package/dist/Guild-3ETPHHF5.mjs +12 -0
- package/dist/Guild-3PLQFT2I.mjs +12 -0
- package/dist/Guild-5UBZNIGD.mjs +9 -0
- package/dist/Guild-63VQBPKF.mjs +11 -0
- package/dist/Guild-AA7WOQRM.mjs +12 -0
- package/dist/Guild-AJNEG7LH.mjs +10 -0
- package/dist/Guild-ARMAVVJK.mjs +10 -0
- package/dist/Guild-AYHGH54T.mjs +10 -0
- package/dist/Guild-BRYNE2LO.mjs +11 -0
- package/dist/Guild-CA3W6DOD.mjs +8 -0
- package/dist/Guild-EATTLGFJ.mjs +11 -0
- package/dist/Guild-F6JU3UR6.mjs +11 -0
- package/dist/Guild-FE3A7REJ.mjs +9 -0
- package/dist/Guild-FMBCTAV4.mjs +12 -0
- package/dist/Guild-FSGTZATW.mjs +12 -0
- package/dist/Guild-FSIEY6C5.mjs +11 -0
- package/dist/Guild-FTMIT5T5.mjs +10 -0
- package/dist/Guild-GIXJJBFM.mjs +9 -0
- package/dist/Guild-GOQZ7XP4.mjs +8 -0
- package/dist/Guild-H7AUG7DI.mjs +10 -0
- package/dist/Guild-I4O63HEY.mjs +12 -0
- package/dist/Guild-IRBC63IR.mjs +12 -0
- package/dist/Guild-ITSZV3DE.mjs +9 -0
- package/dist/Guild-K5AJM2C7.mjs +12 -0
- package/dist/Guild-KKIQCGCV.mjs +11 -0
- package/dist/Guild-L6OWKAO6.mjs +11 -0
- package/dist/Guild-MDW7KF33.mjs +12 -0
- package/dist/Guild-NAD5F5DP.mjs +12 -0
- package/dist/Guild-NHNQ5TIA.mjs +8 -0
- package/dist/Guild-NNMSFIA6.mjs +12 -0
- package/dist/Guild-OKTDQS5K.mjs +12 -0
- package/dist/Guild-PO5D3NEA.mjs +10 -0
- package/dist/Guild-PS2BCXNB.mjs +11 -0
- package/dist/Guild-RPQGTXB7.mjs +12 -0
- package/dist/Guild-RSNXYHFM.mjs +10 -0
- package/dist/Guild-S3AOK72T.mjs +9 -0
- package/dist/Guild-S3YWFZTC.mjs +11 -0
- package/dist/Guild-S436SLOP.mjs +9 -0
- package/dist/Guild-TM6YGJWB.mjs +10 -0
- package/dist/Guild-TZOCAXXV.mjs +9 -0
- package/dist/Guild-WAFXK2EX.mjs +9 -0
- package/dist/Guild-WGZEW2AP.mjs +10 -0
- package/dist/Guild-WNPS7DBT.mjs +11 -0
- package/dist/Guild-WQA4CPDE.mjs +10 -0
- package/dist/Guild-XPOMHZZG.mjs +9 -0
- package/dist/Guild-ZOFF5LFR.mjs +8 -0
- package/dist/GuildBan-M4PA3HAA.mjs +7 -0
- package/dist/GuildEmoji-LP55RVIV.mjs +7 -0
- package/dist/GuildEmoji-OCXBPS6I.mjs +8 -0
- package/dist/GuildMember-3PC5QAU4.mjs +8 -0
- package/dist/GuildMember-43B5E5CH.mjs +9 -0
- package/dist/GuildMember-B7IFPCWC.mjs +9 -0
- package/dist/GuildMember-BJJNCL6W.mjs +8 -0
- package/dist/GuildMember-DW2N6ITI.mjs +7 -0
- package/dist/GuildMember-E72JU6JE.mjs +9 -0
- package/dist/GuildMember-FSGDPKUU.mjs +9 -0
- package/dist/GuildMember-FX2JAWES.mjs +8 -0
- package/dist/GuildMember-GS72FCQD.mjs +9 -0
- package/dist/GuildMember-H7CP2HMW.mjs +9 -0
- package/dist/GuildMember-K5FLBNHV.mjs +8 -0
- package/dist/GuildMember-L35WIMIH.mjs +9 -0
- package/dist/GuildMember-OXTGJ3MF.mjs +9 -0
- package/dist/GuildMember-RGVPVUAG.mjs +9 -0
- package/dist/GuildMember-RZWZ3OCG.mjs +7 -0
- package/dist/GuildMember-UBNHZBCO.mjs +8 -0
- package/dist/GuildMember-UU26WJGN.mjs +8 -0
- package/dist/GuildMember-XF7K2R45.mjs +9 -0
- package/dist/GuildMember-YWXA2FVO.mjs +8 -0
- package/dist/GuildSticker-B7AZADJR.mjs +8 -0
- package/dist/GuildSticker-STHUU6RM.mjs +7 -0
- package/dist/Invite-4WSFNMH4.mjs +7 -0
- package/dist/Message-23Z3RPCZ.mjs +9 -0
- package/dist/Message-2MPW7ZWA.mjs +7 -0
- package/dist/Message-33APPS76.mjs +9 -0
- package/dist/Message-3XJH5D7I.mjs +7 -0
- package/dist/Message-43PACCS7.mjs +8 -0
- package/dist/Message-5RFJTHNU.mjs +7 -0
- package/dist/Message-6IYEYSV6.mjs +7 -0
- package/dist/Message-6RSAGIRP.mjs +8 -0
- package/dist/Message-6YRGUZSW.mjs +9 -0
- package/dist/Message-AKOXO3LZ.mjs +7 -0
- package/dist/Message-C4A23STA.mjs +9 -0
- package/dist/Message-DXBXIQIJ.mjs +9 -0
- package/dist/Message-E3WU3J2Q.mjs +8 -0
- package/dist/Message-EMJ3JUVX.mjs +8 -0
- package/dist/Message-F3K5GNIB.mjs +8 -0
- package/dist/Message-F4SCFNF5.mjs +8 -0
- package/dist/Message-G4KR7O2J.mjs +7 -0
- package/dist/Message-O4CXWR57.mjs +7 -0
- package/dist/Message-OFIVTTAZ.mjs +9 -0
- package/dist/Message-ONWLVMU7.mjs +8 -0
- package/dist/Message-OXTQHFCF.mjs +8 -0
- package/dist/Message-PZUU7ZFR.mjs +9 -0
- package/dist/Message-QSDAA2HG.mjs +9 -0
- package/dist/Message-QXPHQOVC.mjs +8 -0
- package/dist/Message-R7GZYIQQ.mjs +8 -0
- package/dist/Message-SHUOVKB5.mjs +7 -0
- package/dist/Message-U3UPCS7C.mjs +7 -0
- package/dist/Message-W624MHJF.mjs +8 -0
- package/dist/Message-XB5WNMHL.mjs +9 -0
- package/dist/Message-ZCS7IGJX.mjs +8 -0
- package/dist/Message-ZL2PJPQA.mjs +8 -0
- package/dist/MessageReaction-AYSOCOMX.mjs +8 -0
- package/dist/MessageReaction-FSX3HHRZ.mjs +7 -0
- package/dist/MessageReaction-GNM5YJ4V.mjs +8 -0
- package/dist/MessageReaction-ME5KGEG4.mjs +8 -0
- package/dist/MessageReaction-MUBQ6GIN.mjs +8 -0
- package/dist/MessageReaction-NIAHV3EM.mjs +8 -0
- package/dist/MessageReaction-PZ53DNAW.mjs +8 -0
- package/dist/MessageReaction-TQFIS53C.mjs +8 -0
- package/dist/MessageReaction-V4UZ7OXE.mjs +7 -0
- package/dist/MessageReaction-XRPYZDSC.mjs +7 -0
- package/dist/Role-5MWSGL66.mjs +7 -0
- package/dist/Role-DWZ2YDFB.mjs +7 -0
- package/dist/Role-J7ENREP6.mjs +7 -0
- package/dist/Role-N2ZEMRUQ.mjs +7 -0
- package/dist/Role-SVLWIAMN.mjs +7 -0
- package/dist/Webhook-2MQESB7Z.mjs +7 -0
- package/dist/Webhook-2RHBXH7R.mjs +7 -0
- package/dist/Webhook-32VJD4AL.mjs +7 -0
- package/dist/Webhook-6BCEHBZ6.mjs +8 -0
- package/dist/Webhook-A5KZ4S4N.mjs +10 -0
- package/dist/Webhook-AG6QFM2I.mjs +7 -0
- package/dist/Webhook-EARQN5EG.mjs +10 -0
- package/dist/Webhook-GB77DXAF.mjs +10 -0
- package/dist/Webhook-H4IMADRQ.mjs +10 -0
- package/dist/Webhook-H7VKDOJX.mjs +7 -0
- package/dist/Webhook-IHLGW7NL.mjs +8 -0
- package/dist/Webhook-L2D43K5N.mjs +7 -0
- package/dist/Webhook-LEYRYH23.mjs +7 -0
- package/dist/Webhook-NPIXOCEH.mjs +10 -0
- package/dist/Webhook-NUQCJAWZ.mjs +7 -0
- package/dist/Webhook-OXXVFNNU.mjs +9 -0
- package/dist/Webhook-RWDDYW2Q.mjs +10 -0
- package/dist/Webhook-SNLT45PN.mjs +7 -0
- package/dist/Webhook-TGAZZRQQ.mjs +7 -0
- package/dist/Webhook-WIF6OGPA.mjs +10 -0
- package/dist/Webhook-YL3NNZDI.mjs +8 -0
- package/dist/Webhook-ZL7A4766.mjs +10 -0
- package/dist/chunk-226TVUXE.mjs +136 -0
- package/dist/chunk-23KVLHIZ.mjs +147 -0
- package/dist/chunk-24E6OQID.mjs +193 -0
- package/dist/chunk-25Q2GMSK.mjs +137 -0
- package/dist/chunk-26GCIGHL.mjs +52 -0
- package/dist/chunk-2CIZJCEO.mjs +132 -0
- package/dist/chunk-2FIZRRSO.mjs +88 -0
- package/dist/chunk-2GXOBRSF.mjs +184 -0
- package/dist/chunk-2HH5NZT3.mjs +137 -0
- package/dist/chunk-2QU3TS4S.mjs +496 -0
- package/dist/chunk-367NAOYQ.mjs +127 -0
- package/dist/chunk-3BJ4OOCQ.mjs +86 -0
- package/dist/chunk-3CNUPFDI.mjs +59 -0
- package/dist/chunk-3KOM5WYW.mjs +502 -0
- package/dist/chunk-3UJYRWDI.mjs +132 -0
- package/dist/chunk-4DBGMFOQ.mjs +14 -0
- package/dist/chunk-4F765HVV.mjs +137 -0
- package/dist/chunk-4OQ4XACY.mjs +190 -0
- package/dist/chunk-4PLHVYRY.mjs +579 -0
- package/dist/chunk-4QKSUNTV.mjs +263 -0
- package/dist/chunk-4S42USSG.mjs +137 -0
- package/dist/chunk-4SWR3ZEZ.mjs +579 -0
- package/dist/chunk-4XJIM6SC.mjs +315 -0
- package/dist/chunk-52L544OS.mjs +259 -0
- package/dist/chunk-53Y37KRG.mjs +111 -0
- package/dist/chunk-5APVDWQU.mjs +184 -0
- package/dist/chunk-5HQRX3KJ.mjs +70 -0
- package/dist/chunk-5I54OXBG.mjs +111 -0
- package/dist/chunk-5MPQG6OV.mjs +120 -0
- package/dist/chunk-5RCTNYPY.mjs +151 -0
- package/dist/chunk-5VIV7EPG.mjs +180 -0
- package/dist/chunk-62S4AB2S.mjs +54 -0
- package/dist/chunk-6C3LYAUX.mjs +496 -0
- package/dist/chunk-6CEFV56Z.mjs +142 -0
- package/dist/chunk-6CEMF2LO.mjs +14 -0
- package/dist/chunk-6EBNOON4.mjs +86 -0
- package/dist/chunk-6GF5H3JH.mjs +137 -0
- package/dist/chunk-6IGR45JC.mjs +137 -0
- package/dist/chunk-6LREQZXU.mjs +259 -0
- package/dist/chunk-6S3BDHBI.mjs +28 -0
- package/dist/chunk-6VWXGTX2.mjs +585 -0
- package/dist/chunk-72OY7B3D.mjs +72 -0
- package/dist/chunk-737R7BFN.mjs +112 -0
- package/dist/chunk-7EPDZMZS.mjs +264 -0
- package/dist/chunk-7FYM4D2E.mjs +50 -0
- package/dist/chunk-7GZN6JXT.mjs +50 -0
- package/dist/chunk-7H3TKJUT.mjs +53 -0
- package/dist/chunk-7K35BCCD.mjs +263 -0
- package/dist/chunk-7SIS5CUA.mjs +14 -0
- package/dist/chunk-ABGLEIZG.mjs +191 -0
- package/dist/chunk-AC7PFILS.mjs +107 -0
- package/dist/chunk-AI5E6LS5.mjs +361 -0
- package/dist/chunk-AK6Q62VE.mjs +109 -0
- package/dist/chunk-AKJZBSCE.mjs +155 -0
- package/dist/chunk-BAZBIWMG.mjs +209 -0
- package/dist/chunk-BF7OCTE6.mjs +142 -0
- package/dist/chunk-BFSGXVZ7.mjs +148 -0
- package/dist/chunk-BGJSL6JI.mjs +14 -0
- package/dist/chunk-BI2MRKB7.mjs +150 -0
- package/dist/chunk-BKPVGBOT.mjs +8 -0
- package/dist/chunk-BMAFJS7T.mjs +575 -0
- package/dist/chunk-BUEXP5SZ.mjs +70 -0
- package/dist/chunk-BUIHWKTK.mjs +132 -0
- package/dist/chunk-BYTAODAO.mjs +70 -0
- package/dist/chunk-CEABHTAF.mjs +43 -0
- package/dist/chunk-CJLJBBFO.mjs +54 -0
- package/dist/chunk-CJVQNARM.mjs +145 -0
- package/dist/chunk-CNCPVNXS.mjs +160 -0
- package/dist/chunk-CNXK6SYW.mjs +220 -0
- package/dist/chunk-CQ5ZVTLX.mjs +71 -0
- package/dist/chunk-CQ7MDBHD.mjs +199 -0
- package/dist/chunk-CREI4MOS.mjs +406 -0
- package/dist/chunk-DJBCSVZX.mjs +102 -0
- package/dist/chunk-DJQXAQLR.mjs +496 -0
- package/dist/chunk-DLROMCIJ.mjs +50 -0
- package/dist/chunk-DLVBAJTE.mjs +52 -0
- package/dist/chunk-DNDCNIN2.mjs +263 -0
- package/dist/chunk-DO7MLFT6.mjs +579 -0
- package/dist/chunk-DPZHAYCK.mjs +71 -0
- package/dist/chunk-DQ4TNBPG.mjs +63 -0
- package/dist/chunk-DSPSRPHF.mjs +200 -0
- package/dist/chunk-DUQAD7F6.mjs +173 -0
- package/dist/chunk-E27LKSSS.mjs +142 -0
- package/dist/chunk-E6SU3TR5.mjs +64 -0
- package/dist/chunk-E75ZVY3I.mjs +14 -0
- package/dist/chunk-EC4ES5VH.mjs +171 -0
- package/dist/chunk-EF32ILJL.mjs +102 -0
- package/dist/chunk-EI2LRVWJ.mjs +207 -0
- package/dist/chunk-F2EEQP5O.mjs +86 -0
- package/dist/chunk-F3JU2ZCE.mjs +575 -0
- package/dist/chunk-FGFWZMUQ.mjs +64 -0
- package/dist/chunk-FH6ICLNP.mjs +142 -0
- package/dist/chunk-FHFXUKFP.mjs +147 -0
- package/dist/chunk-FJS5FBXO.mjs +233 -0
- package/dist/chunk-FK5X6HFL.mjs +111 -0
- package/dist/chunk-FNFID6QB.mjs +45 -0
- package/dist/chunk-FRVZ7D6D.mjs +293 -0
- package/dist/chunk-FSXTONUR.mjs +147 -0
- package/dist/chunk-FVZY7IZ4.mjs +575 -0
- package/dist/chunk-G2YVDCRB.mjs +137 -0
- package/dist/chunk-G4L7WAJS.mjs +64 -0
- package/dist/chunk-G6F6VL4O.mjs +54 -0
- package/dist/chunk-GCIJYVRC.mjs +86 -0
- package/dist/chunk-GEPISSKR.mjs +263 -0
- package/dist/chunk-GFUJVQ7L.mjs +64 -0
- package/dist/chunk-GIIJQKAV.mjs +164 -0
- package/dist/chunk-GUNWHOQO.mjs +42 -0
- package/dist/chunk-GWSLXZES.mjs +263 -0
- package/dist/chunk-H5KYMLLB.mjs +14 -0
- package/dist/chunk-HAUQAFOF.mjs +97 -0
- package/dist/chunk-HBF5QEDH.mjs +42 -0
- package/dist/chunk-I2MHQEEZ.mjs +575 -0
- package/dist/chunk-IE3V5VLN.mjs +64 -0
- package/dist/chunk-IHXSHE2Z.mjs +56 -0
- package/dist/chunk-IPHFDI2L.mjs +68 -0
- package/dist/chunk-J3EIGOXQ.mjs +72 -0
- package/dist/chunk-JHNKZIHY.mjs +137 -0
- package/dist/chunk-JJHZBWZM.mjs +118 -0
- package/dist/chunk-JOUNLDB6.mjs +225 -0
- package/dist/chunk-JS55BGBM.mjs +157 -0
- package/dist/chunk-JTL3CVFU.mjs +114 -0
- package/dist/chunk-JVEOQFUX.mjs +52 -0
- package/dist/chunk-JW4BRX5E.mjs +140 -0
- package/dist/chunk-K2ZJWUV6.mjs +86 -0
- package/dist/chunk-K6NLD6SB.mjs +64 -0
- package/dist/chunk-KALJBR6Z.mjs +142 -0
- package/dist/chunk-KBXXX7L4.mjs +209 -0
- package/dist/chunk-KHE3G7SG.mjs +184 -0
- package/dist/chunk-KOTF4TTZ.mjs +403 -0
- package/dist/chunk-KQNLUUBZ.mjs +137 -0
- package/dist/chunk-KQXR3GN2.mjs +140 -0
- package/dist/chunk-KR26CBFE.mjs +58 -0
- package/dist/chunk-KWA5TKXS.mjs +574 -0
- package/dist/chunk-KXI2IOJM.mjs +97 -0
- package/dist/chunk-KXJLNURI.mjs +153 -0
- package/dist/chunk-KXY2PTDQ.mjs +263 -0
- package/dist/chunk-L25ON7WB.mjs +52 -0
- package/dist/chunk-LBBIQOSH.mjs +53 -0
- package/dist/chunk-LD7ATCWW.mjs +97 -0
- package/dist/chunk-LDR7MZLX.mjs +227 -0
- package/dist/chunk-LRMB4VBU.mjs +112 -0
- package/dist/chunk-LTO3TVUW.mjs +71 -0
- package/dist/chunk-LU2SNC5G.mjs +392 -0
- package/dist/chunk-LVMFPATK.mjs +54 -0
- package/dist/chunk-MILMGDQ2.mjs +15 -0
- package/dist/chunk-MKEHOFA2.mjs +43 -0
- package/dist/chunk-MSMABD52.mjs +72 -0
- package/dist/chunk-MTGPR7WY.mjs +142 -0
- package/dist/chunk-MTMKXMB3.mjs +496 -0
- package/dist/chunk-MWRADLNP.mjs +86 -0
- package/dist/chunk-N65TF5SP.mjs +184 -0
- package/dist/chunk-NCBAWY7A.mjs +139 -0
- package/dist/chunk-ND223BOF.mjs +256 -0
- package/dist/chunk-NGJKJ4R2.mjs +184 -0
- package/dist/chunk-NISGA2YZ.mjs +55 -0
- package/dist/chunk-NM6PHRGO.mjs +263 -0
- package/dist/chunk-NMMHN5LB.mjs +579 -0
- package/dist/chunk-NNKU4OZY.mjs +147 -0
- package/dist/chunk-NNZUZLG3.mjs +416 -0
- package/dist/chunk-NOLYW3V4.mjs +140 -0
- package/dist/chunk-NYEWIYVQ.mjs +86 -0
- package/dist/chunk-NZJJ7FRK.mjs +339 -0
- package/dist/chunk-O77KTDMH.mjs +44 -0
- package/dist/chunk-OALSL7C2.mjs +212 -0
- package/dist/chunk-OGJSTE4A.mjs +86 -0
- package/dist/chunk-OHIHIQAS.mjs +102 -0
- package/dist/chunk-OJJADMUB.mjs +71 -0
- package/dist/chunk-OMFDQURC.mjs +84 -0
- package/dist/chunk-ORRPH43K.mjs +127 -0
- package/dist/chunk-OXO3HVCT.mjs +124 -0
- package/dist/chunk-P4IRDGB4.mjs +43 -0
- package/dist/chunk-PD42OYFT.mjs +150 -0
- package/dist/chunk-PJ62NB7Z.mjs +319 -0
- package/dist/chunk-PL26CDZN.mjs +97 -0
- package/dist/chunk-PM2IUGNR.mjs +29 -0
- package/dist/chunk-PO5JZQVN.mjs +111 -0
- package/dist/chunk-PQR6WIIY.mjs +348 -0
- package/dist/chunk-PS6PZL5W.mjs +86 -0
- package/dist/chunk-PTBV5DCB.mjs +97 -0
- package/dist/chunk-PXZCOEZ6.mjs +184 -0
- package/dist/chunk-PYYXC7US.mjs +76 -0
- package/dist/chunk-Q4W4ODBP.mjs +319 -0
- package/dist/chunk-QAJ4C5RT.mjs +263 -0
- package/dist/chunk-QDCFQF6J.mjs +36 -0
- package/dist/chunk-QDNFJVVE.mjs +70 -0
- package/dist/chunk-QG7OB5MD.mjs +86 -0
- package/dist/chunk-QM7TE5C3.mjs +97 -0
- package/dist/chunk-QRQG2BI2.mjs +67 -0
- package/dist/chunk-QXJNV5EJ.mjs +110 -0
- package/dist/chunk-QYAZXDXI.mjs +142 -0
- package/dist/chunk-RCP27MRC.mjs +33 -0
- package/dist/chunk-RGLEJWLU.mjs +173 -0
- package/dist/chunk-RIXU6NZ2.mjs +122 -0
- package/dist/chunk-RNDHAIPS.mjs +64 -0
- package/dist/chunk-RTSLRXJC.mjs +122 -0
- package/dist/chunk-RWFKZ3DF.mjs +413 -0
- package/dist/chunk-RWZ3ORIM.mjs +136 -0
- package/dist/chunk-RXHJYGSJ.mjs +53 -0
- package/dist/chunk-SCOVKXZ7.mjs +223 -0
- package/dist/chunk-SGIJ36LI.mjs +259 -0
- package/dist/chunk-SHYMRCLT.mjs +221 -0
- package/dist/chunk-SQVCCSNN.mjs +41 -0
- package/dist/chunk-SU26BEIK.mjs +86 -0
- package/dist/chunk-SW6KNICI.mjs +52 -0
- package/dist/chunk-SY6DVJKB.mjs +184 -0
- package/dist/chunk-T23OBCRC.mjs +295 -0
- package/dist/chunk-T2NSVWBH.mjs +77 -0
- package/dist/chunk-T3PPEX64.mjs +164 -0
- package/dist/chunk-TDQUAKUL.mjs +64 -0
- package/dist/chunk-TE5IC7IP.mjs +36 -0
- package/dist/chunk-TKASBGF7.mjs +62 -0
- package/dist/chunk-TMDZALIN.mjs +110 -0
- package/dist/chunk-TU4VVM34.mjs +23 -0
- package/dist/chunk-U2WETRQJ.mjs +86 -0
- package/dist/chunk-U3RZV7XO.mjs +58 -0
- package/dist/chunk-USHLLE7C.mjs +137 -0
- package/dist/chunk-UU6LVKA3.mjs +112 -0
- package/dist/chunk-UXODHQZH.mjs +41 -0
- package/dist/chunk-V37YOE4P.mjs +184 -0
- package/dist/chunk-V6QVJWJR.mjs +86 -0
- package/dist/chunk-V6T5VMWD.mjs +26 -0
- package/dist/chunk-V72EJZDX.mjs +137 -0
- package/dist/chunk-V7LPVPGH.mjs +305 -0
- package/dist/chunk-VESIRBN4.mjs +263 -0
- package/dist/chunk-VGKL2ALO.mjs +184 -0
- package/dist/chunk-VPZEDAAB.mjs +184 -0
- package/dist/chunk-VQHHSD7C.mjs +97 -0
- package/dist/chunk-VZPN7FNH.mjs +308 -0
- package/dist/chunk-WB5BPM5Q.mjs +55 -0
- package/dist/chunk-WFONGZGK.mjs +42 -0
- package/dist/chunk-WKZ2ZIPO.mjs +112 -0
- package/dist/chunk-WVRHFGGB.mjs +97 -0
- package/dist/chunk-WYSHH4LR.mjs +141 -0
- package/dist/chunk-WZVY7DA6.mjs +44 -0
- package/dist/chunk-X3GPLJGD.mjs +152 -0
- package/dist/chunk-X77DFNE3.mjs +136 -0
- package/dist/chunk-XRLFLKHG.mjs +14 -0
- package/dist/chunk-XTDZQD4A.mjs +110 -0
- package/dist/chunk-XTFNK6PX.mjs +220 -0
- package/dist/chunk-XXCBJJZE.mjs +88 -0
- package/dist/chunk-Y3PX242G.mjs +225 -0
- package/dist/chunk-Y57QWXS4.mjs +122 -0
- package/dist/chunk-YKP7JHV2.mjs +102 -0
- package/dist/chunk-YRCBBEPB.mjs +142 -0
- package/dist/chunk-YSKZR66G.mjs +102 -0
- package/dist/chunk-YUDOACNS.mjs +184 -0
- package/dist/chunk-YVNZMBZ6.mjs +501 -0
- package/dist/chunk-YWE5AILJ.mjs +137 -0
- package/dist/chunk-YYER5QOG.mjs +44 -0
- package/dist/chunk-Z6LVSACJ.mjs +86 -0
- package/dist/chunk-ZFLKX6WD.mjs +97 -0
- package/dist/chunk-ZGMM6IPQ.mjs +79 -0
- package/dist/chunk-ZHNFS3MK.mjs +56 -0
- package/dist/chunk-ZHRQQZ4X.mjs +102 -0
- package/dist/chunk-ZJCAKCMN.mjs +89 -0
- package/dist/chunk-ZKKBIQBA.mjs +413 -0
- package/dist/chunk-ZMIMAMO2.mjs +14 -0
- package/dist/chunk-ZR53XY37.mjs +499 -0
- package/dist/chunk-ZR6MFTT7.mjs +142 -0
- package/dist/chunk-ZVFZIZM2.mjs +150 -0
- package/dist/index.d.mts +22 -4
- package/dist/index.d.ts +22 -4
- package/dist/index.js +46 -10
- package/dist/index.mjs +70 -32
- package/package.json +7 -7
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
import {
|
|
2
|
+
cdnMemberAvatarURL,
|
|
3
|
+
cdnMemberBannerURL
|
|
4
|
+
} from "./chunk-G6F6VL4O.mjs";
|
|
5
|
+
import {
|
|
6
|
+
Base
|
|
7
|
+
} from "./chunk-XNS4O6QJ.mjs";
|
|
8
|
+
|
|
9
|
+
// src/structures/GuildMember.ts
|
|
10
|
+
import { PermissionFlagsMap } from "@fluxerjs/util";
|
|
11
|
+
import { Routes } from "@fluxerjs/types";
|
|
12
|
+
|
|
13
|
+
// src/util/permissions.ts
|
|
14
|
+
import { OverwriteType } from "@fluxerjs/types";
|
|
15
|
+
import { ALL_PERMISSIONS_BIGINT } from "@fluxerjs/util";
|
|
16
|
+
function computePermissions(basePermissions, overwrites, memberRoles, memberId, isOwner) {
|
|
17
|
+
if (isOwner) return ALL_PERMISSIONS_BIGINT;
|
|
18
|
+
let perms = basePermissions;
|
|
19
|
+
for (const overwrite of overwrites ?? []) {
|
|
20
|
+
const applies = overwrite.type === OverwriteType.Role && memberRoles.includes(overwrite.id) || overwrite.type === OverwriteType.Member && overwrite.id === memberId;
|
|
21
|
+
if (!applies) continue;
|
|
22
|
+
const allow = BigInt(overwrite.allow || "0");
|
|
23
|
+
const deny = BigInt(overwrite.deny || "0");
|
|
24
|
+
perms = perms & ~deny | allow;
|
|
25
|
+
}
|
|
26
|
+
return perms;
|
|
27
|
+
}
|
|
28
|
+
function hasPermission(bitfield, permission) {
|
|
29
|
+
const Administrator = 1n << 3n;
|
|
30
|
+
if ((bitfield & Administrator) !== 0n) return true;
|
|
31
|
+
return (bitfield & permission) === permission;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
// src/structures/GuildMember.ts
|
|
35
|
+
var GuildMember = class extends Base {
|
|
36
|
+
client;
|
|
37
|
+
id;
|
|
38
|
+
user;
|
|
39
|
+
guild;
|
|
40
|
+
nick;
|
|
41
|
+
roles;
|
|
42
|
+
joinedAt;
|
|
43
|
+
communicationDisabledUntil;
|
|
44
|
+
mute;
|
|
45
|
+
deaf;
|
|
46
|
+
avatar;
|
|
47
|
+
banner;
|
|
48
|
+
accentColor;
|
|
49
|
+
profileFlags;
|
|
50
|
+
/** @param data - API guild member from GET /guilds/{id}/members or GET /guilds/{id}/members/{user_id} */
|
|
51
|
+
constructor(client, data, guild) {
|
|
52
|
+
super();
|
|
53
|
+
this.client = client;
|
|
54
|
+
this.user = client.getOrCreateUser(data.user);
|
|
55
|
+
this.id = data.user.id;
|
|
56
|
+
this.guild = guild;
|
|
57
|
+
this.nick = data.nick ?? null;
|
|
58
|
+
this.roles = data.roles ?? [];
|
|
59
|
+
this.joinedAt = new Date(data.joined_at);
|
|
60
|
+
this.communicationDisabledUntil = data.communication_disabled_until ? new Date(data.communication_disabled_until) : null;
|
|
61
|
+
this.mute = data.mute ?? false;
|
|
62
|
+
this.deaf = data.deaf ?? false;
|
|
63
|
+
this.avatar = data.avatar ?? null;
|
|
64
|
+
this.banner = data.banner ?? null;
|
|
65
|
+
this.accentColor = data.accent_color ?? null;
|
|
66
|
+
this.profileFlags = data.profile_flags ?? null;
|
|
67
|
+
}
|
|
68
|
+
/** Nickname, or global name, or username. */
|
|
69
|
+
get displayName() {
|
|
70
|
+
return this.nick ?? this.user.globalName ?? this.user.username;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Get the guild-specific avatar URL for this member.
|
|
74
|
+
* Returns null if the member has no guild avatar (use displayAvatarURL for fallback).
|
|
75
|
+
*/
|
|
76
|
+
avatarURL(options) {
|
|
77
|
+
return cdnMemberAvatarURL(this.guild.id, this.id, this.avatar, options);
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Get the avatar URL to display for this member.
|
|
81
|
+
* Uses guild-specific avatar if set, otherwise falls back to the user's avatar.
|
|
82
|
+
*/
|
|
83
|
+
displayAvatarURL(options) {
|
|
84
|
+
return this.avatarURL(options) ?? this.user.displayAvatarURL(options);
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Get the guild-specific banner URL for this member.
|
|
88
|
+
* Returns null if the member has no guild banner.
|
|
89
|
+
*/
|
|
90
|
+
bannerURL(options) {
|
|
91
|
+
return cdnMemberBannerURL(this.guild.id, this.id, this.banner, options);
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Add a role to this member.
|
|
95
|
+
* @param roleId - The role ID to add
|
|
96
|
+
* Requires Manage Roles permission.
|
|
97
|
+
*/
|
|
98
|
+
async addRole(roleId) {
|
|
99
|
+
await this.client.rest.put(Routes.guildMemberRole(this.guild.id, this.id, roleId));
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Remove a role from this member.
|
|
103
|
+
* @param roleId - The role ID to remove
|
|
104
|
+
* Requires Manage Roles permission.
|
|
105
|
+
*/
|
|
106
|
+
async removeRole(roleId) {
|
|
107
|
+
await this.client.rest.delete(Routes.guildMemberRole(this.guild.id, this.id, roleId));
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Edit this guild member. PATCH /guilds/{id}/members/{userId} or /members/@me for the bot.
|
|
111
|
+
* For @me: nick, avatar, banner, bio, pronouns, accent_color, profile_flags, mute, deaf,
|
|
112
|
+
* communication_disabled_until, timeout_reason, channel_id, connection_id.
|
|
113
|
+
* For other members: same plus roles (array of role IDs).
|
|
114
|
+
*/
|
|
115
|
+
async edit(options) {
|
|
116
|
+
const isMe = this.client.user?.id === this.id;
|
|
117
|
+
const route = isMe ? `/guilds/${this.guild.id}/members/@me` : Routes.guildMember(this.guild.id, this.id);
|
|
118
|
+
const data = await this.client.rest.patch(route, {
|
|
119
|
+
body: options,
|
|
120
|
+
auth: true
|
|
121
|
+
});
|
|
122
|
+
this.nick = data.nick ?? this.nick;
|
|
123
|
+
if (data.roles) this.roles = data.roles;
|
|
124
|
+
if (data.communication_disabled_until != null) {
|
|
125
|
+
this.communicationDisabledUntil = data.communication_disabled_until ? new Date(data.communication_disabled_until) : null;
|
|
126
|
+
}
|
|
127
|
+
return this;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Get the member's guild-level permissions (from roles only, no channel overwrites).
|
|
131
|
+
* Use this for server-wide permission checks (e.g. ban, kick, manage roles).
|
|
132
|
+
* @returns Object with has(permission) to check specific permissions
|
|
133
|
+
* @example
|
|
134
|
+
* const perms = member.permissions;
|
|
135
|
+
* if (perms.has(PermissionFlags.BanMembers)) { ... }
|
|
136
|
+
*/
|
|
137
|
+
get permissions() {
|
|
138
|
+
const base = this._computeBasePermissions();
|
|
139
|
+
const ownerId = this.guild.ownerId;
|
|
140
|
+
const isOwner = ownerId != null && ownerId !== "" && String(ownerId) === String(this.id);
|
|
141
|
+
const perms = computePermissions(base, [], [], this.id, isOwner);
|
|
142
|
+
return {
|
|
143
|
+
has(permission) {
|
|
144
|
+
const perm = typeof permission === "number" ? permission : PermissionFlagsMap[String(permission)];
|
|
145
|
+
if (perm === void 0) return false;
|
|
146
|
+
return hasPermission(perms, BigInt(perm));
|
|
147
|
+
}
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Compute the member's effective permissions in a guild channel.
|
|
152
|
+
* Applies role permissions and channel overwrites.
|
|
153
|
+
* @param channel - The guild channel to check permissions for
|
|
154
|
+
* @returns Object with has(permission) to check specific permissions
|
|
155
|
+
* @example
|
|
156
|
+
* const perms = member.permissionsIn(channel);
|
|
157
|
+
* if (perms.has(PermissionFlags.SendMessages)) { ... }
|
|
158
|
+
*/
|
|
159
|
+
permissionsIn(channel) {
|
|
160
|
+
const base = this._computeBasePermissions();
|
|
161
|
+
const ownerId = this.guild.ownerId;
|
|
162
|
+
const isOwner = ownerId != null && ownerId !== "" && String(ownerId) === String(this.id);
|
|
163
|
+
const perms = computePermissions(
|
|
164
|
+
base,
|
|
165
|
+
channel.permissionOverwrites,
|
|
166
|
+
this.roles,
|
|
167
|
+
this.id,
|
|
168
|
+
isOwner
|
|
169
|
+
);
|
|
170
|
+
return {
|
|
171
|
+
has(permission) {
|
|
172
|
+
const perm = typeof permission === "number" ? permission : PermissionFlagsMap[String(permission)];
|
|
173
|
+
if (perm === void 0) return false;
|
|
174
|
+
return hasPermission(perms, BigInt(perm));
|
|
175
|
+
}
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
_computeBasePermissions() {
|
|
179
|
+
let base = 0n;
|
|
180
|
+
const everyone = this.guild.roles.get(this.guild.id);
|
|
181
|
+
if (everyone) base |= BigInt(everyone.permissions);
|
|
182
|
+
for (const roleId of this.roles) {
|
|
183
|
+
if (roleId === this.guild.id) continue;
|
|
184
|
+
const role = this.guild.roles.get(roleId);
|
|
185
|
+
if (role) base |= BigInt(role.permissions);
|
|
186
|
+
}
|
|
187
|
+
return base;
|
|
188
|
+
}
|
|
189
|
+
};
|
|
190
|
+
|
|
191
|
+
export {
|
|
192
|
+
GuildMember
|
|
193
|
+
};
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import {
|
|
2
|
+
CDN_URL
|
|
3
|
+
} from "./chunk-HQMYRYMY.mjs";
|
|
4
|
+
import {
|
|
5
|
+
Base
|
|
6
|
+
} from "./chunk-XNS4O6QJ.mjs";
|
|
7
|
+
|
|
8
|
+
// src/structures/User.ts
|
|
9
|
+
import { Routes } from "@fluxerjs/types";
|
|
10
|
+
var User = class extends Base {
|
|
11
|
+
client;
|
|
12
|
+
id;
|
|
13
|
+
username;
|
|
14
|
+
discriminator;
|
|
15
|
+
globalName;
|
|
16
|
+
avatar;
|
|
17
|
+
bot;
|
|
18
|
+
/** RGB avatar color (e.g. 7577782). Null if not set. */
|
|
19
|
+
avatarColor;
|
|
20
|
+
/** Public flags bitfield. Null if not set. */
|
|
21
|
+
flags;
|
|
22
|
+
/** Whether this is an official system user. */
|
|
23
|
+
system;
|
|
24
|
+
/** Banner hash (from profile, member, or invite context). Null when not available. */
|
|
25
|
+
banner;
|
|
26
|
+
/** @param data - API user from message author, GET /users/{id}, or GET /users/@me */
|
|
27
|
+
constructor(client, data) {
|
|
28
|
+
super();
|
|
29
|
+
this.client = client;
|
|
30
|
+
this.id = data.id;
|
|
31
|
+
this.username = data.username;
|
|
32
|
+
this.discriminator = data.discriminator;
|
|
33
|
+
this.globalName = data.global_name ?? null;
|
|
34
|
+
this.avatar = data.avatar ?? null;
|
|
35
|
+
this.bot = !!data.bot;
|
|
36
|
+
this.avatarColor = data.avatar_color ?? null;
|
|
37
|
+
this.flags = data.flags ?? data.public_flags ?? null;
|
|
38
|
+
this.system = !!data.system;
|
|
39
|
+
this.banner = data.banner ?? null;
|
|
40
|
+
}
|
|
41
|
+
/** Update mutable fields from fresh API data. Used by getOrCreateUser cache. */
|
|
42
|
+
_patch(data) {
|
|
43
|
+
this.username = data.username;
|
|
44
|
+
this.discriminator = data.discriminator;
|
|
45
|
+
this.globalName = data.global_name ?? null;
|
|
46
|
+
this.avatar = data.avatar ?? null;
|
|
47
|
+
if (data.avatar_color !== void 0) this.avatarColor = data.avatar_color;
|
|
48
|
+
if (data.flags !== void 0) this.flags = data.flags;
|
|
49
|
+
if (data.banner !== void 0) this.banner = data.banner;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Get the URL for this user's avatar.
|
|
53
|
+
* Auto-detects animated avatars (hash starting with `a_`) and uses gif extension.
|
|
54
|
+
* @param options - Optional `size` and `extension` (default: png, or gif for animated)
|
|
55
|
+
*/
|
|
56
|
+
avatarURL(options) {
|
|
57
|
+
if (!this.avatar) return null;
|
|
58
|
+
const ext = this.avatar.startsWith("a_") ? "gif" : options?.extension ?? "png";
|
|
59
|
+
const size = options?.size ? `?size=${options.size}` : "";
|
|
60
|
+
return `${CDN_URL}/avatars/${this.id}/${this.avatar}.${ext}${size}`;
|
|
61
|
+
}
|
|
62
|
+
/** Get the avatar URL, or the default avatar if none set. */
|
|
63
|
+
displayAvatarURL(options) {
|
|
64
|
+
return this.avatarURL(options) ?? `${CDN_URL}/avatars/0/0.png`;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Get the URL for this user's banner.
|
|
68
|
+
* Returns null if the user has no banner (only available when fetched from profile/member context).
|
|
69
|
+
*/
|
|
70
|
+
bannerURL(options) {
|
|
71
|
+
if (!this.banner) return null;
|
|
72
|
+
const ext = this.banner.startsWith("a_") ? "gif" : options?.extension ?? "png";
|
|
73
|
+
const size = options?.size ? `?size=${options.size}` : "";
|
|
74
|
+
return `${CDN_URL}/banners/${this.id}/${this.banner}.${ext}${size}`;
|
|
75
|
+
}
|
|
76
|
+
/** Returns a mention string (e.g. `<@123456>`). */
|
|
77
|
+
toString() {
|
|
78
|
+
return `<@${this.id}>`;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Create or get a DM channel with this user.
|
|
82
|
+
* Returns the DM channel; use {@link DMChannel.send} to send messages.
|
|
83
|
+
*/
|
|
84
|
+
async createDM() {
|
|
85
|
+
const { DMChannel: DMChannelClass } = await import("./Channel-HK7VT35N.mjs");
|
|
86
|
+
const data = await this.client.rest.post(Routes.userMeChannels(), {
|
|
87
|
+
body: { recipient_id: this.id },
|
|
88
|
+
auth: true
|
|
89
|
+
});
|
|
90
|
+
return new DMChannelClass(this.client, data);
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Send a DM to this user.
|
|
94
|
+
* Convenience method that creates the DM channel and sends the message.
|
|
95
|
+
*/
|
|
96
|
+
async send(options) {
|
|
97
|
+
const dm = await this.createDM();
|
|
98
|
+
return dm.send(options);
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
// src/client/ClientUser.ts
|
|
103
|
+
import { Routes as Routes2 } from "@fluxerjs/types";
|
|
104
|
+
var ClientUser = class extends User {
|
|
105
|
+
constructor(client, data) {
|
|
106
|
+
super(client, { ...data });
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Fetch guilds the bot is a member of.
|
|
110
|
+
* @returns Array of Guild objects (cached in client.guilds)
|
|
111
|
+
*/
|
|
112
|
+
async fetchGuilds() {
|
|
113
|
+
const { Guild } = await import("./Guild-RPQGTXB7.mjs");
|
|
114
|
+
const data = await this.client.rest.get(Routes2.currentUserGuilds());
|
|
115
|
+
const list = Array.isArray(data) ? data : data?.guilds ?? [];
|
|
116
|
+
const guilds = [];
|
|
117
|
+
for (const g of list) {
|
|
118
|
+
const guild = new Guild(this.client, g);
|
|
119
|
+
this.client.guilds.set(guild.id, guild);
|
|
120
|
+
guilds.push(guild);
|
|
121
|
+
}
|
|
122
|
+
return guilds;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Leave a guild. Requires the bot to be a member.
|
|
126
|
+
* @param guildId - The guild ID to leave
|
|
127
|
+
*/
|
|
128
|
+
async leaveGuild(guildId) {
|
|
129
|
+
await this.client.rest.delete(Routes2.leaveGuild(guildId), { auth: true });
|
|
130
|
+
this.client.guilds.delete(guildId);
|
|
131
|
+
}
|
|
132
|
+
};
|
|
133
|
+
|
|
134
|
+
export {
|
|
135
|
+
User,
|
|
136
|
+
ClientUser
|
|
137
|
+
};
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Base
|
|
3
|
+
} from "./chunk-XNS4O6QJ.mjs";
|
|
4
|
+
|
|
5
|
+
// src/structures/Invite.ts
|
|
6
|
+
import { Routes } from "@fluxerjs/types";
|
|
7
|
+
var Invite = class extends Base {
|
|
8
|
+
client;
|
|
9
|
+
code;
|
|
10
|
+
type;
|
|
11
|
+
guild;
|
|
12
|
+
channel;
|
|
13
|
+
inviter;
|
|
14
|
+
memberCount;
|
|
15
|
+
presenceCount;
|
|
16
|
+
expiresAt;
|
|
17
|
+
/** @param data - API invite from GET /invites/{code}, channel/guild invite list, or gateway INVITE_CREATE */
|
|
18
|
+
constructor(client, data) {
|
|
19
|
+
super();
|
|
20
|
+
this.client = client;
|
|
21
|
+
this.code = data.code;
|
|
22
|
+
this.type = data.type;
|
|
23
|
+
this.guild = data.guild;
|
|
24
|
+
this.channel = data.channel;
|
|
25
|
+
this.inviter = data.inviter ? client.getOrCreateUser(data.inviter) : null;
|
|
26
|
+
this.memberCount = data.member_count ?? null;
|
|
27
|
+
this.presenceCount = data.presence_count ?? null;
|
|
28
|
+
this.expiresAt = data.expires_at ?? null;
|
|
29
|
+
}
|
|
30
|
+
/** Full invite URL (https://fluxer.gg/{code} or instance-specific). */
|
|
31
|
+
get url() {
|
|
32
|
+
return `https://fluxer.gg/${this.code}`;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Resolve the guild from cache if available.
|
|
36
|
+
* @returns The guild, or null if not cached
|
|
37
|
+
*/
|
|
38
|
+
getGuild() {
|
|
39
|
+
return this.guild?.id ? this.client.guilds.get(this.guild.id) ?? null : null;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Delete this invite.
|
|
43
|
+
* Requires Manage Guild or Create Instant Invite permission.
|
|
44
|
+
*/
|
|
45
|
+
async delete() {
|
|
46
|
+
await this.client.rest.delete(Routes.invite(this.code), { auth: true });
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
export {
|
|
51
|
+
Invite
|
|
52
|
+
};
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import {
|
|
2
|
+
buildSendBodyAsync
|
|
3
|
+
} from "./chunk-OMFDQURC.mjs";
|
|
4
|
+
import {
|
|
5
|
+
Base
|
|
6
|
+
} from "./chunk-XNS4O6QJ.mjs";
|
|
7
|
+
|
|
8
|
+
// src/structures/Webhook.ts
|
|
9
|
+
import { Routes } from "@fluxerjs/types";
|
|
10
|
+
var Webhook = class _Webhook extends Base {
|
|
11
|
+
client;
|
|
12
|
+
id;
|
|
13
|
+
guildId;
|
|
14
|
+
channelId;
|
|
15
|
+
name;
|
|
16
|
+
avatar;
|
|
17
|
+
/** Present only when webhook was created via createWebhook(); not returned when fetching. */
|
|
18
|
+
token;
|
|
19
|
+
/** User who created the webhook. */
|
|
20
|
+
user;
|
|
21
|
+
/** @param data - API webhook from POST /channels/{id}/webhooks (has token) or GET /webhooks/{id} (no token) */
|
|
22
|
+
constructor(client, data) {
|
|
23
|
+
super();
|
|
24
|
+
this.client = client;
|
|
25
|
+
this.id = data.id;
|
|
26
|
+
this.guildId = data.guild_id;
|
|
27
|
+
this.channelId = data.channel_id;
|
|
28
|
+
this.name = data.name ?? "Unknown";
|
|
29
|
+
this.avatar = data.avatar ?? null;
|
|
30
|
+
this.token = data.token ?? null;
|
|
31
|
+
this.user = client.getOrCreateUser(data.user);
|
|
32
|
+
}
|
|
33
|
+
/** Delete this webhook. Requires bot token with Manage Webhooks permission. */
|
|
34
|
+
async delete() {
|
|
35
|
+
await this.client.rest.delete(Routes.webhook(this.id), { auth: true });
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Edit this webhook. With token: name and avatar only. Without token (bot auth): name, avatar, and channel_id.
|
|
39
|
+
* @param options - Fields to update (name, avatar, channel_id when using bot auth)
|
|
40
|
+
* @returns This webhook instance with updated fields
|
|
41
|
+
*/
|
|
42
|
+
async edit(options) {
|
|
43
|
+
const body = {};
|
|
44
|
+
if (options.name !== void 0) body.name = options.name;
|
|
45
|
+
if (options.avatar !== void 0) body.avatar = options.avatar;
|
|
46
|
+
if ("channel_id" in options && options.channel_id !== void 0 && !this.token) {
|
|
47
|
+
body.channel_id = options.channel_id;
|
|
48
|
+
}
|
|
49
|
+
if (this.token) {
|
|
50
|
+
const data2 = await this.client.rest.patch(Routes.webhookExecute(this.id, this.token), {
|
|
51
|
+
body,
|
|
52
|
+
auth: false
|
|
53
|
+
});
|
|
54
|
+
const w2 = data2;
|
|
55
|
+
this.name = w2.name ?? this.name;
|
|
56
|
+
this.avatar = w2.avatar ?? null;
|
|
57
|
+
return this;
|
|
58
|
+
}
|
|
59
|
+
const data = await this.client.rest.patch(Routes.webhook(this.id), {
|
|
60
|
+
body,
|
|
61
|
+
auth: true
|
|
62
|
+
});
|
|
63
|
+
const w = data;
|
|
64
|
+
this.name = w.name ?? this.name;
|
|
65
|
+
this.avatar = w.avatar ?? null;
|
|
66
|
+
this.channelId = w.channel_id ?? this.channelId;
|
|
67
|
+
return this;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Send a message via this webhook. Requires the webhook token (only present when created, not when fetched).
|
|
71
|
+
* @param options - Text content or object with content, embeds, username, avatar_url, tts, files, attachments
|
|
72
|
+
* @param wait - If true, waits for the API and returns the created Message; otherwise returns void (204)
|
|
73
|
+
* @throws Error if token is not available
|
|
74
|
+
* @example
|
|
75
|
+
* await webhook.send('Hello!');
|
|
76
|
+
* await webhook.send({ embeds: [embed.toJSON()] });
|
|
77
|
+
* await webhook.send({ content: 'File attached', files: [{ name: 'data.txt', data: buffer }] });
|
|
78
|
+
* const msg = await webhook.send({ content: 'Hi' }, true);
|
|
79
|
+
*/
|
|
80
|
+
async send(options, wait) {
|
|
81
|
+
if (!this.token) {
|
|
82
|
+
throw new Error(
|
|
83
|
+
"Webhook token is required to send. The token is only returned when creating a webhook; fetched webhooks cannot send."
|
|
84
|
+
);
|
|
85
|
+
}
|
|
86
|
+
const opts = typeof options === "string" ? { content: options } : options;
|
|
87
|
+
const body = await buildSendBodyAsync(options);
|
|
88
|
+
if (opts.username !== void 0) body.username = opts.username;
|
|
89
|
+
if (opts.avatar_url !== void 0) body.avatar_url = opts.avatar_url;
|
|
90
|
+
if (opts.tts !== void 0) body.tts = opts.tts;
|
|
91
|
+
const route = Routes.webhookExecute(this.id, this.token) + (wait ? "?wait=true" : "");
|
|
92
|
+
const postOptions = opts.files?.length ? { body, files: opts.files, auth: false } : { body, auth: false };
|
|
93
|
+
const data = await this.client.rest.post(route, postOptions);
|
|
94
|
+
if (wait && data) {
|
|
95
|
+
const { Message } = await import("./Message-E3WU3J2Q.mjs");
|
|
96
|
+
return new Message(this.client, data);
|
|
97
|
+
}
|
|
98
|
+
return void 0;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Fetch a webhook by ID using bot auth.
|
|
102
|
+
* @param client - The client instance
|
|
103
|
+
* @param webhookId - The webhook ID
|
|
104
|
+
* @returns Webhook without token (cannot send)
|
|
105
|
+
*/
|
|
106
|
+
static async fetch(client, webhookId) {
|
|
107
|
+
const data = await client.rest.get(Routes.webhook(webhookId));
|
|
108
|
+
return new _Webhook(client, data);
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Create a Webhook instance from an ID and token (e.g. from a stored webhook URL).
|
|
112
|
+
* @param client - The client instance
|
|
113
|
+
* @param webhookId - The webhook ID
|
|
114
|
+
* @param token - The webhook token (from createWebhook or stored)
|
|
115
|
+
* @param options - Optional channelId, guildId, name for display
|
|
116
|
+
*/
|
|
117
|
+
static fromToken(client, webhookId, token, options) {
|
|
118
|
+
return new _Webhook(client, {
|
|
119
|
+
id: webhookId,
|
|
120
|
+
guild_id: options?.guildId ?? "",
|
|
121
|
+
channel_id: options?.channelId ?? "",
|
|
122
|
+
name: options?.name ?? "Webhook",
|
|
123
|
+
avatar: null,
|
|
124
|
+
token,
|
|
125
|
+
user: { id: "", username: "webhook", discriminator: "0" }
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
};
|
|
129
|
+
|
|
130
|
+
export {
|
|
131
|
+
Webhook
|
|
132
|
+
};
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import {
|
|
2
|
+
User
|
|
3
|
+
} from "./chunk-WZVY7DA6.mjs";
|
|
4
|
+
import {
|
|
5
|
+
Base
|
|
6
|
+
} from "./chunk-XNS4O6QJ.mjs";
|
|
7
|
+
|
|
8
|
+
// src/structures/Message.ts
|
|
9
|
+
import { Collection } from "@fluxerjs/collection";
|
|
10
|
+
import { Routes } from "@fluxerjs/types";
|
|
11
|
+
import { EmbedBuilder } from "@fluxerjs/builders";
|
|
12
|
+
var Message = class _Message extends Base {
|
|
13
|
+
client;
|
|
14
|
+
id;
|
|
15
|
+
channelId;
|
|
16
|
+
guildId;
|
|
17
|
+
author;
|
|
18
|
+
content;
|
|
19
|
+
createdAt;
|
|
20
|
+
editedAt;
|
|
21
|
+
pinned;
|
|
22
|
+
attachments;
|
|
23
|
+
channel;
|
|
24
|
+
constructor(client, data) {
|
|
25
|
+
super();
|
|
26
|
+
this.client = client;
|
|
27
|
+
this.id = data.id;
|
|
28
|
+
this.channelId = data.channel_id;
|
|
29
|
+
this.guildId = data.guild_id ?? null;
|
|
30
|
+
this.author = new User(client, data.author);
|
|
31
|
+
this.content = data.content;
|
|
32
|
+
this.createdAt = new Date(data.timestamp);
|
|
33
|
+
this.editedAt = data.edited_timestamp ? new Date(data.edited_timestamp) : null;
|
|
34
|
+
this.pinned = data.pinned;
|
|
35
|
+
this.attachments = new Collection();
|
|
36
|
+
for (const a of data.attachments ?? []) this.attachments.set(a.id, a);
|
|
37
|
+
}
|
|
38
|
+
async reply(options) {
|
|
39
|
+
const body = typeof options === "string" ? { content: options, message_reference: { channel_id: this.channelId, message_id: this.id, guild_id: this.guildId ?? void 0 } } : { ...options, message_reference: { channel_id: this.channelId, message_id: this.id, guild_id: this.guildId ?? void 0 } };
|
|
40
|
+
const data = await this.client.rest.post(Routes.channelMessages(this.channelId), { body });
|
|
41
|
+
return new _Message(this.client, data);
|
|
42
|
+
}
|
|
43
|
+
async edit(options) {
|
|
44
|
+
const body = {};
|
|
45
|
+
if (options.content !== void 0) body.content = options.content;
|
|
46
|
+
if (options.embeds?.length) {
|
|
47
|
+
body.embeds = options.embeds.map((e) => e instanceof EmbedBuilder ? e.toJSON() : e);
|
|
48
|
+
}
|
|
49
|
+
const data = await this.client.rest.patch(Routes.channelMessage(this.channelId, this.id), { body });
|
|
50
|
+
return new _Message(this.client, data);
|
|
51
|
+
}
|
|
52
|
+
async delete() {
|
|
53
|
+
await this.client.rest.delete(Routes.channelMessage(this.channelId, this.id));
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Format emoji for reaction API: unicode string or "name:id" for custom.
|
|
57
|
+
* @param emoji - Unicode emoji (e.g. "👍") or custom { name, id } or "name:id" string
|
|
58
|
+
*/
|
|
59
|
+
static formatEmoji(emoji) {
|
|
60
|
+
if (typeof emoji === "string") return emoji;
|
|
61
|
+
return `${emoji.name}:${emoji.id}`;
|
|
62
|
+
}
|
|
63
|
+
/** Add a reaction to this message (as the bot). */
|
|
64
|
+
async react(emoji) {
|
|
65
|
+
const emojiStr = _Message.formatEmoji(emoji);
|
|
66
|
+
const route = `${Routes.channelMessageReaction(this.channelId, this.id, emojiStr)}/@me`;
|
|
67
|
+
await this.client.rest.put(route);
|
|
68
|
+
}
|
|
69
|
+
/** Remove the bot's reaction, or a specific user's reaction if userId is provided. */
|
|
70
|
+
async removeReaction(emoji, userId) {
|
|
71
|
+
const emojiStr = _Message.formatEmoji(emoji);
|
|
72
|
+
const route = `${Routes.channelMessageReaction(this.channelId, this.id, emojiStr)}/${userId ?? "@me"}`;
|
|
73
|
+
await this.client.rest.delete(route);
|
|
74
|
+
}
|
|
75
|
+
/** Remove all reactions from this message. Requires moderator permissions. */
|
|
76
|
+
async removeAllReactions() {
|
|
77
|
+
await this.client.rest.delete(Routes.channelMessageReactions(this.channelId, this.id));
|
|
78
|
+
}
|
|
79
|
+
/** Remove all reactions of a specific emoji from this message. Requires moderator permissions. */
|
|
80
|
+
async removeReactionEmoji(emoji) {
|
|
81
|
+
const emojiStr = _Message.formatEmoji(emoji);
|
|
82
|
+
await this.client.rest.delete(Routes.channelMessageReaction(this.channelId, this.id, emojiStr));
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
export {
|
|
87
|
+
Message
|
|
88
|
+
};
|