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
|
||||
bot.onText(/\/empfehlung/, async (msg) => {
|
||||
const chatId = msg.chat.id;
|
||||
|
@ -1696,15 +1739,16 @@ bot.onText(/\/empfehlung/, async (msg) => {
|
|||
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 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
|
||||
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}`);
|
||||
});
|
||||
} 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}`);
|
||||
});
|
||||
}
|
||||
|
@ -1738,6 +1782,7 @@ bot.onText(/\/empfehlung/, async (msg) => {
|
|||
|
||||
|
||||
|
||||
|
||||
// Session-Management für Feedback
|
||||
const feedbackSessions = {};
|
||||
|
||||
|
|
Loading…
Reference in New Issue