const { Telegraf, Scenes, session, Markup, Stage, Composer } = require('telegraf'); // Подключаем необходимые библиотеки const { Op } = require('sequelize'); const sequelize = require('./db'); // Подключение базы данных // Подключаем обработчики const utils = require('./utils'); const handlers = require('./handlers'); const { UserModel, CharacterModel, WorldModel, JobModel, PropertyModel, AFKPropertyModel, BusinessModel, ReportModel, BlockModel, PromocodeModel, EnterpriseModel, WarehouseModel, TruckModel, SaleModel, ResourcePriceModel, SkillsModel, DailyModel } = global.config const rpg = new Composer(); rpg.hears('RPG', async (ctx) => { let message = `Меню:\n`; const buttons = []; buttons.push([{ text: 'Мой Персонаж', callback_data: 'rpg_profile' }]); return await ctx.reply(message, Markup.inlineKeyboard(buttons).resize()); }); rpg.action('rpg_profile', async (ctx) => { const telegramId = ctx.from.id; // Ищем персонажа const character = await CharacterModel.findOne({ where: { telegram_id: telegramId } }); if (!character) { return ctx.reply('Персонаж не найден. Создайте нового персонажа, чтобы начать игру!'); } // Формируем профиль const profile = ` 🎭 Профиль персонажа: 👤 Имя: ${character.name || 'Не указано'} 🏆 Уровень: ${character.level} (${character.exp}/${character.level * 100} опыта) ❤️ Здоровье: ${character.hp}/${character.max_hp} 💪 Сила (F): ${character.fire} 🧠 Интеллект (I): ${character.intelligence} 🛡️ Устойчивость (R): ${character.resilience} 🔋 Выносливость (E): ${character.endurance} 🔥 Стамина: ${character.stamina}/${character.max_stamina} 💰 Грязные деньги: ${character.dirtymoney} 🃏 Карточки: ${character.stealedcards} 🎒 Инвентарь (${character.inventory.length}/10): ${character.inventory.map((item) => item.name).join(', ') || 'Пусто'} `; // Отправляем сообщение ctx.reply(profile.trim(), Markup.inlineKeyboard([ [Markup.button.callback('📦 Открыть инвентарь', 'open_inventory')], [Markup.button.callback('🛠 Улучшить параметры', 'upgrade_stats')] ])); }); // Экспорт всех команд RPG module.exports = rpg;