wunsch-bot.js aktualisiert
This commit is contained in:
parent
8ee1015ac2
commit
51f0756400
|
@ -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();
|
||||
|
||||
|
|
Loading…
Reference in New Issue