const { UserModel, WorldModel, BusinessModel } = global.config const { rand, setCooldown } = require('../utils') module.exports = async (ctx) => { let user = await UserModel.findByPk(ctx.from.id); if (!user) return ctx.reply(`Ошибка #1`); let bonustime = user.bonustime let cooldown = setCooldown(user, 3600, bonustime) if (user.bonustime > cooldown.currentTime) return ctx.reply(`📛 Забрать бонус можно будет через ${cooldown.timeLeftInMinutes} минут(у/ы)`); user.bonus = 1; user.bonustime = cooldown.endTime let world = await WorldModel.findByPk(1) let text = ``; let money = [100, 200, 300, 400, 500, 1000].random(); if (user.level >= 5) { money += money; } let r = rand(1, 2); let x = rand(2, 7); if (r == 1) { text += `⏩ ₽${money}\n`; } if (r == 2) { money = money*x text += `⏩ ₽${money}\n`; } switch(user.status){ case 'bronze': user.money += 5000 text += `⭐ Дополнительный бонус за Bronze:\n⏩ ₽5.000\n` break; case 'silver': user.money += 15000 text += `⭐ Дополнительный бонус за Silver:\n⏩ ₽15.000\n` break; case 'gold': user.money += 30000 text += `⭐ Дополнительный бонус за Gold:\n⏩ ₽30.000\n` break; } user.money += money; world.balance -= money if (user.business.id == 0){ await user.save(); await world.save(); return ctx.reply(` ⭐ Из ежечасного бонуса Вам выпало: ${text} `) } let business = await BusinessModel.findOne({ where: { owner: user.business.id.toString() } }) if(business != null){ let mats = rand(3, 10) switch(user.status){ case 'bronze': business.materials += 5 text += `⭐ Дополнительный бонус за Bronze:\n⏩ 5 материалов\n` break; case 'silver': business.materials += 10 text += `⭐ Дополнительный бонус за Silver:\n⏩ 10 материалов\n` break; case 'gold': business.materials += 20 text += `⭐ Дополнительный бонус за Gold:\n⏩ 20 материалов\n` break; } text += `⏩ ${mats} материалов в организацию\n` business.materials += Number(mats) business.save() } await user.save(); await world.save(); return ctx.reply(` ⭐ Из ежечасного бонуса Вам выпало: ${text} `) }