const fs = require("fs"); const path = require("path"); /** * Функция для записи логов. * @param {Object} ctx - Контекст Telegraf (содержит данные о пользователе и сообщении). * @param {String} action - Описание действия, например, "Начало битвы", "Использована граната". * @param {Object} [extraData] - Дополнительные данные для логов. */ function logAction(ctx, action, extraData = {}) { const logEntry = { timestamp: new Date().toISOString(), user: { id: ctx.from.id, username: ctx.from.username || "unknown", first_name: ctx.from.first_name || "unknown", last_name: ctx.from.last_name || "", }, chat: ctx.chat ? { id: ctx.chat.id, type: ctx.chat.type } : null, action, extraData, }; const logString = JSON.stringify(logEntry, null, 2); // Сохраняем лог в файл fs.appendFile('./json/logs.json', logString + "\n", (err) => { if (err) { console.error("Ошибка при записи лога:", err); } }); } module.exports = logAction;