plex-bot.js aktualisiert

This commit is contained in:
M_Viper 2024-10-18 23:49:19 +00:00
parent e82f592bdd
commit b988fa6b72
1 changed files with 116 additions and 54 deletions

View File

@ -295,6 +295,7 @@ function saveFaqs(faqs) {
fs.writeFileSync(faqFilePath, JSON.stringify(faqs, null, 2)); fs.writeFileSync(faqFilePath, JSON.stringify(faqs, null, 2));
} }
// Befehl zum Abrufen von Trailern // Befehl zum Abrufen von Trailern
bot.onText(/\/trailer/, (msg) => { bot.onText(/\/trailer/, (msg) => {
const chatId = msg.chat.id; const chatId = msg.chat.id;
@ -1947,19 +1948,38 @@ bot.onText(/\/passwd/, (msg) => {
// Logik für den Befehl... // Logik für den Befehl...
}); });
const userId1 = Number(process.env.USER1_ID); // USER1_ID aus .env laden und in Zahl umwandeln
const userId2 = Number(process.env.USER2_ID); // USER2_ID aus .env laden und in Zahl umwandeln
bot.onText(/\/support/, (msg) => { bot.onText(/\/support/, (msg) => {
const chatId = msg.chat.id; const chatId = msg.chat.id;
// Direkt die Telegram-ID verwenden // Direkt die Telegram-ID verwenden
const adminId = 5507179337; const adminId = 5507179337;
if (msg.from.id !== adminId) { // Überprüfen, ob die Benutzer-ID in den autorisierten IDs enthalten ist
return bot.sendMessage(chatId, "🚫 Dieser Befehl ist nur für Administratoren zugänglich."); if (msg.from.id !== userId1 && msg.from.id !== userId2) {
return bot.sendMessage(chatId, "🚫 Dieser Befehl ist nur für autorisierte Benutzer zugänglich.");
} }
bot.sendMessage(chatId, "💬 Bitte gib zusätzliche Informationen für den Support an:"); bot.sendMessage(chatId, "💬 Bitte gib zusätzliche Informationen für den Support an:");
// Setze einen Listener für die nächste Nachricht des Admins // Setze einen Listener für die nächste Nachricht des Benutzers
bot.once('message', async (reply) => { bot.once('message', async (reply) => {
const additionalText = reply.text || "Keine zusätzlichen Informationen bereitgestellt."; const additionalText = reply.text || "Keine zusätzlichen Informationen bereitgestellt.";
const filesToZip = [ const filesToZip = [
@ -1976,7 +1996,7 @@ bot.onText(/\/support/, (msg) => {
output.on('close', async () => { output.on('close', async () => {
const botName = process.env.BOT_NAME || "Unbekannter Bot"; // Bot-Namen aus der .env const botName = process.env.BOT_NAME || "Unbekannter Bot"; // Bot-Namen aus der .env
const adminNames = `${process.env.USER1_ID}, ${process.env.USER2_ID}`; // Namen der Administratoren const adminNames = `${userId1}, ${userId2}`; // Namen der Administratoren
const supportMessage = `🛠️ *Externe Support-Anfrage* \n\n\n` + const supportMessage = `🛠️ *Externe Support-Anfrage* \n\n\n` +
`🔧 Bot-Name: @${botName}\n\n` + `🔧 Bot-Name: @${botName}\n\n` +
@ -2012,6 +2032,29 @@ bot.onText(/\/support/, (msg) => {
}); });
}); });
// Handler für den /admin-Befehl // Handler für den /admin-Befehl
bot.onText(/\/admin/, (msg) => { bot.onText(/\/admin/, (msg) => {
const chatId = msg.chat.id; const chatId = msg.chat.id;
@ -2166,7 +2209,7 @@ bot.on('callback_query', async (query) => {
if (!isNaN(seriesNumber) && seriesNumber > 0 && seriesNumber <= series.length) { if (!isNaN(seriesNumber) && seriesNumber > 0 && seriesNumber <= series.length) {
const seriesInfo = series[seriesNumber - 1]; const seriesInfo = series[seriesNumber - 1];
const { title, summary, thumb, addedAt } = seriesInfo; const { title, summary, thumb, addedAt } = seriesInfo;
const imageUrl = `https://plex.viper-918.myds.me${thumb}?X-Plex-Token=Pk5PySz_imbA3y24yDei`; // Beispiel-URL anpassen const imageUrl = `${PLEX_DOMAIN}${thumb}?X-Plex-Token=${PLEX_TOKEN}`; // Beispiel-URL anpassen
// Debugging-Ausgabe // Debugging-Ausgabe
console.log(`Image URL: ${imageUrl}`); console.log(`Image URL: ${imageUrl}`);
@ -2740,14 +2783,14 @@ Um sie zu deaktivieren, tippe 👉 /notification_off.
👤 Möchtest du dein Profil sehen? Tippe 👉 /profil.`; 👤 Möchtest du dein Profil sehen? Tippe 👉 /profil.`;
// Inline-Button zu einer Webadresse // Inline-Button zu einer Webadresse, basierend auf der Umgebungsvariable
const options = { const options = {
reply_markup: { reply_markup: {
inline_keyboard: [ inline_keyboard: [
[ [
{ {
text: 'zur Web Oberfläche', text: 'zur Web Oberfläche',
url: 'https://plex.viper.ipv64.net/' url: process.env.PANEL_LINK // Verwendung der PANEL_LINK-Umgebungsvariable
} }
] ]
] ]
@ -4581,6 +4624,11 @@ app.get('/api/bot-version', (req, res) => {
res.json({ version: process.env.BOT_VERSION }); res.json({ version: process.env.BOT_VERSION });
}); });
// API-Route, die den Wert von WEB_NAME bereitstellt
app.get('/api/web-name', (req, res) => {
res.json({ name: process.env.WEB_NAME });
});
// Inline-Knopf-Ereignis für Film auswählen verarbeiten // Inline-Knopf-Ereignis für Film auswählen verarbeiten
bot.on('callback_query', async (callbackQuery) => { bot.on('callback_query', async (callbackQuery) => {
const chatId = callbackQuery.message.chat.id; const chatId = callbackQuery.message.chat.id;
@ -5194,10 +5242,24 @@ function sendToTelegram(report) {
// Ende Frontend // Ende Frontend
/// Definition der logDebug-Funktion /// Definition der logDebug-Funktion
function logDebug(message) { function logDebug(message) {
console.log(`${new Date().toISOString()} - DEBUG: ${message}`); console.log(`${new Date().toISOString()} - DEBUG: ${message}`);