refactor: update yandere message handling to use getPosts for embed generation and add tests
This commit is contained in:
@@ -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)]"))
|
||||||
|
})
|
||||||
@@ -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() => {
|
||||||
|
|
||||||
|
})
|
||||||
Reference in New Issue
Block a user