Refactor message handling functions for improved clarity and maintainability
This commit is contained in:
@@ -14,7 +14,7 @@
|
|||||||
"admin": "deno -A --watch --check src/bot.ts"
|
"admin": "deno -A --watch --check src/bot.ts"
|
||||||
},
|
},
|
||||||
"imports": {
|
"imports": {
|
||||||
"@discordeno": "npm:discordeno@21.0.0",
|
"@discordeno": "npm:discord.js@14.18.0",
|
||||||
"@melvdouc/xml-parser": "jsr:@melvdouc/xml-parser@^0.1.1",
|
"@melvdouc/xml-parser": "jsr:@melvdouc/xml-parser@^0.1.1",
|
||||||
"@std/assert": "jsr:@std/assert@1",
|
"@std/assert": "jsr:@std/assert@1",
|
||||||
"@types/node": "npm:@types/node@^22.14.1",
|
"@types/node": "npm:@types/node@^22.14.1",
|
||||||
|
|||||||
195
deno.lock
generated
195
deno.lock
generated
@@ -15,9 +15,7 @@
|
|||||||
"npm:@discordeno/bot@*": "19.0.0-next.b1bfe94",
|
"npm:@discordeno/bot@*": "19.0.0-next.b1bfe94",
|
||||||
"npm:@types/node@*": "18.16.19",
|
"npm:@types/node@*": "18.16.19",
|
||||||
"npm:@types/node@^22.14.1": "22.14.1",
|
"npm:@types/node@^22.14.1": "22.14.1",
|
||||||
"npm:discordeno@*": "21.0.0",
|
"npm:discord.js@14.18.0": "14.18.0",
|
||||||
"npm:discordeno@21.0.0": "21.0.0",
|
|
||||||
"npm:discordeno@21.0.0": "21.0.0",
|
|
||||||
"npm:gson@*": "0.1.5"
|
"npm:gson@*": "0.1.5"
|
||||||
},
|
},
|
||||||
"jsr": {
|
"jsr": {
|
||||||
@@ -74,109 +72,159 @@
|
|||||||
"@discordeno/bot@19.0.0-next.b1bfe94": {
|
"@discordeno/bot@19.0.0-next.b1bfe94": {
|
||||||
"integrity": "sha512-ZaPDaPM6tuxpRZCyuNB2rzqz2WYHH20IQdutu87jffW2dV26D3Nw8SJCE1LNdXdu9akes3VMXolkNsLJ5MW2Hw==",
|
"integrity": "sha512-ZaPDaPM6tuxpRZCyuNB2rzqz2WYHH20IQdutu87jffW2dV26D3Nw8SJCE1LNdXdu9akes3VMXolkNsLJ5MW2Hw==",
|
||||||
"dependencies": [
|
"dependencies": [
|
||||||
"@discordeno/gateway@19.0.0-next.b1bfe94",
|
"@discordeno/gateway",
|
||||||
"@discordeno/rest@19.0.0-next.b1bfe94",
|
"@discordeno/rest",
|
||||||
"@discordeno/types@19.0.0-next.b1bfe94",
|
"@discordeno/types",
|
||||||
"@discordeno/utils@19.0.0-next.b1bfe94"
|
"@discordeno/utils"
|
||||||
]
|
|
||||||
},
|
|
||||||
"@discordeno/bot@21.0.0": {
|
|
||||||
"integrity": "sha512-x6EcVHBvWIhjY5/lcwgZzzCiqdpKFZqu2qUaZqKb7RYS8L8Q8zY40hCnbToVehLB8+BGcnHzxCeEvWWg8tnT/g==",
|
|
||||||
"dependencies": [
|
|
||||||
"@discordeno/gateway@21.0.0",
|
|
||||||
"@discordeno/rest@21.0.0",
|
|
||||||
"@discordeno/types@21.0.0",
|
|
||||||
"@discordeno/utils@21.0.0"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"@discordeno/gateway@19.0.0-next.b1bfe94": {
|
"@discordeno/gateway@19.0.0-next.b1bfe94": {
|
||||||
"integrity": "sha512-rNkcCua4Inx8NkuCjbuRBAAg+AIg1qYb24Fq6/Y2+1s+iO0VSQ/ZK8PRNbI2gSpAtAbfndvxA9kyU1ggwwLjNw==",
|
"integrity": "sha512-rNkcCua4Inx8NkuCjbuRBAAg+AIg1qYb24Fq6/Y2+1s+iO0VSQ/ZK8PRNbI2gSpAtAbfndvxA9kyU1ggwwLjNw==",
|
||||||
"dependencies": [
|
"dependencies": [
|
||||||
"@discordeno/types@19.0.0-next.b1bfe94",
|
"@discordeno/types",
|
||||||
"@discordeno/utils@19.0.0-next.b1bfe94",
|
"@discordeno/utils",
|
||||||
"ws"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"@discordeno/gateway@21.0.0": {
|
|
||||||
"integrity": "sha512-ur5Hatd1x86PPI4UnXKghAWat3vS90NvLJcpOSu1B1gYSENRZow8dohZ8Ov58SXWq5nZVuBYDJNCR248pWJvrg==",
|
|
||||||
"dependencies": [
|
|
||||||
"@discordeno/types@21.0.0",
|
|
||||||
"@discordeno/utils@21.0.0",
|
|
||||||
"fzstd",
|
|
||||||
"ws"
|
"ws"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"@discordeno/rest@19.0.0-next.b1bfe94": {
|
"@discordeno/rest@19.0.0-next.b1bfe94": {
|
||||||
"integrity": "sha512-lLeP3hmMM0GFsO+VA3f9EKOwfIo1HvG1hudtlC1Er6BFWgArpz0/VizHbOyOr5SzZuzrQyfcBJJfEhC+48TsRg==",
|
"integrity": "sha512-lLeP3hmMM0GFsO+VA3f9EKOwfIo1HvG1hudtlC1Er6BFWgArpz0/VizHbOyOr5SzZuzrQyfcBJJfEhC+48TsRg==",
|
||||||
"dependencies": [
|
"dependencies": [
|
||||||
"@discordeno/types@19.0.0-next.b1bfe94",
|
"@discordeno/types",
|
||||||
"@discordeno/utils@19.0.0-next.b1bfe94"
|
"@discordeno/utils"
|
||||||
]
|
|
||||||
},
|
|
||||||
"@discordeno/rest@21.0.0": {
|
|
||||||
"integrity": "sha512-ew5ddhUd7Qyv/GSzCy42bEmRv0yr2PspCMsLD/NeMiTLd3+OrVN5pAxBN9z+9JpS/daiiD/PVmvuUAVx/nXTEw==",
|
|
||||||
"dependencies": [
|
|
||||||
"@discordeno/types@21.0.0",
|
|
||||||
"@discordeno/utils@21.0.0"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"@discordeno/types@19.0.0-next.b1bfe94": {
|
"@discordeno/types@19.0.0-next.b1bfe94": {
|
||||||
"integrity": "sha512-X1MmdPFMyzjxFEANEPrrBjdJDJBAz4RTa1vpVlMp46C3dPqTwjMwijaPhPgPnFiSwt01lJ8WaFDpMvfqOwpQNg=="
|
"integrity": "sha512-X1MmdPFMyzjxFEANEPrrBjdJDJBAz4RTa1vpVlMp46C3dPqTwjMwijaPhPgPnFiSwt01lJ8WaFDpMvfqOwpQNg=="
|
||||||
},
|
},
|
||||||
"@discordeno/types@21.0.0": {
|
|
||||||
"integrity": "sha512-TUZAEqqlXRNQji+NCaQo8DruzI8rXbBvMaZYsZvN9f03PrdSddzMOy3cjs4eeL6ZMVocmMVRIaVnB713blylCw=="
|
|
||||||
},
|
|
||||||
"@discordeno/utils@19.0.0-next.b1bfe94": {
|
"@discordeno/utils@19.0.0-next.b1bfe94": {
|
||||||
"integrity": "sha512-Y+j3G83vCVXiNSEQlFR9WWJ6GZhvBmIfFjb03zFcmHa20nHExILJJBEyDpS+ptziEyF7jB+2hNw5I/SKn8Zm2w==",
|
"integrity": "sha512-Y+j3G83vCVXiNSEQlFR9WWJ6GZhvBmIfFjb03zFcmHa20nHExILJJBEyDpS+ptziEyF7jB+2hNw5I/SKn8Zm2w==",
|
||||||
"dependencies": [
|
"dependencies": [
|
||||||
"@discordeno/types@19.0.0-next.b1bfe94"
|
"@discordeno/types"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"@discordeno/utils@21.0.0": {
|
"@discordjs/builders@1.10.1": {
|
||||||
"integrity": "sha512-I7I3Szlk+LkT/CRmJJiLPsjuBUjbuXUCvOzsgWCltkxDMIGmQeNoQtFK7t89V1Gcc4icsrnHVMho1BcaAITijg==",
|
"integrity": "sha512-OWo1fY4ztL1/M/DUyRPShB4d/EzVfuUvPTRRHRIt/YxBrUYSz0a+JicD5F5zHFoNs2oTuWavxCOVFV1UljHTng==",
|
||||||
"dependencies": [
|
"dependencies": [
|
||||||
"@discordeno/types@21.0.0"
|
"@discordjs/formatters",
|
||||||
|
"@discordjs/util",
|
||||||
|
"@sapphire/shapeshift",
|
||||||
|
"discord-api-types",
|
||||||
|
"fast-deep-equal",
|
||||||
|
"ts-mixer",
|
||||||
|
"tslib"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"@discordjs/collection@1.5.3": {
|
||||||
|
"integrity": "sha512-SVb428OMd3WO1paV3rm6tSjM4wC+Kecaa1EUGX7vc6/fddvw/6lg90z4QtCqm21zvVe92vMMDt9+DkIvjXImQQ=="
|
||||||
|
},
|
||||||
|
"@discordjs/collection@2.1.1": {
|
||||||
|
"integrity": "sha512-LiSusze9Tc7qF03sLCujF5iZp7K+vRNEDBZ86FT9aQAv3vxMLihUvKvpsCWiQ2DJq1tVckopKm1rxomgNUc9hg=="
|
||||||
|
},
|
||||||
|
"@discordjs/formatters@0.6.0": {
|
||||||
|
"integrity": "sha512-YIruKw4UILt/ivO4uISmrGq2GdMY6EkoTtD0oS0GvkJFRZbTSdPhzYiUILbJ/QslsvC9H9nTgGgnarnIl4jMfw==",
|
||||||
|
"dependencies": [
|
||||||
|
"discord-api-types"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"@discordjs/rest@2.4.3": {
|
||||||
|
"integrity": "sha512-+SO4RKvWsM+y8uFHgYQrcTl/3+cY02uQOH7/7bKbVZsTfrfpoE62o5p+mmV+s7FVhTX82/kQUGGbu4YlV60RtA==",
|
||||||
|
"dependencies": [
|
||||||
|
"@discordjs/collection@2.1.1",
|
||||||
|
"@discordjs/util",
|
||||||
|
"@sapphire/async-queue",
|
||||||
|
"@sapphire/snowflake",
|
||||||
|
"@vladfrangu/async_event_emitter",
|
||||||
|
"discord-api-types",
|
||||||
|
"magic-bytes.js",
|
||||||
|
"tslib",
|
||||||
|
"undici@6.21.1"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"@discordjs/util@1.1.1": {
|
||||||
|
"integrity": "sha512-eddz6UnOBEB1oITPinyrB2Pttej49M9FZQY8NxgEvc3tq6ZICZ19m70RsmzRdDHk80O9NoYN/25AqJl8vPVf/g=="
|
||||||
|
},
|
||||||
|
"@discordjs/ws@1.2.1": {
|
||||||
|
"integrity": "sha512-PBvenhZG56a6tMWF/f4P6f4GxZKJTBG95n7aiGSPTnodmz4N5g60t79rSIAq7ywMbv8A4jFtexMruH+oe51aQQ==",
|
||||||
|
"dependencies": [
|
||||||
|
"@discordjs/collection@2.1.1",
|
||||||
|
"@discordjs/rest",
|
||||||
|
"@discordjs/util",
|
||||||
|
"@sapphire/async-queue",
|
||||||
|
"@types/ws",
|
||||||
|
"@vladfrangu/async_event_emitter",
|
||||||
|
"discord-api-types",
|
||||||
|
"tslib",
|
||||||
|
"ws"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"@fastify/busboy@2.1.1": {
|
"@fastify/busboy@2.1.1": {
|
||||||
"integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA=="
|
"integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA=="
|
||||||
},
|
},
|
||||||
|
"@sapphire/async-queue@1.5.5": {
|
||||||
|
"integrity": "sha512-cvGzxbba6sav2zZkH8GPf2oGk9yYoD5qrNWdu9fRehifgnFZJMV+nuy2nON2roRO4yQQ+v7MK/Pktl/HgfsUXg=="
|
||||||
|
},
|
||||||
|
"@sapphire/shapeshift@4.0.0": {
|
||||||
|
"integrity": "sha512-d9dUmWVA7MMiKobL3VpLF8P2aeanRTu6ypG2OIaEv/ZHH/SUQ2iHOVyi5wAPjQ+HmnMuL0whK9ez8I/raWbtIg==",
|
||||||
|
"dependencies": [
|
||||||
|
"fast-deep-equal",
|
||||||
|
"lodash"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"@sapphire/snowflake@3.5.3": {
|
||||||
|
"integrity": "sha512-jjmJywLAFoWeBi1W7994zZyiNWPIiqRRNAmSERxyg93xRGzNYvGjlZ0gR6x0F4gPRi2+0O6S71kOZYyr3cxaIQ=="
|
||||||
|
},
|
||||||
"@types/node@18.16.19": {
|
"@types/node@18.16.19": {
|
||||||
"integrity": "sha512-IXl7o+R9iti9eBW4Wg2hx1xQDig183jj7YLn8F7udNceyfkbn1ZxmzZXuak20gR40D7pIkIY1kYGx5VIGbaHKA=="
|
"integrity": "sha512-IXl7o+R9iti9eBW4Wg2hx1xQDig183jj7YLn8F7udNceyfkbn1ZxmzZXuak20gR40D7pIkIY1kYGx5VIGbaHKA=="
|
||||||
},
|
},
|
||||||
|
"@types/node@22.12.0": {
|
||||||
|
"integrity": "sha512-Fll2FZ1riMjNmlmJOdAyY5pUbkftXslB5DgEzlIuNaiWhXd00FhWxVC/r4yV/4wBb9JfImTu+jiSvXTkJ7F/gA==",
|
||||||
|
"dependencies": [
|
||||||
|
"undici-types@6.20.0"
|
||||||
|
]
|
||||||
|
},
|
||||||
"@types/node@22.14.1": {
|
"@types/node@22.14.1": {
|
||||||
"integrity": "sha512-u0HuPQwe/dHrItgHHpmw3N2fYCR6x4ivMNbPHRkBVP4CvN+kiRrKHWk3i8tXiO/joPwXLMYvF9TTF0eqgHIuOw==",
|
"integrity": "sha512-u0HuPQwe/dHrItgHHpmw3N2fYCR6x4ivMNbPHRkBVP4CvN+kiRrKHWk3i8tXiO/joPwXLMYvF9TTF0eqgHIuOw==",
|
||||||
"dependencies": [
|
"dependencies": [
|
||||||
"undici-types"
|
"undici-types@6.21.0"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"@types/ws@8.18.1": {
|
||||||
|
"integrity": "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==",
|
||||||
|
"dependencies": [
|
||||||
|
"@types/node@22.12.0"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"@vladfrangu/async_event_emitter@2.4.6": {
|
||||||
|
"integrity": "sha512-RaI5qZo6D2CVS6sTHFKg1v5Ohq/+Bo2LZ5gzUEwZ/WkHhwtGTCB/sVLw8ijOkAUxasZ+WshN/Rzj4ywsABJ5ZA=="
|
||||||
|
},
|
||||||
"circularjs@0.1.3": {
|
"circularjs@0.1.3": {
|
||||||
"integrity": "sha512-RVp6t82JlYMz6CxtGJVoncK7StrDuAIaihiE3dC4T3gE/Pko3ZGxoDibOctjcJKxAIb4C2avHOFA9mDxCKGbbw==",
|
"integrity": "sha512-RVp6t82JlYMz6CxtGJVoncK7StrDuAIaihiE3dC4T3gE/Pko3ZGxoDibOctjcJKxAIb4C2avHOFA9mDxCKGbbw==",
|
||||||
"dependencies": [
|
"dependencies": [
|
||||||
"underscore"
|
"underscore"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"discordeno@21.0.0": {
|
"discord-api-types@0.37.120": {
|
||||||
"integrity": "sha512-d3D/HpC39YGInmxy2HK90kPpMMu2gYYsWuwtEEFPWpq2hlR9dvad4ihvLursPz5bj4Ob1NWOgPv3kz/bwMSIpw==",
|
"integrity": "sha512-7xpNK0EiWjjDFp2nAhHXezE4OUWm7s1zhc/UXXN6hnFFU8dfoPHgV0Hx0RPiCa3ILRpdeh152icc68DGCyXYIw=="
|
||||||
|
},
|
||||||
|
"discord.js@14.18.0": {
|
||||||
|
"integrity": "sha512-SvU5kVUvwunQhN2/+0t55QW/1EHfB1lp0TtLZUSXVHDmyHTrdOj5LRKdR0zLcybaA15F+NtdWuWmGOX9lE+CAw==",
|
||||||
"dependencies": [
|
"dependencies": [
|
||||||
"@deno/shim-deno",
|
"@discordjs/builders",
|
||||||
"@deno/shim-timers",
|
"@discordjs/collection@1.5.3",
|
||||||
"undici",
|
"@discordjs/formatters",
|
||||||
"ws"
|
"@discordjs/rest",
|
||||||
|
"@discordjs/util",
|
||||||
|
"@discordjs/ws",
|
||||||
|
"@sapphire/snowflake",
|
||||||
|
"discord-api-types",
|
||||||
|
"fast-deep-equal",
|
||||||
|
"lodash.snakecase",
|
||||||
|
"tslib",
|
||||||
|
"undici@6.21.1"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"discordeno@21.0.0": {
|
"fast-deep-equal@3.1.3": {
|
||||||
"integrity": "sha512-NX1x5GtHbrNhpeahfHw+2A6/3bpec2obNjIZ/mkBUGWcpLWG/ZgJSIkkdQIxcrnQ3loQooo/5IpBucnFTiGATA==",
|
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
|
||||||
"dependencies": [
|
|
||||||
"@discordeno/bot@21.0.0",
|
|
||||||
"@discordeno/gateway@21.0.0",
|
|
||||||
"@discordeno/rest@21.0.0",
|
|
||||||
"@discordeno/types@21.0.0",
|
|
||||||
"@discordeno/utils@21.0.0"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"fzstd@0.1.1": {
|
|
||||||
"integrity": "sha512-dkuVSOKKwh3eas5VkJy1AW1vFpet8TA/fGmVA5krThl8YcOVE/8ZIoEA1+U1vEn5ckxxhLirSdY837azmbaNHA=="
|
|
||||||
},
|
},
|
||||||
"gson@0.1.5": {
|
"gson@0.1.5": {
|
||||||
"integrity": "sha512-EK+P+vGnmekaPMEg9qC23hTNgRaJ6GfQFS73sYgzvFoVYLMX7dVOUVDbPXRnNtnr99rf6DpOn4wlSbS0puN8AQ==",
|
"integrity": "sha512-EK+P+vGnmekaPMEg9qC23hTNgRaJ6GfQFS73sYgzvFoVYLMX7dVOUVDbPXRnNtnr99rf6DpOn4wlSbS0puN8AQ==",
|
||||||
@@ -187,9 +235,27 @@
|
|||||||
"isexe@2.0.0": {
|
"isexe@2.0.0": {
|
||||||
"integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="
|
"integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="
|
||||||
},
|
},
|
||||||
|
"lodash.snakecase@4.1.1": {
|
||||||
|
"integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw=="
|
||||||
|
},
|
||||||
|
"lodash@4.17.21": {
|
||||||
|
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
|
||||||
|
},
|
||||||
|
"magic-bytes.js@1.10.0": {
|
||||||
|
"integrity": "sha512-/k20Lg2q8LE5xiaaSkMXk4sfvI+9EGEykFS4b0CHHGWqDYU0bGUFSwchNOMA56D7TCs9GwVTkqe9als1/ns8UQ=="
|
||||||
|
},
|
||||||
|
"ts-mixer@6.0.4": {
|
||||||
|
"integrity": "sha512-ufKpbmrugz5Aou4wcr5Wc1UUFWOLhq+Fm6qa6P0w0K5Qw2yhaUoiWszhCVuNQyNwrlGiscHOmqYoAox1PtvgjA=="
|
||||||
|
},
|
||||||
|
"tslib@2.8.1": {
|
||||||
|
"integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="
|
||||||
|
},
|
||||||
"underscore@1.6.0": {
|
"underscore@1.6.0": {
|
||||||
"integrity": "sha512-z4o1fvKUojIWh9XuaVLUDdf86RQiq13AC1dmHbTpoyuu+bquHms76v16CjycCbec87J7z0k//SiQVk0sMdFmpQ=="
|
"integrity": "sha512-z4o1fvKUojIWh9XuaVLUDdf86RQiq13AC1dmHbTpoyuu+bquHms76v16CjycCbec87J7z0k//SiQVk0sMdFmpQ=="
|
||||||
},
|
},
|
||||||
|
"undici-types@6.20.0": {
|
||||||
|
"integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg=="
|
||||||
|
},
|
||||||
"undici-types@6.21.0": {
|
"undici-types@6.21.0": {
|
||||||
"integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ=="
|
"integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ=="
|
||||||
},
|
},
|
||||||
@@ -199,6 +265,9 @@
|
|||||||
"@fastify/busboy"
|
"@fastify/busboy"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"undici@6.21.1": {
|
||||||
|
"integrity": "sha512-q/1rj5D0/zayJB2FraXdaWxbhWiNKDvu8naDT2dl1yTlvJp4BLtOcp2a5BvgGNQpYYJzau7tf1WgKv3b+7mqpQ=="
|
||||||
|
},
|
||||||
"which@2.0.2": {
|
"which@2.0.2": {
|
||||||
"integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
|
"integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
|
||||||
"dependencies": [
|
"dependencies": [
|
||||||
@@ -221,7 +290,7 @@
|
|||||||
"jsr:@melvdouc/xml-parser@~0.1.1",
|
"jsr:@melvdouc/xml-parser@~0.1.1",
|
||||||
"jsr:@std/assert@1",
|
"jsr:@std/assert@1",
|
||||||
"npm:@types/node@^22.14.1",
|
"npm:@types/node@^22.14.1",
|
||||||
"npm:discordeno@21.0.0"
|
"npm:discord.js@14.18.0"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
71
src/bot.ts
71
src/bot.ts
@@ -1,65 +1,24 @@
|
|||||||
import {
|
import { Client, Events, GatewayIntentBits } from '@discordeno';
|
||||||
Bot,
|
|
||||||
createBot,
|
|
||||||
createDesiredPropertiesObject,
|
|
||||||
Intents,
|
|
||||||
Message,
|
|
||||||
TransformersDesiredProperties,
|
|
||||||
} from "@discordeno";
|
|
||||||
import { messagehandler } from "./messages.ts";
|
|
||||||
import { EnvConst, loadConfig } from "@root/core/configLoader.ts";
|
import { EnvConst, loadConfig } from "@root/core/configLoader.ts";
|
||||||
|
import { messagehandler } from "@root/messages.ts";
|
||||||
|
|
||||||
const env: EnvConst = loadConfig();
|
const env: EnvConst = loadConfig();
|
||||||
|
|
||||||
const desiredProperties = createDesiredPropertiesObject({
|
|
||||||
interaction: {
|
const client = new Client({ intents: [GatewayIntentBits.Guilds] });
|
||||||
id: true,
|
|
||||||
type: true,
|
client.on(Events.ClientReady, readyClient => {
|
||||||
data: true,
|
console.log(`Logged in as ${readyClient.user.tag}!`);
|
||||||
token: true,
|
|
||||||
guildId: true,
|
|
||||||
member: true,
|
|
||||||
},
|
|
||||||
guild: {
|
|
||||||
id: true,
|
|
||||||
name: true,
|
|
||||||
roles: true,
|
|
||||||
ownerId: true,
|
|
||||||
},
|
|
||||||
role: {
|
|
||||||
id: true,
|
|
||||||
guildId: true,
|
|
||||||
permissions: true,
|
|
||||||
},
|
|
||||||
member: {
|
|
||||||
id: true,
|
|
||||||
roles: true,
|
|
||||||
},
|
|
||||||
channel: {
|
|
||||||
id: true,
|
|
||||||
},
|
|
||||||
user: {
|
|
||||||
id: true,
|
|
||||||
username: true,
|
|
||||||
discriminator: true,
|
|
||||||
},
|
|
||||||
});
|
});
|
||||||
|
|
||||||
interface BotDesiredProperties extends Required<typeof desiredProperties> {}
|
client.on(Events.InteractionCreate, async interaction => {
|
||||||
|
if (!interaction.isChatInputCommand()) return;
|
||||||
|
|
||||||
const rawBot = createBot({
|
messagehandler(interaction.command)
|
||||||
token: env.BOT_TOKEN,
|
|
||||||
intents: Intents.Guilds,
|
if (interaction.commandName === 'ping') {
|
||||||
desiredProperties: desiredProperties as TransformersDesiredProperties,
|
await interaction.reply('Pong!');
|
||||||
events: {
|
}
|
||||||
ready() {
|
|
||||||
console.log("Bot is ready!");
|
|
||||||
},
|
|
||||||
async messageCreate(message) {
|
|
||||||
await messagehandler(rawBot, message as Message)
|
|
||||||
}
|
|
||||||
},
|
|
||||||
});
|
});
|
||||||
// Setup desired properties
|
|
||||||
|
|
||||||
await rawBot.start()
|
client.login(env.BOT_TOKEN);
|
||||||
@@ -7,20 +7,16 @@ if (!prefix) {
|
|||||||
throw new Error("BOT_PREFIX is missing!");
|
throw new Error("BOT_PREFIX is missing!");
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function messagehandler(bot: Bot, message: Message) {
|
export async function messagehandler(message: Message) {
|
||||||
console.debug({message})
|
console.debug({message})
|
||||||
const command = message.content.split(" ")[0];
|
const command = message.content.split(" ")[0];
|
||||||
try {
|
try {
|
||||||
switch (command) {
|
switch (command) {
|
||||||
case `${prefix}rule`:
|
case `${prefix}rule`: {
|
||||||
if (message.thread?.nsfw) {
|
await rule34MessageHandler(message);
|
||||||
await rule34MessageHandler(bot, message);
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case `${prefix}yande`:
|
case `${prefix}yande`:
|
||||||
if (message.thread?.nsfw) {
|
await yandereMessageHandler(message);
|
||||||
await yandereMessageHandler(bot, message);
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import { logMessage } from "@root/logging.ts";
|
|||||||
import { defaultString } from "@root/defaultString.ts";
|
import { defaultString } from "@root/defaultString.ts";
|
||||||
import { Embed } from "@root/structures/embeds.ts";
|
import { Embed } from "@root/structures/embeds.ts";
|
||||||
|
|
||||||
export async function rule34MessageHandler(bot: Bot, message: Message) {
|
export async function rule34MessageHandler(message: Message) {
|
||||||
const command = message.content.trim().split(" ").slice(1).join(" ");
|
const command = message.content.trim().split(" ").slice(1).join(" ");
|
||||||
if (command === "drop") {
|
if (command === "drop") {
|
||||||
bot.helpers.sendMessage(message.channelId, {
|
bot.helpers.sendMessage(message.channelId, {
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import { Bot, DiscordEmbed, Message} from "@discordeno";
|
|||||||
import { logMessage } from "@root/logging.ts";
|
import { logMessage } from "@root/logging.ts";
|
||||||
import { getPosts } from "@root/plugins/yandere/api/api.ts";
|
import { getPosts } from "@root/plugins/yandere/api/api.ts";
|
||||||
|
|
||||||
export async function yandereMessageHandler(bot: Bot, message: Message) {
|
export async function yandereMessageHandler(message: Message) {
|
||||||
const command = message.content.split(" ").slice(1).join(" ");
|
const command = message.content.split(" ").slice(1).join(" ");
|
||||||
const args = command.match(/(\[.+\])/g)
|
const args = command.match(/(\[.+\])/g)
|
||||||
if (command === "drop") {
|
if (command === "drop") {
|
||||||
|
|||||||
Reference in New Issue
Block a user