Refactor message handling functions for improved clarity and maintainability

This commit is contained in:
fzzin
2025-04-14 19:43:27 +02:00
parent 212f6f60b0
commit 59803fabd5
6 changed files with 155 additions and 131 deletions

View File

@@ -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
View File

@@ -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"
] ]
} }
} }

View File

@@ -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);

View File

@@ -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) {

View File

@@ -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, {

View File

@@ -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") {