From dd0b7cde366d028ef99a2c8cf30f4e3aef410751 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=20Jurmanovi=C4=87?= Date: Sat, 14 Oct 2023 01:04:04 +0200 Subject: [PATCH] add date check and fix send next post not working --- bun.lockb | Bin 88865 -> 89956 bytes package.json | 3 +++ process-env.d.ts | 1 + src/app.ts | 18 ++++++++++++++---- src/common/sendDiscordMessage.ts | 29 ++++++++++++++++++++++------- src/constants/config.ts | 1 + 6 files changed, 41 insertions(+), 11 deletions(-) diff --git a/bun.lockb b/bun.lockb index 0a73e0143465463f8f976d613d68c955faadbc21..8b0e86d4edece61687e16254caf4b6a4f28f1132 100644 GIT binary patch delta 16562 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 V{pwh0apgso_|3i3cud>*{{h}qes}-? delta 16046 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 sendNextMessage(client), + run: jobRunner, paused: true, timezone: config.TIMEZONE, }) @@ -143,9 +151,11 @@ const taskPlugin = new Elysia({ prefix: "/job" }) } }, { - body: t.Object({ - url: t.String(), - }), + body: t.Optional( + t.Object({ + url: t.Optional(t.String()), + }) + ), detail: { summary: "Send legica-dana post to discord channels", }, diff --git a/src/common/sendDiscordMessage.ts b/src/common/sendDiscordMessage.ts index 64ab73a..e0d1823 100644 --- a/src/common/sendDiscordMessage.ts +++ b/src/common/sendDiscordMessage.ts @@ -1,13 +1,32 @@ import { getFirstHtml, getImgTitle } from "@common"; +import { config } from "@constants"; +import dayjs from "dayjs"; +import customParseFormat from "dayjs/plugin/customParseFormat"; import { Client, MessageEmbed, TextChannel } from "discord.js"; +dayjs.extend(customParseFormat); + +const dateRegex = /\d{1,2}.\d{1,2}.\d{4}/g; + export async function sendDiscordMessage( client: Client, - url: string + url: string, + dateCheck?: dayjs.Dayjs ): Promise { if (!url) return; const { img, title } = await getImgTitle(url); + if (dateCheck) { + const date = dateRegex.exec(title)?.[0]; + const dayjsDate = dayjs(date, config.LEGICA_DATE_FORMAT); + if (!dateCheck.isSame(dayjsDate, "D")) + throw new Error( + `Post failed date check, date from post ${date}, date checked ${dateCheck.format( + config.LEGICA_DATE_FORMAT + )}` + ); + } + client.channels.cache.forEach(async (channel) => { try { if (channel.type !== "text") return null; @@ -39,10 +58,6 @@ export async function sendDiscordMessage( } export async function sendNextMessage(client: Client): Promise { - try { - const href = await getFirstHtml(); - await sendDiscordMessage(client, href); - } catch (err) { - console.error(err); - } + const href = await getFirstHtml(); + await sendDiscordMessage(client, href, dayjs()); } diff --git a/src/constants/config.ts b/src/constants/config.ts index e807ab3..9e53406 100644 --- a/src/constants/config.ts +++ b/src/constants/config.ts @@ -17,6 +17,7 @@ const config: ProjectConfig = { APP_VERSION: version, LEGICA_URL: "https://sib.net.hr/legica-dana", TIMEZONE: process.env.TIMEZONE || "utc", + LEGICA_DATE_FORMAT: process.env.LEGICA_DATE_FORMAT || "DD.MM.YYYY", }; export { config };