CampFirePlay/commands/bonus.js
Degradin 4eb6b83f36 v0.3
Новая игра в казино
Переделаны слоты, установлено ограничение на клики
Максимальный уровень увеличен до 100
К бонусу добавлен множитель уровня
К работе добавлен множитель уровня
2025-01-06 02:05:59 +03:00

90 lines
2.8 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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();
money *= user.level
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}
`)
}