refactor: update yandere message handling to use getPosts for embed generation and add tests

This commit is contained in:
fzzin
2025-04-10 13:26:57 +02:00
parent ab6ec7fc3d
commit 0013af7c3b
2 changed files with 16 additions and 6 deletions

View File

@@ -66,3 +66,7 @@ Deno.test("Post Request with tag", async() => {
Deno.test("Post Request with limit", async() => { Deno.test("Post Request with limit", async() => {
console.debug(await getPosts("[limit: 1)]")) console.debug(await getPosts("[limit: 1)]"))
}) })
Deno.test("Post Request with page", async() => {
console.debug(await getPosts("[page: 30)]"))
})

View File

@@ -1,22 +1,28 @@
import { Bot, DiscordEmbed, Embed, Message } from "npm:discordeno@18.0.1"; import { Bot, Embed, Message } from "npm:discordeno@18.0.1";
import { defaultString } from "@root/defaultString.ts"; import { defaultString } from "@root/defaultString.ts";
import { logMessage } from "@root/logging.ts"; import { logMessage } from "@root/logging.ts";
import { drop, requestWorker } from "@root/plugins/yandere/plugin.ts"; import { getPosts } from "@root/plugins/yandere/api/api.ts";
export async function yandereMessageHandler(bot: Bot, message: Message) { export async function yandereMessageHandler(bot: Bot, message: Message) {
const command = message.content.split(" ").slice(1).join(" "); const command = message.content.split(" ").slice(1).join(" ");
const args = command.match(/(\[\.+\])/g)
if (command === "drop") { if (command === "drop") {
const embed = await getPosts("[limit: 1]")
bot.helpers.sendMessage(message.channelId, { bot.helpers.sendMessage(message.channelId, {
embeds: [await drop()] embeds: [embed as Embed]
}) })
} else if (command.startsWith("drop [") && command.endsWith("]")) { } else if (command.startsWith("drop [") && command.endsWith("]")) {
logMessage(message); logMessage(message);
const generatedEmbeds: Embed[] = await requestWorker(command); if (args === null) throw Error("args is null")
const generatedEmbeds = await getPosts(args[0]);
for (const embed of generatedEmbeds) { for (const embed of generatedEmbeds) {
bot.helpers.sendMessage(message.channelId, { bot.helpers.sendMessage(message.channelId, {
embeds: [embed], embeds: [embed as Embed],
}); });
} }
} }
} }
Deno.test("Test Bot Drop", async() => {
})