// ============================================================ // formatter.js — Formatiert News-Nachrichten für Matrix // ============================================================ function formatDailyDigest(grouped) { const date = new Date().toLocaleDateString('de-DE', { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' }); // Plain text version let plain = `📰 Täglicher News-Digest — ${date}\n`; plain += '─'.repeat(50) + '\n\n'; // HTML version (für Matrix Clients die Formatting unterstützen) let html = `

📰 Täglicher News-Digest

`; html += `

${date}


`; for (const [category, items] of Object.entries(grouped)) { if (items.length === 0) continue; plain += `${category}\n${'─'.repeat(30)}\n`; html += `

${category}

`; } const totalItems = Object.values(grouped).flat().length; plain += `\n📊 ${totalItems} Artikel heute · Powered by noctura newsbot`; html += `

📊 ${totalItems} Artikel heute · Powered by noctura newsbot

`; return { plain, html }; } function formatNoNews() { return { plain: '📰 Heute keine neuen Artikel in den konfigurierten Feeds.', html: '

📰 Heute keine neuen Artikel in den konfigurierten Feeds.

' }; } function formatError(feedName, error) { return `⚠️ Feed-Fehler [${feedName}]: ${error.message}`; } module.exports = { formatDailyDigest, formatNoNews, formatError };