0.0.31
This commit is contained in:
parent
bf04318a1f
commit
4d02f482ae
57
bot.js
57
bot.js
@ -372,13 +372,42 @@ bot.hears('🏗️ Предприятия', async (ctx) => {
|
||||
if (warehouse) {
|
||||
buttons.push([{ text: '🚛 Управление складом', callback_data: 'manage_warehouse' }]);
|
||||
} else {
|
||||
buttons.push([{ text: '🗄️ Построить склад', callback_data: 'open_warehouse' }]);
|
||||
buttons.push([{ text: '🗄️ Построить склад', callback_data: 'buy_warehouse' }]);
|
||||
}
|
||||
|
||||
// Возвращаем меню с кнопками
|
||||
return await ctx.reply(message, Markup.inlineKeyboard(buttons).resize());
|
||||
});
|
||||
bot.action('enterprise_menu', async (ctx) => {
|
||||
const user = await UserModel.findByPk(ctx.from.id);
|
||||
const warehouse = await WarehouseModel.findOne({ where: { playerId: user.telegram_id } });
|
||||
|
||||
const enterprises = await EnterpriseModel.findAll({
|
||||
where: { playerId: user.telegram_id }
|
||||
});
|
||||
|
||||
let message = `🏗️ Меню предприятий:\n`;
|
||||
message += `У вас: ${enterprises.length} предприятий.\n`;
|
||||
message += warehouse
|
||||
? `🗄️ Единый склад: Доступен (Ёмкость: ${warehouse.capacity} ед.)\n`
|
||||
: `🗄️ Единый склад: Не построен.\n`;
|
||||
|
||||
const buttons = [];
|
||||
|
||||
// Добавляем кнопки для предприятий
|
||||
buttons.push([{ text: '🏭 Мои предприятия', callback_data: 'my_enterprises' }]);
|
||||
buttons.push([{ text: '🛠️ Построить предприятие', callback_data: 'build_enterprise' }]);
|
||||
|
||||
// Кнопка для управления или постройки склада
|
||||
if (warehouse) {
|
||||
buttons.push([{ text: '🚛 Управление складом', callback_data: 'manage_warehouse' }]);
|
||||
} else {
|
||||
buttons.push([{ text: '🗄️ Построить склад', callback_data: 'buy_warehouse' }]);
|
||||
}
|
||||
|
||||
// Возвращаем меню с кнопками
|
||||
return await ctx.editMessageText(message, Markup.inlineKeyboard(buttons).resize());
|
||||
});
|
||||
|
||||
// Функция для преобразования типа ресурса в эмодзи
|
||||
function getEnterpriseEmoji(resourceType) {
|
||||
@ -414,9 +443,9 @@ bot.action('my_enterprises', async (ctx) => {
|
||||
]);
|
||||
});
|
||||
|
||||
buttons.push([{ text: '⬅️ Назад', callback_data: 'back_to_menu' }]);
|
||||
buttons.push([{ text: '⬅️ Назад', callback_data: 'enterprise_menu' }]);
|
||||
|
||||
return await ctx.reply(message, Markup.inlineKeyboard(buttons).resize());
|
||||
return await ctx.editMessageText(message, Markup.inlineKeyboard(buttons).resize());
|
||||
});
|
||||
|
||||
|
||||
@ -456,7 +485,7 @@ bot.action('build_enterprise', async (ctx) => {
|
||||
}
|
||||
|
||||
message += '\nВыберите тип предприятия:';
|
||||
return await ctx.reply(message, Markup.inlineKeyboard(buttons).resize());
|
||||
return await ctx.editMessageText(message, Markup.inlineKeyboard(buttons).resize());
|
||||
} catch (error) {
|
||||
console.error('Ошибка в build_enterprise:', error);
|
||||
return await ctx.reply('Произошла ошибка при обработке запроса. Попробуйте снова.');
|
||||
@ -489,7 +518,7 @@ bot.action(/build_(wood|coal|oil|metall|gold|diamond)/, async (ctx) => {
|
||||
// Снимаем деньги с баланса
|
||||
await user.update({ money: user.money - price })
|
||||
|
||||
return await ctx.reply(`Предприятие ${enterprise.name} (ID: ${enterprise.id}) построено!`)
|
||||
return await ctx.editMessageText(`Предприятие ${enterprise.name} (ID: ${enterprise.id}) построено!`)
|
||||
})
|
||||
|
||||
// Функция для расчета стоимости предприятия
|
||||
@ -536,7 +565,7 @@ bot.action('buy_warehouse', async (ctx) => {
|
||||
})
|
||||
|
||||
await user.update({ money: user.money - 500000 })
|
||||
return await ctx.reply(`Вы успешно купили единый склад!`)
|
||||
return await ctx.editMessageText(`Вы успешно купили единый склад!`)
|
||||
})
|
||||
|
||||
// Управление складом
|
||||
@ -564,7 +593,7 @@ bot.action('manage_warehouse', async (ctx) => {
|
||||
[{ text: '🚚 Купить транспорт', callback_data: 'buy_truck' }]
|
||||
];
|
||||
|
||||
return await ctx.reply(message, Markup.inlineKeyboard(buttons).resize());
|
||||
return await ctx.editMessageText(message, Markup.inlineKeyboard(buttons).resize());
|
||||
});
|
||||
|
||||
bot.action('warehouse_management', async (ctx) => {
|
||||
@ -588,7 +617,7 @@ bot.action('warehouse_management', async (ctx) => {
|
||||
💰 Золото: ${warehouse.gold || 0}
|
||||
💎 Алмазы: ${warehouse.diamond || 0}
|
||||
`
|
||||
return await ctx.reply(message, Markup.inlineKeyboard([
|
||||
return await ctx.editMessageText(message, Markup.inlineKeyboard([
|
||||
[{ text: 'Управление транспортом', callback_data: 'manage_trucks' }],
|
||||
[{ text: 'Продать ресурсы', callback_data: 'sell_from_warehouse' }]
|
||||
]).resize())
|
||||
@ -602,7 +631,7 @@ bot.action(/manage_(\d+)/, async (ctx) => {
|
||||
if (!enterprise) return await ctx.reply(`Предприятие не найдено.`)
|
||||
|
||||
// Логика управления предприятием (например, прокачка или продажа ресурсов)
|
||||
return await ctx.reply(`Вы управляете предприятием ${enterprise.name} (ID: ${enterprise.id}).`)
|
||||
return await ctx.editMessageText(`Вы управляете предприятием ${enterprise.name} (ID: ${enterprise.id}).`)
|
||||
})
|
||||
bot.action('transfer_resources', async (ctx) => {
|
||||
const user = await UserModel.findByPk(ctx.from.id);
|
||||
@ -624,7 +653,7 @@ bot.action('transfer_resources', async (ctx) => {
|
||||
return [{ text: `🏭 ${ent.name}`, callback_data: `transfer_from_${ent.id}` }];
|
||||
});
|
||||
|
||||
return await ctx.reply(message, Markup.inlineKeyboard(buttons).resize());
|
||||
return await ctx.editMessageText(message, Markup.inlineKeyboard(buttons).resize());
|
||||
});
|
||||
|
||||
// Перевозка с конкретного предприятия
|
||||
@ -635,7 +664,7 @@ bot.action(/transfer_from_(\d+)/, async (ctx) => {
|
||||
|
||||
const enterprise = await EnterpriseModel.findByPk(enterpriseId);
|
||||
if (!enterprise) {
|
||||
return await ctx.reply('Предприятие не найдено.');
|
||||
return await ctx.editMessageText('Предприятие не найдено.');
|
||||
}
|
||||
|
||||
let message = `🚛 Перевозка с предприятия ${enterprise.name}:\n`;
|
||||
@ -685,7 +714,7 @@ bot.action('upgrade_enterprise', async (ctx) => {
|
||||
buttons.push({ text: `Прокачать ${enterprise.name}`, callback_data: `upgrade_${enterprise.id}` })
|
||||
})
|
||||
|
||||
return await ctx.reply(`Выберите предприятие для прокачки:`, Markup.inlineKeyboard(buttons).resize())
|
||||
return await ctx.editMessageText(`Выберите предприятие для прокачки:`, Markup.inlineKeyboard(buttons).resize())
|
||||
})
|
||||
|
||||
bot.action(/upgrade_(\d+)/, async (ctx) => {
|
||||
@ -709,7 +738,7 @@ bot.action(/upgrade_(\d+)/, async (ctx) => {
|
||||
// Снимаем деньги с баланса
|
||||
await user.update({ balance: user.balance - upgradeCost })
|
||||
|
||||
return await ctx.reply(`Предприятие ${enterprise.name} успешно прокачано! Уровень: ${enterprise.level}, Производительность: ${enterprise.efficiency} ед/ч.`)
|
||||
return await ctx.editMessageText(`Предприятие ${enterprise.name} успешно прокачано! Уровень: ${enterprise.level}, Производительность: ${enterprise.efficiency} ед/ч.`)
|
||||
})
|
||||
|
||||
bot.action('sell_resources', async (ctx) => {
|
||||
@ -727,7 +756,7 @@ bot.action('sell_resources', async (ctx) => {
|
||||
buttons.push({ text: `Продать ресурсы с ${enterprise.name}`, callback_data: `sell_${enterprise.id}` })
|
||||
})
|
||||
|
||||
return await ctx.reply(`Выберите предприятие для продажи ресурсов:`, Markup.inlineKeyboard(buttons).resize())
|
||||
return await ctx.editMessageText(`Выберите предприятие для продажи ресурсов:`, Markup.inlineKeyboard(buttons).resize())
|
||||
})
|
||||
|
||||
bot.action(/sell_(\d+)/, async (ctx) => {
|
||||
|
Loading…
Reference in New Issue
Block a user