From de6d7f971efad5831c12bce23294f2f0ee1ede62 Mon Sep 17 00:00:00 2001 From: Amir Husayn Panahifar Date: Tue, 8 Apr 2025 02:52:35 +0330 Subject: [PATCH] Add send latest post function with lastSentPostId remember --- src/main.js | 36 +++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/src/main.js b/src/main.js index 184dfcc..37f4194 100644 --- a/src/main.js +++ b/src/main.js @@ -1 +1,35 @@ -console.log("Hello, World!"); +import { getLatestPost } from "./apis/main.js"; +import { sendMessage } from "./services/messageServices.js"; +import { log } from "./utils/logger.js"; + +let lastSentPostId = null; + +const sendLatestPost = async () => { + const post = await getLatestPost(); + if (post) { + if (post.id !== lastSentPostId) { + const message = `- آخرین پست از انجمن #پارچ لینوکس\n` + + `عنوان موضوع: ${post.title}\n` + + `توضیحات: ${post.excerpt}\n` + + `پیوند: ${post.url}`; + + try { + await sendMessage(message, { parse_mode: 'Markdown' }); + + lastSentPostId = post.id; + + log.info("Latest post sent successfully"); + } catch (error) { + log.error("Error sending message:", error); + } + } else { + log.info("No new post to send."); + } + } else { + log.warn("No post found to send"); + } +}; + +setInterval(sendLatestPost, 60 * 60 * 1000); + +sendLatestPost();