bot.js aktualisiert

This commit is contained in:
M_Viper 2024-09-06 06:26:13 +00:00
parent 682b35d69e
commit 11c2cab1c3
1 changed files with 48 additions and 3 deletions

51
bot.js
View File

@ -1684,6 +1684,49 @@ async function fetchRandomKidsMovie() {
} }
} }
// Funktion zum Kürzen der Zusammenfassung
function truncateSummary(summary, maxLength) {
if (summary.length > maxLength) {
return summary.slice(0, maxLength) + '...'; // Kürzen und "..." hinzufügen
}
return summary;
}
// Funktion zum Erstellen der Bildunterschrift
function createCaption(title, summary) {
// Initiale Bildunterschrift ohne Kürzung
let caption = `
Hier ist der empfohlene Film des Tages:
🎬 Titel: ${title || 'Unbekannt'}
📝 Zusammenfassung:
${summary || 'Keine Zusammenfassung verfügbar'}
`;
// Überprüfen, ob die Bildunterschrift zu lang ist
if (caption.length > MAX_CAPTION_LENGTH) {
// Berechnen der maximalen Länge für die Zusammenfassung
const maxSummaryLength = MAX_CAPTION_LENGTH - (caption.length - summary.length);
// Kürzen der Zusammenfassung auf die berechnete Länge
const truncatedSummary = truncateSummary(summary, maxSummaryLength);
// Neu zusammenstellen der Bildunterschrift mit der gekürzten Zusammenfassung
caption = `
Hier ist der empfohlene Film des Tages:
🎬 Titel: ${title || 'Unbekannt'}
📝 Zusammenfassung:
${truncatedSummary}
`;
}
return caption;
}
// /empfehlung-Befehl verarbeiten // /empfehlung-Befehl verarbeiten
bot.onText(/\/empfehlung/, async (msg) => { bot.onText(/\/empfehlung/, async (msg) => {
const chatId = msg.chat.id; const chatId = msg.chat.id;
@ -1696,15 +1739,16 @@ bot.onText(/\/empfehlung/, async (msg) => {
const movieSummary = dailyMovie.summary || 'Keine Zusammenfassung verfügbar'; const movieSummary = dailyMovie.summary || 'Keine Zusammenfassung verfügbar';
const movieThumb = dailyMovie.thumb ? `${process.env.PLEX_DOMAIN}${dailyMovie.thumb}?X-Plex-Token=${process.env.PLEX_TOKEN}` : ''; const movieThumb = dailyMovie.thumb ? `${process.env.PLEX_DOMAIN}${dailyMovie.thumb}?X-Plex-Token=${process.env.PLEX_TOKEN}` : '';
const message = `Hier ist der empfohlene Film des Tages:\n\nTitel: ${movieTitle}\n\nZusammenfassung: \n${movieSummary}`; // Erstellen der Bildunterschrift und Kürzen, falls nötig
const message = createCaption(movieTitle, movieSummary);
// Bild anzeigen, wenn vorhanden // Bild anzeigen, wenn vorhanden
if (movieThumb) { if (movieThumb) {
await bot.sendPhoto(chatId, movieThumb, { caption: message }).catch(error => { await bot.sendPhoto(chatId, movieThumb, { caption: message, parse_mode: 'Markdown' }).catch(error => {
logError(`Error sending photo to chatId ${chatId}: ${error.message}`); logError(`Error sending photo to chatId ${chatId}: ${error.message}`);
}); });
} else { } else {
await bot.sendMessage(chatId, message).catch(error => { await bot.sendMessage(chatId, message, { parse_mode: 'Markdown' }).catch(error => {
logError(`Error sending message to chatId ${chatId}: ${error.message}`); logError(`Error sending message to chatId ${chatId}: ${error.message}`);
}); });
} }
@ -1738,6 +1782,7 @@ bot.onText(/\/empfehlung/, async (msg) => {
// Session-Management für Feedback // Session-Management für Feedback
const feedbackSessions = {}; const feedbackSessions = {};