Refactor message handling by creating dedicated handlers for rule34 and yandere plugins, and add default string utility function

This commit is contained in:
fzzinchemical
2025-03-26 19:24:38 +01:00
parent 58c7932481
commit a16b4dcb17
6 changed files with 128 additions and 100 deletions

View File

@@ -0,0 +1,69 @@
import { Bot, Message } from "npm:discordeno@18.0.1";
import { dropYandere, dropYandere5, getPage, refresh, setPage } from "./api.ts";
import { defaultString } from "@root/defaultString.ts";
import { logMessage } from "@root/logging.ts";
export async function yandereMessageHandler(bot: Bot, message: Message) {
const command = message.content.split(" ").slice(1).join(" ");
const args = message.content.split(" ").slice(1);
switch (command) {
case `drop`:
logMessage(message);
if (
message.channelId === 754338073101205524n ||
message.guildId === undefined
) {
await refresh();
bot.helpers.sendMessage(message.channelId, {
content: defaultString(await dropYandere()),
});
}
break;
case `drop 5`:
logMessage(message);
if (
message.channelId === 754338073101205524n ||
message.guildId === undefined
) {
await refresh();
bot.helpers.sendMessage(message.channelId, {
content: defaultString(await dropYandere5()),
});
}
break;
case `page`:
logMessage(message);
if (
message.channelId === 754338073101205524n ||
message.guildId === undefined
) {
if (args[0] === undefined) {
bot.helpers.sendMessage(message.channelId, {
content: "Please provide a page number",
});
} else if (isNaN(parseInt(args[0]))) {
bot.helpers.sendMessage(message.channelId, {
content: "Please provide a valid number",
});
} else {
await setPage(parseInt(args[0]));
bot.helpers.sendMessage(message.channelId, {
content: "Page set to " + args[0],
});
}
}
break;
case `getpage`:
logMessage(message);
if (
message.channelId === 754338073101205524n ||
message.guildId === undefined
) {
bot.helpers.sendMessage(message.channelId, {
content: "Page is " + getPage(),
});
}
break;
}
}