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 path = require('path');
|
||||||
const archiver = require('archiver');
|
const archiver = require('archiver');
|
||||||
const schedule = require('node-schedule');
|
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);
|
const bot = new Telegraf(process.env.TELEGRAM_TOKEN);
|
||||||
|
|
||||||
// Erlaubte Gruppen-ID und Themen-ID aus der .env-Datei
|
// 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();
|
bot.launch();
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue