diff --git a/wunsch-bot.js b/wunsch-bot.js index 89366bb..c174f0f 100644 --- a/wunsch-bot.js +++ b/wunsch-bot.js @@ -4,8 +4,11 @@ const fs = require('fs'); const path = require('path'); const archiver = require('archiver'); const schedule = require('node-schedule'); +const express = require('express'); +const bodyParser = require('body-parser'); -// Initialisiere den Bot +const app = express(); +app.use(bodyParser.json()); const bot = new Telegraf(process.env.TELEGRAM_TOKEN); // Erlaubte Gruppen-ID und Themen-ID aus der .env-Datei @@ -445,6 +448,55 @@ bot.on('text', async (ctx) => { } }); +//start Frontend + +// Middleware, um statische Dateien aus dem "public"-Ordner zu servieren +app.use(express.static(path.join(__dirname, 'public'))); + +// API-Route zum Senden von Wünschen +app.post('/api/sendWish', async (req, res) => { + const { category, link, title } = req.body; + + // Überprüfen, ob die erforderlichen Daten vorhanden sind + if (!category || !title) { + return res.status(400).send('Kategorie und Titel sind erforderlich.'); + } + + // Erstelle die Nachricht, die an die Telegram-Gruppe gesendet wird + const message = `🎬 *Ein neuer Wunsch ist eingegangen!*\n\n🔹 Kategorie: ${category}\n\n🔸 Titel: ${title}\n\n🔗 Link: ${link || 'Kein Link'}`; + + // Inline-Tastatur mit den Buttons + const replyMarkup = { + reply_markup: JSON.stringify({ + inline_keyboard: [ + [ + { text: '✅ Erledigt', callback_data: 'wish_fulfilled' }, + { text: '❌ Nicht gefunden', callback_data: 'wish_not_found' } + ] + ] + }) + }; + + try { + // Sende die Nachricht an die Telegram-Gruppe im richtigen Thema mit den Buttons + await bot.telegram.sendMessage(allowedChatId, message, { + message_thread_id: allowedThreadId, // Sende in das erlaubte Thema + reply_markup: replyMarkup.reply_markup // Füge die Buttons hinzu + }); + res.status(200).send('Wunsch gesendet'); + } catch (error) { + console.error('Error sending wish:', error); + res.status(500).send('Fehler beim Senden des Wunsches'); + } +}); + +//End Frontend + +// Server starten +const PORT = process.env.PORT || 3005; +app.listen(PORT, () => { + console.log(`Server läuft auf http://localhost:${PORT}`); +}); bot.launch();