@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,263 @@
|
|
|
1
|
+
import {
|
|
2
|
+
buildSendBody
|
|
3
|
+
} from "./chunk-TU4VVM34.mjs";
|
|
4
|
+
import {
|
|
5
|
+
Base
|
|
6
|
+
} from "./chunk-XNS4O6QJ.mjs";
|
|
7
|
+
|
|
8
|
+
// src/client/MessageManager.ts
|
|
9
|
+
var MessageManager = class {
|
|
10
|
+
constructor(client, channelId) {
|
|
11
|
+
this.client = client;
|
|
12
|
+
this.channelId = channelId;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Fetch a message by ID from this channel.
|
|
16
|
+
* @param messageId - Snowflake of the message
|
|
17
|
+
* @returns The message, or null if not found
|
|
18
|
+
*/
|
|
19
|
+
async fetch(messageId) {
|
|
20
|
+
return this.client.channels.fetchMessage(this.channelId, messageId);
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
// src/structures/Channel.ts
|
|
25
|
+
import { ChannelType, Routes } from "@fluxerjs/types";
|
|
26
|
+
var Channel = class _Channel extends Base {
|
|
27
|
+
/** Whether this channel has a send method (TextChannel, DMChannel). */
|
|
28
|
+
isSendable() {
|
|
29
|
+
return "send" in this;
|
|
30
|
+
}
|
|
31
|
+
/** Whether this channel is a DM or Group DM. */
|
|
32
|
+
isDM() {
|
|
33
|
+
return this.type === ChannelType.DM || this.type === ChannelType.GroupDM;
|
|
34
|
+
}
|
|
35
|
+
/** Whether this channel is voice-based (VoiceChannel). */
|
|
36
|
+
isVoice() {
|
|
37
|
+
return "bitrate" in this;
|
|
38
|
+
}
|
|
39
|
+
/** Create a DM channel from API data (type DM or GroupDM). */
|
|
40
|
+
static createDM(client, data) {
|
|
41
|
+
return new DMChannel(client, data);
|
|
42
|
+
}
|
|
43
|
+
client;
|
|
44
|
+
id;
|
|
45
|
+
type;
|
|
46
|
+
/** Channel name. Guild channels and Group DMs have names; 1:1 DMs are typically null. */
|
|
47
|
+
name;
|
|
48
|
+
/** Channel icon hash (Group DMs). Null if none. */
|
|
49
|
+
icon;
|
|
50
|
+
/** ISO timestamp when the last message was pinned. Null if never pinned. */
|
|
51
|
+
lastPinTimestamp;
|
|
52
|
+
/** @param data - API channel from GET /channels/{id} or GET /guilds/{id}/channels */
|
|
53
|
+
constructor(client, data) {
|
|
54
|
+
super();
|
|
55
|
+
this.client = client;
|
|
56
|
+
this.id = data.id;
|
|
57
|
+
this.type = data.type;
|
|
58
|
+
this.name = data.name ?? null;
|
|
59
|
+
this.icon = data.icon ?? null;
|
|
60
|
+
this.lastPinTimestamp = data.last_pin_timestamp ?? null;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Create the appropriate channel subclass from API data.
|
|
64
|
+
* @param client - The client instance
|
|
65
|
+
* @param data - Channel data from the API
|
|
66
|
+
*/
|
|
67
|
+
static from(client, data) {
|
|
68
|
+
const type = data.type ?? 0;
|
|
69
|
+
if (type === ChannelType.GuildText) return new TextChannel(client, data);
|
|
70
|
+
if (type === ChannelType.GuildCategory) return new CategoryChannel(client, data);
|
|
71
|
+
if (type === ChannelType.GuildVoice) return new VoiceChannel(client, data);
|
|
72
|
+
if (type === ChannelType.GuildLink || type === ChannelType.GuildLinkExtended)
|
|
73
|
+
return new LinkChannel(client, data);
|
|
74
|
+
return new GuildChannel(client, data);
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Create a channel from API data, including DM and GroupDM.
|
|
78
|
+
* Used by ChannelManager.fetch() for GET /channels/{id}.
|
|
79
|
+
*/
|
|
80
|
+
static fromOrCreate(client, data) {
|
|
81
|
+
const type = data.type ?? 0;
|
|
82
|
+
if (type === ChannelType.DM || type === ChannelType.GroupDM)
|
|
83
|
+
return _Channel.createDM(client, data);
|
|
84
|
+
return _Channel.from(client, data);
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
var GuildChannel = class extends Channel {
|
|
88
|
+
guildId;
|
|
89
|
+
name;
|
|
90
|
+
position;
|
|
91
|
+
parentId;
|
|
92
|
+
/** Permission overwrites for roles and members. */
|
|
93
|
+
permissionOverwrites;
|
|
94
|
+
constructor(client, data) {
|
|
95
|
+
super(client, data);
|
|
96
|
+
this.guildId = data.guild_id ?? "";
|
|
97
|
+
this.name = data.name ?? null;
|
|
98
|
+
this.position = data.position;
|
|
99
|
+
this.parentId = data.parent_id ?? null;
|
|
100
|
+
this.permissionOverwrites = data.permission_overwrites ?? [];
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Create a webhook in this channel.
|
|
104
|
+
* @param options - Webhook name and optional avatar URL
|
|
105
|
+
* @returns The webhook with token (required for send()). Requires Manage Webhooks permission.
|
|
106
|
+
*/
|
|
107
|
+
async createWebhook(options) {
|
|
108
|
+
const { Webhook } = await import("./Webhook-IHLGW7NL.mjs");
|
|
109
|
+
const data = await this.client.rest.post(Routes.channelWebhooks(this.id), {
|
|
110
|
+
body: options,
|
|
111
|
+
auth: true
|
|
112
|
+
});
|
|
113
|
+
return new Webhook(this.client, data);
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Fetch all webhooks in this channel.
|
|
117
|
+
* @returns Webhooks (includes token when listing from channel; can send via send())
|
|
118
|
+
*/
|
|
119
|
+
async fetchWebhooks() {
|
|
120
|
+
const { Webhook } = await import("./Webhook-IHLGW7NL.mjs");
|
|
121
|
+
const data = await this.client.rest.get(Routes.channelWebhooks(this.id));
|
|
122
|
+
const list = Array.isArray(data) ? data : Object.values(data ?? {});
|
|
123
|
+
return list.map((w) => new Webhook(this.client, w));
|
|
124
|
+
}
|
|
125
|
+
};
|
|
126
|
+
var TextChannel = class extends GuildChannel {
|
|
127
|
+
topic;
|
|
128
|
+
nsfw;
|
|
129
|
+
rateLimitPerUser;
|
|
130
|
+
lastMessageId;
|
|
131
|
+
constructor(client, data) {
|
|
132
|
+
super(client, data);
|
|
133
|
+
this.topic = data.topic ?? null;
|
|
134
|
+
this.nsfw = data.nsfw ?? false;
|
|
135
|
+
this.rateLimitPerUser = data.rate_limit_per_user ?? 0;
|
|
136
|
+
this.lastMessageId = data.last_message_id ?? null;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Send a message to this channel.
|
|
140
|
+
* @param options - Text content or object with content, embeds, and/or files
|
|
141
|
+
*/
|
|
142
|
+
async send(options) {
|
|
143
|
+
const opts = typeof options === "string" ? { content: options } : options;
|
|
144
|
+
const body = buildSendBody(options);
|
|
145
|
+
const { Message } = await import("./Message-F4SCFNF5.mjs");
|
|
146
|
+
const postOptions = opts.files?.length ? { body, files: opts.files } : { body };
|
|
147
|
+
const data = await this.client.rest.post(Routes.channelMessages(this.id), postOptions);
|
|
148
|
+
return new Message(this.client, data);
|
|
149
|
+
}
|
|
150
|
+
/** Message manager for this channel. Use channel.messages.fetch(messageId). */
|
|
151
|
+
get messages() {
|
|
152
|
+
return new MessageManager(this.client, this.id);
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Fetch pinned messages in this channel.
|
|
156
|
+
* @returns Pinned messages
|
|
157
|
+
*/
|
|
158
|
+
async fetchPinnedMessages() {
|
|
159
|
+
const { Message } = await import("./Message-F4SCFNF5.mjs");
|
|
160
|
+
const data = await this.client.rest.get(Routes.channelPins(this.id));
|
|
161
|
+
const list = Array.isArray(data) ? data : data?.items ?? [];
|
|
162
|
+
return list.map((item) => {
|
|
163
|
+
const msg = typeof item === "object" && item && "message" in item ? item.message : item;
|
|
164
|
+
return new Message(this.client, msg);
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Fetch a message by ID from this channel.
|
|
169
|
+
* @param messageId - Snowflake of the message
|
|
170
|
+
* @returns The message, or null if not found
|
|
171
|
+
* @deprecated Use channel.messages.fetch(messageId) instead.
|
|
172
|
+
*/
|
|
173
|
+
async fetchMessage(messageId) {
|
|
174
|
+
return this.client.channels.fetchMessage(this.id, messageId);
|
|
175
|
+
}
|
|
176
|
+
};
|
|
177
|
+
var CategoryChannel = class extends GuildChannel {
|
|
178
|
+
};
|
|
179
|
+
var VoiceChannel = class extends GuildChannel {
|
|
180
|
+
bitrate;
|
|
181
|
+
userLimit;
|
|
182
|
+
rtcRegion;
|
|
183
|
+
constructor(client, data) {
|
|
184
|
+
super(client, data);
|
|
185
|
+
this.bitrate = data.bitrate ?? null;
|
|
186
|
+
this.userLimit = data.user_limit ?? null;
|
|
187
|
+
this.rtcRegion = data.rtc_region ?? null;
|
|
188
|
+
}
|
|
189
|
+
};
|
|
190
|
+
var LinkChannel = class extends GuildChannel {
|
|
191
|
+
url;
|
|
192
|
+
constructor(client, data) {
|
|
193
|
+
super(client, data);
|
|
194
|
+
this.url = data.url ?? null;
|
|
195
|
+
}
|
|
196
|
+
};
|
|
197
|
+
var DMChannel = class extends Channel {
|
|
198
|
+
lastMessageId;
|
|
199
|
+
/** Group DM creator ID. Null for 1:1 DMs. */
|
|
200
|
+
ownerId;
|
|
201
|
+
/** Group DM recipients as User objects. Empty for 1:1 DMs. */
|
|
202
|
+
recipients;
|
|
203
|
+
/** Group DM member display names (userId -> nickname). */
|
|
204
|
+
nicks;
|
|
205
|
+
constructor(client, data) {
|
|
206
|
+
super(client, data);
|
|
207
|
+
this.lastMessageId = data.last_message_id ?? null;
|
|
208
|
+
this.ownerId = data.owner_id ?? null;
|
|
209
|
+
this.recipients = (data.recipients ?? []).map(
|
|
210
|
+
(u) => client.getOrCreateUser(u)
|
|
211
|
+
);
|
|
212
|
+
this.nicks = data.nicks ?? {};
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Send a message to this DM channel.
|
|
216
|
+
* @param options - Text content or object with content, embeds, and/or files
|
|
217
|
+
*/
|
|
218
|
+
async send(options) {
|
|
219
|
+
const opts = typeof options === "string" ? { content: options } : options;
|
|
220
|
+
const body = buildSendBody(options);
|
|
221
|
+
const { Message } = await import("./Message-F4SCFNF5.mjs");
|
|
222
|
+
const postOptions = opts.files?.length ? { body, files: opts.files } : { body };
|
|
223
|
+
const data = await this.client.rest.post(Routes.channelMessages(this.id), postOptions);
|
|
224
|
+
return new Message(this.client, data);
|
|
225
|
+
}
|
|
226
|
+
/** Message manager for this channel. Use channel.messages.fetch(messageId). */
|
|
227
|
+
get messages() {
|
|
228
|
+
return new MessageManager(this.client, this.id);
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* Fetch pinned messages in this DM channel.
|
|
232
|
+
* @returns Pinned messages
|
|
233
|
+
*/
|
|
234
|
+
async fetchPinnedMessages() {
|
|
235
|
+
const { Message } = await import("./Message-F4SCFNF5.mjs");
|
|
236
|
+
const data = await this.client.rest.get(Routes.channelPins(this.id));
|
|
237
|
+
const list = Array.isArray(data) ? data : data?.items ?? [];
|
|
238
|
+
return list.map((item) => {
|
|
239
|
+
const msg = typeof item === "object" && item && "message" in item ? item.message : item;
|
|
240
|
+
return new Message(this.client, msg);
|
|
241
|
+
});
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* Fetch a message by ID from this DM channel.
|
|
245
|
+
* @param messageId - Snowflake of the message
|
|
246
|
+
* @returns The message, or null if not found
|
|
247
|
+
* @deprecated Use channel.messages.fetch(messageId) instead.
|
|
248
|
+
*/
|
|
249
|
+
async fetchMessage(messageId) {
|
|
250
|
+
return this.client.channels.fetchMessage(this.id, messageId);
|
|
251
|
+
}
|
|
252
|
+
};
|
|
253
|
+
|
|
254
|
+
export {
|
|
255
|
+
MessageManager,
|
|
256
|
+
Channel,
|
|
257
|
+
GuildChannel,
|
|
258
|
+
TextChannel,
|
|
259
|
+
CategoryChannel,
|
|
260
|
+
VoiceChannel,
|
|
261
|
+
LinkChannel,
|
|
262
|
+
DMChannel
|
|
263
|
+
};
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
import {
|
|
2
|
+
cdnMemberAvatarURL,
|
|
3
|
+
cdnMemberBannerURL
|
|
4
|
+
} from "./chunk-X6K3ZD62.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
|
+
this.roles = data.roles ?? this.roles;
|
|
124
|
+
this.communicationDisabledUntil = data.communication_disabled_until ? new Date(data.communication_disabled_until) : null;
|
|
125
|
+
return this;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Get the member's guild-level permissions (from roles only, no channel overwrites).
|
|
129
|
+
* Use this for server-wide permission checks (e.g. ban, kick, manage roles).
|
|
130
|
+
* @returns Object with has(permission) to check specific permissions
|
|
131
|
+
* @example
|
|
132
|
+
* const perms = member.permissions;
|
|
133
|
+
* if (perms.has(PermissionFlags.BanMembers)) { ... }
|
|
134
|
+
*/
|
|
135
|
+
get permissions() {
|
|
136
|
+
const base = this._computeBasePermissions();
|
|
137
|
+
const ownerId = this.guild.ownerId;
|
|
138
|
+
const isOwner = ownerId != null && ownerId !== "" && String(ownerId) === String(this.id);
|
|
139
|
+
const perms = computePermissions(base, [], [], this.id, isOwner);
|
|
140
|
+
return {
|
|
141
|
+
has(permission) {
|
|
142
|
+
const perm = typeof permission === "number" ? permission : PermissionFlagsMap[String(permission)];
|
|
143
|
+
if (perm === void 0) return false;
|
|
144
|
+
return hasPermission(perms, BigInt(perm));
|
|
145
|
+
}
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Compute the member's effective permissions in a guild channel.
|
|
150
|
+
* Applies role permissions and channel overwrites.
|
|
151
|
+
* @param channel - The guild channel to check permissions for
|
|
152
|
+
* @returns Object with has(permission) to check specific permissions
|
|
153
|
+
* @example
|
|
154
|
+
* const perms = member.permissionsIn(channel);
|
|
155
|
+
* if (perms.has(PermissionFlags.SendMessages)) { ... }
|
|
156
|
+
*/
|
|
157
|
+
permissionsIn(channel) {
|
|
158
|
+
const base = this._computeBasePermissions();
|
|
159
|
+
const ownerId = this.guild.ownerId;
|
|
160
|
+
const isOwner = ownerId != null && ownerId !== "" && String(ownerId) === String(this.id);
|
|
161
|
+
const perms = computePermissions(
|
|
162
|
+
base,
|
|
163
|
+
channel.permissionOverwrites,
|
|
164
|
+
this.roles,
|
|
165
|
+
this.id,
|
|
166
|
+
isOwner
|
|
167
|
+
);
|
|
168
|
+
return {
|
|
169
|
+
has(permission) {
|
|
170
|
+
const perm = typeof permission === "number" ? permission : PermissionFlagsMap[String(permission)];
|
|
171
|
+
if (perm === void 0) return false;
|
|
172
|
+
return hasPermission(perms, BigInt(perm));
|
|
173
|
+
}
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
_computeBasePermissions() {
|
|
177
|
+
let base = 0n;
|
|
178
|
+
const everyone = this.guild.roles.get(this.guild.id);
|
|
179
|
+
if (everyone) base |= BigInt(everyone.permissions);
|
|
180
|
+
for (const roleId of this.roles) {
|
|
181
|
+
if (roleId === this.guild.id) continue;
|
|
182
|
+
const role = this.guild.roles.get(roleId);
|
|
183
|
+
if (role) base |= BigInt(role.permissions);
|
|
184
|
+
}
|
|
185
|
+
return base;
|
|
186
|
+
}
|
|
187
|
+
};
|
|
188
|
+
|
|
189
|
+
export {
|
|
190
|
+
GuildMember
|
|
191
|
+
};
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import {
|
|
2
|
+
GuildMember
|
|
3
|
+
} from "./chunk-JVEOQFUX.mjs";
|
|
4
|
+
import {
|
|
5
|
+
CDN_URL
|
|
6
|
+
} from "./chunk-HQMYRYMY.mjs";
|
|
7
|
+
import {
|
|
8
|
+
Base
|
|
9
|
+
} from "./chunk-XNS4O6QJ.mjs";
|
|
10
|
+
|
|
11
|
+
// src/structures/Guild.ts
|
|
12
|
+
import { parseRoleMention } from "@fluxerjs/util";
|
|
13
|
+
import { Collection } from "@fluxerjs/collection";
|
|
14
|
+
import { Routes } from "@fluxerjs/types";
|
|
15
|
+
var Guild = class extends Base {
|
|
16
|
+
client;
|
|
17
|
+
id;
|
|
18
|
+
name;
|
|
19
|
+
icon;
|
|
20
|
+
banner;
|
|
21
|
+
ownerId;
|
|
22
|
+
members = new Collection();
|
|
23
|
+
channels = new Collection();
|
|
24
|
+
/** @param data - API guild from GET /guilds/{id} or gateway GUILD_CREATE */
|
|
25
|
+
constructor(client, data) {
|
|
26
|
+
super();
|
|
27
|
+
this.client = client;
|
|
28
|
+
this.id = data.id;
|
|
29
|
+
this.name = data.name;
|
|
30
|
+
this.icon = data.icon ?? null;
|
|
31
|
+
this.banner = data.banner ?? null;
|
|
32
|
+
this.ownerId = data.owner_id;
|
|
33
|
+
}
|
|
34
|
+
/** Get the guild icon URL, or null if no icon. */
|
|
35
|
+
iconURL(options) {
|
|
36
|
+
if (!this.icon) return null;
|
|
37
|
+
const size = options?.size ? `?size=${options.size}` : "";
|
|
38
|
+
return `${CDN_URL}/icons/${this.id}/${this.icon}.png${size}`;
|
|
39
|
+
}
|
|
40
|
+
/** Get the guild banner URL, or null if no banner. */
|
|
41
|
+
bannerURL(options) {
|
|
42
|
+
if (!this.banner) return null;
|
|
43
|
+
const size = options?.size ? `?size=${options.size}` : "";
|
|
44
|
+
return `${CDN_URL}/banners/${this.id}/${this.banner}.png${size}`;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Add a role to a member by user ID. Does not require fetching the member first.
|
|
48
|
+
* @param userId - The user ID of the member
|
|
49
|
+
* @param roleId - The role ID to add (or use guild.resolveRoleId for mention/name resolution)
|
|
50
|
+
* Requires Manage Roles permission.
|
|
51
|
+
*/
|
|
52
|
+
async addRoleToMember(userId, roleId) {
|
|
53
|
+
await this.client.rest.put(Routes.guildMemberRole(this.id, userId, roleId));
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Remove a role from a member by user ID. Does not require fetching the member first.
|
|
57
|
+
* @param userId - The user ID of the member
|
|
58
|
+
* @param roleId - The role ID to remove
|
|
59
|
+
* Requires Manage Roles permission.
|
|
60
|
+
*/
|
|
61
|
+
async removeRoleFromMember(userId, roleId) {
|
|
62
|
+
await this.client.rest.delete(Routes.guildMemberRole(this.id, userId, roleId));
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Resolve a role ID from an argument (role mention, raw ID, or name).
|
|
66
|
+
* Fetches guild roles if name is provided.
|
|
67
|
+
* @param arg - Role mention (@role), role ID, or role name
|
|
68
|
+
* @returns The role ID, or null if not found
|
|
69
|
+
*/
|
|
70
|
+
async resolveRoleId(arg) {
|
|
71
|
+
const parsed = parseRoleMention(arg);
|
|
72
|
+
if (parsed) return parsed;
|
|
73
|
+
if (/^\d{17,19}$/.test(arg.trim())) return arg.trim();
|
|
74
|
+
const roles = await this.client.rest.get(Routes.guildRoles(this.id));
|
|
75
|
+
const list = Array.isArray(roles) ? roles : Object.values(roles ?? {});
|
|
76
|
+
const role = list.find(
|
|
77
|
+
(r) => r.name && r.name.toLowerCase() === arg.trim().toLowerCase()
|
|
78
|
+
);
|
|
79
|
+
return role?.id ?? null;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Fetch a guild member by user ID.
|
|
83
|
+
* @param userId - The user ID of the member to fetch
|
|
84
|
+
* @returns The guild member, or null if not found
|
|
85
|
+
*/
|
|
86
|
+
async fetchMember(userId) {
|
|
87
|
+
try {
|
|
88
|
+
const data = await this.client.rest.get(
|
|
89
|
+
Routes.guildMember(this.id, userId)
|
|
90
|
+
);
|
|
91
|
+
return new GuildMember(this.client, { ...data, guild_id: this.id }, this);
|
|
92
|
+
} catch {
|
|
93
|
+
return null;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
/** Fetch all webhooks in this guild. Returned webhooks do not include the token (cannot send). */
|
|
97
|
+
async fetchWebhooks() {
|
|
98
|
+
const { Webhook } = await import("./Webhook-2MQESB7Z.mjs");
|
|
99
|
+
const data = await this.client.rest.get(Routes.guildWebhooks(this.id));
|
|
100
|
+
const list = Array.isArray(data) ? data : Object.values(data ?? {});
|
|
101
|
+
return list.map((w) => new Webhook(this.client, w));
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
export {
|
|
106
|
+
Guild
|
|
107
|
+
};
|