bot.js aktualisiert
This commit is contained in:
parent
9476a48234
commit
d016fc1734
76
bot.js
76
bot.js
|
@ -170,6 +170,35 @@ const sendQueuedReportsToAdmin = (adminId) => {
|
||||||
fs.writeFileSync(reportFilePath, JSON.stringify(reportsData, null, 2)); // Speichern der aktualisierten Daten
|
fs.writeFileSync(reportFilePath, JSON.stringify(reportsData, null, 2)); // Speichern der aktualisierten Daten
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Urlaubsdaten speichern
|
||||||
|
let vacationData = {};
|
||||||
|
|
||||||
|
// Befehl /urlaub zum Eintragen von Urlaub
|
||||||
|
bot.onText(/\/urlaub (.+)/, (msg, match) => {
|
||||||
|
const chatId = msg.chat.id;
|
||||||
|
const userId = msg.from.id.toString();
|
||||||
|
const vacationInfo = match[1].trim();
|
||||||
|
|
||||||
|
// Überprüfen, ob der Benutzer ein Admin ist
|
||||||
|
if (!isAdmin(userId)) {
|
||||||
|
bot.sendMessage(chatId, '🚫 Nur Admins dürfen diesen Befehl verwenden.');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Urlaubseintrag speichern
|
||||||
|
vacationData[userId] = {
|
||||||
|
vacationInfo: vacationInfo,
|
||||||
|
date: new Date().toLocaleString()
|
||||||
|
};
|
||||||
|
|
||||||
|
// Benutzer über den Urlaub informieren
|
||||||
|
bot.sendMessage(chatId, `✅ Du hast deinen Urlaub eingetragen: "${vacationInfo}".`);
|
||||||
|
|
||||||
|
// Alle Benutzer über den Urlaub informieren
|
||||||
|
const message = `🔔 Hinweis: Admin ${msg.from.username || `${msg.from.first_name} ${msg.from.last_name}`} ist im Urlaub: "${vacationInfo}".`;
|
||||||
|
bot.sendMessage(chatId, message);
|
||||||
|
});
|
||||||
|
|
||||||
// Befehl zum Melden von Nachrichten
|
// Befehl zum Melden von Nachrichten
|
||||||
bot.onText(/\/report/, (msg) => {
|
bot.onText(/\/report/, (msg) => {
|
||||||
const chatId = msg.chat.id;
|
const chatId = msg.chat.id;
|
||||||
|
@ -203,7 +232,7 @@ bot.onText(/\/report/, (msg) => {
|
||||||
|
|
||||||
bot.onText(/\/documentation/, (msg) => {
|
bot.onText(/\/documentation/, (msg) => {
|
||||||
const chatId = msg.chat.id;
|
const chatId = msg.chat.id;
|
||||||
const documentationUrl = 'https://deine-dokumentation-url.com'; // Ersetze dies durch die tatsächliche URL
|
const documentationUrl = 'https://git.viper.ipv64.net/M_Viper/support_bot_2024/src/branch/main/README.md'; // Ersetze dies durch die tatsächliche URL
|
||||||
|
|
||||||
bot.sendMessage(chatId, 'Hier findest du die technische Dokumentation:', {
|
bot.sendMessage(chatId, 'Hier findest du die technische Dokumentation:', {
|
||||||
reply_markup: {
|
reply_markup: {
|
||||||
|
@ -450,6 +479,35 @@ function saveInviteLinks() {
|
||||||
// Objekt zur Speicherung von Einladungslinks (wird aus der Datei geladen)
|
// Objekt zur Speicherung von Einladungslinks (wird aus der Datei geladen)
|
||||||
let inviteLinks = loadInviteLinks();
|
let inviteLinks = loadInviteLinks();
|
||||||
|
|
||||||
|
// Funktion zum Hinzufügen eines Eintrags zum Log
|
||||||
|
const logUserJoin = (userId, username, inviteLink) => {
|
||||||
|
const logEntry = {
|
||||||
|
userId: userId,
|
||||||
|
username: username,
|
||||||
|
inviteLink: inviteLink,
|
||||||
|
timestamp: new Date().toISOString()
|
||||||
|
};
|
||||||
|
|
||||||
|
// Log-Datei lesen und Eintrag hinzufügen
|
||||||
|
fs.readFile(logFilePath, (err, data) => {
|
||||||
|
let logData = [];
|
||||||
|
if (!err) {
|
||||||
|
logData = JSON.parse(data);
|
||||||
|
}
|
||||||
|
|
||||||
|
logData.push(logEntry);
|
||||||
|
|
||||||
|
// Log-Datei speichern
|
||||||
|
fs.writeFile(logFilePath, JSON.stringify(logData, null, 2), (err) => {
|
||||||
|
if (err) {
|
||||||
|
console.error('Fehler beim Schreiben in die Log-Datei:', err);
|
||||||
|
} else {
|
||||||
|
console.log('Log-Eintrag erfolgreich hinzugefügt:', logEntry);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
// /einladung-Befehl für alle Benutzer
|
// /einladung-Befehl für alle Benutzer
|
||||||
bot.onText(/\/einladung/, (msg) => {
|
bot.onText(/\/einladung/, (msg) => {
|
||||||
const chatId = msg.chat.id;
|
const chatId = msg.chat.id;
|
||||||
|
@ -494,6 +552,20 @@ bot.onText(/\/einladung/, (msg) => {
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Beispiel: Handle den Beitritt eines Benutzers über einen Einladungslink
|
||||||
|
bot.on('new_chat_members', (msg) => {
|
||||||
|
msg.new_chat_members.forEach(async (member) => {
|
||||||
|
const userId = member.id;
|
||||||
|
const username = member.username || 'unbekannt';
|
||||||
|
|
||||||
|
// Hier den Einladungslink abfragen (z.B. aus einer Datenbank oder durch andere Mittel)
|
||||||
|
const inviteLink = inviteLinks[member.invite_link.id] ? inviteLinks[member.invite_link.id].link : 'unbekannt';
|
||||||
|
|
||||||
|
// Log den Beitritt
|
||||||
|
logUserJoin(userId, username, inviteLink);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
// Befehl zum Löschen der letzten n Nachrichten
|
// Befehl zum Löschen der letzten n Nachrichten
|
||||||
bot.onText(/\/clear (\d+)/, async (msg, match) => {
|
bot.onText(/\/clear (\d+)/, async (msg, match) => {
|
||||||
const chatId = msg.chat.id;
|
const chatId = msg.chat.id;
|
||||||
|
@ -981,7 +1053,7 @@ bot.onText(/\/info/, (msg) => {
|
||||||
|
|
||||||
// Hier die Bot-Informationen eintragen
|
// Hier die Bot-Informationen eintragen
|
||||||
const botName = 'Support Bot'; // Ersetze dies durch den tatsächlichen Bot-Namen
|
const botName = 'Support Bot'; // Ersetze dies durch den tatsächlichen Bot-Namen
|
||||||
const botVersion = '1.5.9'; // Ersetze dies durch die tatsächliche Version
|
const botVersion = '1.6.0'; // Ersetze dies durch die tatsächliche Version
|
||||||
const botAuthor = 'M_Viper'; // Ersetze dies durch den tatsächlichen Autor
|
const botAuthor = 'M_Viper'; // Ersetze dies durch den tatsächlichen Autor
|
||||||
const botLicense = 'MIT'; // Ersetze dies durch die tatsächliche Lizenz
|
const botLicense = 'MIT'; // Ersetze dies durch die tatsächliche Lizenz
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue