bot.js aktualisiert
This commit is contained in:
parent
682b35d69e
commit
11c2cab1c3
51
bot.js
51
bot.js
|
@ -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 = {};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue