Prepare for Enterprise update
This commit is contained in:
parent
906fffd2ca
commit
6b5ea57c89
226
bot.js
226
bot.js
@ -20,10 +20,14 @@ const {
|
|||||||
WorldModel,
|
WorldModel,
|
||||||
JobModel,
|
JobModel,
|
||||||
PropertyModel,
|
PropertyModel,
|
||||||
|
AFKPropertyModel,
|
||||||
BusinessModel,
|
BusinessModel,
|
||||||
ReportModel,
|
ReportModel,
|
||||||
BlockModel,
|
BlockModel,
|
||||||
PromocodeModel,
|
PromocodeModel,
|
||||||
|
EnterpriseModel,
|
||||||
|
WarehouseModel,
|
||||||
|
SaleModel,
|
||||||
SkillsModel,
|
SkillsModel,
|
||||||
mainChat,
|
mainChat,
|
||||||
adminList,
|
adminList,
|
||||||
@ -99,8 +103,6 @@ const {
|
|||||||
const { Op } = require('sequelize');
|
const { Op } = require('sequelize');
|
||||||
const fs = require('fs');
|
const fs = require('fs');
|
||||||
const { createCanvas, loadImage } = require('canvas');
|
const { createCanvas, loadImage } = require('canvas');
|
||||||
const shortid = require('shortid');
|
|
||||||
const voucher_codes = require('voucher-code-generator');
|
|
||||||
const bot = new Telegraf(process.env.BOT_TOKEN)
|
const bot = new Telegraf(process.env.BOT_TOKEN)
|
||||||
const crime = require('./scenes/crime')
|
const crime = require('./scenes/crime')
|
||||||
const pocketsteal = require('./scenes/pocketsteal')
|
const pocketsteal = require('./scenes/pocketsteal')
|
||||||
@ -277,6 +279,7 @@ bot.command('start', async (ctx) => {
|
|||||||
.keyboard([
|
.keyboard([
|
||||||
['😎 Профиль'], // Row1 with 2 buttons
|
['😎 Профиль'], // Row1 with 2 buttons
|
||||||
['🗄️ Работать', '🌐 Организация', '🎁 Бонус', '🏯 Казино'], // Row2 with 2 buttons
|
['🗄️ Работать', '🌐 Организация', '🎁 Бонус', '🏯 Казино'], // Row2 with 2 buttons
|
||||||
|
['🏗️ Предприятия'],
|
||||||
['📦 Контейнеры'],
|
['📦 Контейнеры'],
|
||||||
['📢 Вакансии', '🔵 Имущество', '📞 Пригласить'] // Row3 with 3 buttons
|
['📢 Вакансии', '🔵 Имущество', '📞 Пригласить'] // Row3 with 3 buttons
|
||||||
])
|
])
|
||||||
@ -430,6 +433,225 @@ bot.action(/{"action": "sueta_*/, async (ctx) => {
|
|||||||
user.save()
|
user.save()
|
||||||
property.save()
|
property.save()
|
||||||
})
|
})
|
||||||
|
|
||||||
|
/////////////////////////////////////Enterprise Update 20.12.2024//////////////////////////////////////////////////
|
||||||
|
|
||||||
|
bot.hears('🏗️ Предприятия', async (ctx) => {
|
||||||
|
return await ctx.reply(`
|
||||||
|
Меню предприятий
|
||||||
|
У вас: нет предприятий.
|
||||||
|
Цены:
|
||||||
|
|
||||||
|
`, Markup
|
||||||
|
.inlineKeyboard([
|
||||||
|
[
|
||||||
|
{text: 'Мои предприятия', callback_data: `my_enterprises`},
|
||||||
|
{text: 'Построить', callback_data: `build_enterprise`},
|
||||||
|
{text: 'Склад', callback_data: `open_warehouse`},
|
||||||
|
]
|
||||||
|
])
|
||||||
|
.resize())
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
bot.action('my_enterprises', async (ctx) => {
|
||||||
|
let user = await UserModel.findByPk(ctx.from.id)
|
||||||
|
let enterprises = await EnterpriseModel.findAll({
|
||||||
|
where: {
|
||||||
|
playerId: user.telegram_id
|
||||||
|
}
|
||||||
|
})
|
||||||
|
let message = `Ваши предприятия:\n`
|
||||||
|
enterprises.forEach(enterprise => {
|
||||||
|
message += `🏭 ${enterprise.name} (Тип: ${enterprise.resourceType}, Уровень: ${enterprise.level}, Производительность: ${enterprise.efficiency} ед/ч, Склад: ${enterprise.warehouseCapacity} ед.)\n`
|
||||||
|
})
|
||||||
|
if (enterprises.length === 0) {
|
||||||
|
message += 'У вас нет предприятий.\n'
|
||||||
|
}
|
||||||
|
return await ctx.reply(message)
|
||||||
|
})
|
||||||
|
|
||||||
|
bot.action('build_enterprise', async (ctx) => {
|
||||||
|
let user = await UserModel.findByPk(ctx.from.id)
|
||||||
|
let enterprises = await EnterpriseModel.findAll({
|
||||||
|
where: {
|
||||||
|
playerId: user.telegram_id
|
||||||
|
}
|
||||||
|
})
|
||||||
|
if (enterprises.length > 0) return await ctx.reply(`У вас уже есть предприятие.`)
|
||||||
|
|
||||||
|
let message = `Выберите тип предприятия (цена зависит от ресурса):`
|
||||||
|
let buttons = []
|
||||||
|
let types = ['wood', 'coal', 'oil', 'metall', 'gold', 'diamond']
|
||||||
|
types.forEach(type => {
|
||||||
|
let price = getResourcePrice(type) // Функция для получения стоимости
|
||||||
|
buttons.push({text: `${type} (Цена: ${price} монет)`, callback_data: `build_${type}`})
|
||||||
|
})
|
||||||
|
return await ctx.reply(message, Markup.inlineKeyboard(buttons).resize())
|
||||||
|
})
|
||||||
|
|
||||||
|
function getResourcePrice(resourceType) {
|
||||||
|
const prices = {
|
||||||
|
wood: 100,
|
||||||
|
coal: 200,
|
||||||
|
oil: 500,
|
||||||
|
metall: 1000,
|
||||||
|
gold: 3000,
|
||||||
|
diamond: 5000
|
||||||
|
}
|
||||||
|
return prices[resourceType] || 0
|
||||||
|
}
|
||||||
|
|
||||||
|
bot.action(/build_(wood|coal|oil|metall|gold|diamond)/, async (ctx) => {
|
||||||
|
let user = await UserModel.findByPk(ctx.from.id)
|
||||||
|
let data = ctx.update.callback_query.data
|
||||||
|
let type = data.split('_')[1]
|
||||||
|
let price = getResourcePrice(type)
|
||||||
|
|
||||||
|
// Проверка, есть ли достаточно денег у пользователя
|
||||||
|
if (user.balance < price) {
|
||||||
|
return await ctx.reply(`У вас недостаточно средств для постройки предприятия. Необходимо ${price} монет.`)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Строим предприятие
|
||||||
|
let enterprise = await EnterpriseModel.create({
|
||||||
|
name: `${type} mine`,
|
||||||
|
resourceType: type,
|
||||||
|
playerId: user.telegram_id,
|
||||||
|
level: 1,
|
||||||
|
efficiency: 10,
|
||||||
|
warehouseCapacity: 100
|
||||||
|
})
|
||||||
|
|
||||||
|
// Снимаем деньги с баланса
|
||||||
|
await user.update({ balance: user.balance - price })
|
||||||
|
|
||||||
|
return await ctx.reply(`Предприятие ${enterprise.name} построено!`)
|
||||||
|
})
|
||||||
|
|
||||||
|
bot.action('upgrade_enterprise', async (ctx) => {
|
||||||
|
let user = await UserModel.findByPk(ctx.from.id)
|
||||||
|
let enterprises = await EnterpriseModel.findAll({
|
||||||
|
where: {
|
||||||
|
playerId: user.telegram_id
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
if (enterprises.length === 0) return await ctx.reply(`У вас нет предприятий для прокачки.`)
|
||||||
|
|
||||||
|
let buttons = []
|
||||||
|
enterprises.forEach(enterprise => {
|
||||||
|
buttons.push({ text: `Прокачать ${enterprise.name}`, callback_data: `upgrade_${enterprise.id}` })
|
||||||
|
})
|
||||||
|
|
||||||
|
return await ctx.reply(`Выберите предприятие для прокачки:`, Markup.inlineKeyboard(buttons).resize())
|
||||||
|
})
|
||||||
|
|
||||||
|
bot.action(/upgrade_(\d+)/, async (ctx) => {
|
||||||
|
let user = await UserModel.findByPk(ctx.from.id)
|
||||||
|
let enterpriseId = ctx.match[1]
|
||||||
|
let enterprise = await EnterpriseModel.findByPk(enterpriseId)
|
||||||
|
|
||||||
|
if (!enterprise) return await ctx.reply(`Предприятие не найдено.`)
|
||||||
|
|
||||||
|
let upgradeCost = enterprise.level * 100 // Стоимость улучшения зависит от уровня
|
||||||
|
if (user.balance < upgradeCost) {
|
||||||
|
return await ctx.reply(`У вас недостаточно средств для прокачки предприятия. Необходимо ${upgradeCost} монет.`)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Прокачка: повышение уровня и эффективности
|
||||||
|
await enterprise.update({
|
||||||
|
level: enterprise.level + 1,
|
||||||
|
efficiency: enterprise.efficiency + 10
|
||||||
|
})
|
||||||
|
|
||||||
|
// Снимаем деньги с баланса
|
||||||
|
await user.update({ balance: user.balance - upgradeCost })
|
||||||
|
|
||||||
|
return await ctx.reply(`Предприятие ${enterprise.name} успешно прокачано! Уровень: ${enterprise.level}, Производительность: ${enterprise.efficiency} ед/ч.`)
|
||||||
|
})
|
||||||
|
|
||||||
|
bot.action('sell_resources', async (ctx) => {
|
||||||
|
let user = await UserModel.findByPk(ctx.from.id)
|
||||||
|
let enterprises = await EnterpriseModel.findAll({
|
||||||
|
where: {
|
||||||
|
playerId: user.telegram_id
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
if (enterprises.length === 0) return await ctx.reply(`У вас нет предприятий для продажи ресурсов.`)
|
||||||
|
|
||||||
|
let buttons = []
|
||||||
|
enterprises.forEach(enterprise => {
|
||||||
|
buttons.push({ text: `Продать ресурсы с ${enterprise.name}`, callback_data: `sell_${enterprise.id}` })
|
||||||
|
})
|
||||||
|
|
||||||
|
return await ctx.reply(`Выберите предприятие для продажи ресурсов:`, Markup.inlineKeyboard(buttons).resize())
|
||||||
|
})
|
||||||
|
|
||||||
|
bot.action(/sell_(\d+)/, async (ctx) => {
|
||||||
|
let user = await UserModel.findByPk(ctx.from.id)
|
||||||
|
let enterpriseId = ctx.match[1]
|
||||||
|
let enterprise = await EnterpriseModel.findByPk(enterpriseId)
|
||||||
|
|
||||||
|
if (!enterprise) return await ctx.reply(`Предприятие не найдено.`)
|
||||||
|
|
||||||
|
// Логика продажи ресурсов с предприятия
|
||||||
|
const resourceQuantity = await ResourceModel.findOne({
|
||||||
|
where: { playerId: user.telegram_id, type: enterprise.resourceType }
|
||||||
|
})
|
||||||
|
|
||||||
|
if (!resourceQuantity || resourceQuantity.quantity <= 0) {
|
||||||
|
return await ctx.reply(`У вас нет ресурсов для продажи на предприятии ${enterprise.name}.`)
|
||||||
|
}
|
||||||
|
|
||||||
|
const salePrice = getResourcePrice(enterprise.resourceType) // Цена за единицу ресурса
|
||||||
|
const totalSale = salePrice * resourceQuantity.quantity
|
||||||
|
|
||||||
|
// Обновляем количество ресурсов
|
||||||
|
await ResourceModel.update(
|
||||||
|
{ quantity: 0 }, // Все ресурсы продаются
|
||||||
|
{ where: { playerId: user.telegram_id, type: enterprise.resourceType } }
|
||||||
|
)
|
||||||
|
|
||||||
|
// Добавляем деньги пользователю
|
||||||
|
await user.update({ balance: user.balance + totalSale })
|
||||||
|
|
||||||
|
return await ctx.reply(`Вы продали все ресурсы с ${enterprise.name} за ${totalSale} монет.`)
|
||||||
|
})
|
||||||
|
|
||||||
|
bot.action('open_warehouse', async (ctx) => {
|
||||||
|
let user = await UserModel.findByPk(ctx.from.id)
|
||||||
|
let warehouse = await WarehouseModel.findOne({ where: { playerId: user.telegram_id } })
|
||||||
|
|
||||||
|
if (warehouse) return await ctx.reply(`У вас уже есть склад.`)
|
||||||
|
|
||||||
|
let newWarehouse = await WarehouseModel.create({
|
||||||
|
playerId: user.telegram_id,
|
||||||
|
capacity: 500 // Начальная ёмкость склада
|
||||||
|
})
|
||||||
|
|
||||||
|
return await ctx.reply(`Вы открыли новый склад!`)
|
||||||
|
})
|
||||||
|
|
||||||
|
bot.action('hire_truck', async (ctx) => {
|
||||||
|
let user = await UserModel.findByPk(ctx.from.id)
|
||||||
|
let warehouse = await WarehouseModel.findOne({ where: { playerId: user.telegram_id } })
|
||||||
|
|
||||||
|
if (!warehouse) return await ctx.reply(`У вас нет склада для найма грузовиков.`)
|
||||||
|
|
||||||
|
// Логика найма грузовика
|
||||||
|
let truck = await TruckModel.create({
|
||||||
|
warehouseId: warehouse.id,
|
||||||
|
capacity: 10, // Начальная вместимость
|
||||||
|
efficiency: 1 // Начальная эффективность
|
||||||
|
})
|
||||||
|
|
||||||
|
return await ctx.reply(`Вы наняли грузовик для транспортировки ресурсов!`)
|
||||||
|
})
|
||||||
|
|
||||||
|
/////////////////////////////////////Enterprise Update end//////////////////////////////////////////////////
|
||||||
|
|
||||||
/////////////////////////////////////Admin Commands//////////////////////////////////////////////////
|
/////////////////////////////////////Admin Commands//////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
const {
|
const {
|
||||||
UserModel,
|
UserModel,
|
||||||
PromocodeModel
|
PromocodeModel
|
||||||
} = require('/workspace/degradin/Dev/Telegram/CampFire Play/config')
|
} = require('/dev/Telegram/CampFireGameBot/config')
|
||||||
const {
|
const {
|
||||||
generateVoucher
|
generateVoucher
|
||||||
} = require('/workspace/degradin/Dev/Telegram/CampFire Play/utils')
|
} = require('/dev/Telegram/CampFireGameBot/utils')
|
||||||
|
|
||||||
module.exports = async (ctx) => {
|
module.exports = async (ctx) => {
|
||||||
let user = await UserModel.findByPk(ctx.from.id)
|
let user = await UserModel.findByPk(ctx.from.id)
|
||||||
|
@ -5,7 +5,7 @@ const bot = new Telegraf(process.env.BOT_TOKEN)
|
|||||||
const {
|
const {
|
||||||
UserModel,
|
UserModel,
|
||||||
BlockModel
|
BlockModel
|
||||||
} = require('/workspace/degradin/Dev/Telegram/CampFire Play/config')
|
} = require('/dev/Telegram/CampFireGameBot/config')
|
||||||
|
|
||||||
module.exports = async (ctx) => {
|
module.exports = async (ctx) => {
|
||||||
let user = await UserModel.findByPk(ctx.from.id)
|
let user = await UserModel.findByPk(ctx.from.id)
|
||||||
|
@ -2,10 +2,10 @@ const voucher_codes = require('voucher-code-generator');
|
|||||||
const {
|
const {
|
||||||
UserModel,
|
UserModel,
|
||||||
PromocodeModel
|
PromocodeModel
|
||||||
} = require('/workspace/degradin/Dev/Telegram/CampFire Play/config')
|
} = require('/dev/Telegram/CampFireGameBot/config')
|
||||||
const {
|
const {
|
||||||
generateVoucher
|
generateVoucher
|
||||||
} = require('/workspace/degradin/Dev/Telegram/CampFire Play/utils')
|
} = require('/dev/Telegram/CampFireGameBot/utils')
|
||||||
|
|
||||||
module.exports = async (ctx) => {
|
module.exports = async (ctx) => {
|
||||||
let user = await UserModel.findByPk(ctx.from.id)
|
let user = await UserModel.findByPk(ctx.from.id)
|
||||||
|
@ -5,7 +5,7 @@ const bot = new Telegraf(process.env.BOT_TOKEN)
|
|||||||
const {
|
const {
|
||||||
UserModel,
|
UserModel,
|
||||||
ReportModel
|
ReportModel
|
||||||
} = require('/workspace/degradin/Dev/Telegram/CampFire Play/config')
|
} = require('/dev/Telegram/CampFireGameBot/config')
|
||||||
|
|
||||||
module.exports = async (ctx) => {
|
module.exports = async (ctx) => {
|
||||||
let user = await UserModel.findByPk(ctx.from.id)
|
let user = await UserModel.findByPk(ctx.from.id)
|
||||||
|
@ -2,7 +2,7 @@ const {
|
|||||||
UserModel,
|
UserModel,
|
||||||
WorldModel,
|
WorldModel,
|
||||||
BusinessModel
|
BusinessModel
|
||||||
} = require('../config')
|
} = require('/dev/Telegram/CampFireGameBot/config')
|
||||||
const {
|
const {
|
||||||
rand,
|
rand,
|
||||||
setCooldown
|
setCooldown
|
||||||
|
@ -3,10 +3,10 @@ const {
|
|||||||
simplecars,
|
simplecars,
|
||||||
UserModel,
|
UserModel,
|
||||||
PropertyModel
|
PropertyModel
|
||||||
} = require('/workspace/degradin/Dev/Telegram/CampFire Play/config')
|
} = require('/dev/Telegram/CampFireGameBot/config')
|
||||||
const {
|
const {
|
||||||
spaces
|
spaces
|
||||||
} = require('/workspace/degradin/Dev/Telegram/CampFire Play/utils')
|
} = require('/dev/Telegram/CampFireGameBot/utils')
|
||||||
|
|
||||||
module.exports = async (ctx) => {
|
module.exports = async (ctx) => {
|
||||||
let data = ctx.update.callback_query.data;
|
let data = ctx.update.callback_query.data;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
const {
|
const {
|
||||||
UserModel
|
UserModel
|
||||||
} = require('/workspace/degradin/Dev/Telegram/CampFire Play/config')
|
} = require('/dev/Telegram/CampFireGameBot/config')
|
||||||
|
|
||||||
module.exports = async (ctx) => {
|
module.exports = async (ctx) => {
|
||||||
let user = await UserModel.findByPk(ctx.from.id)
|
let user = await UserModel.findByPk(ctx.from.id)
|
||||||
|
@ -2,13 +2,13 @@ const {
|
|||||||
slots,
|
slots,
|
||||||
UserModel,
|
UserModel,
|
||||||
WorldModel
|
WorldModel
|
||||||
} = require('/workspace/degradin/Dev/Telegram/CampFire Play/config')
|
} = require('/dev/Telegram/CampFireGameBot/config')
|
||||||
const {
|
const {
|
||||||
spaces,
|
spaces,
|
||||||
getSlot,
|
getSlot,
|
||||||
giveExp,
|
giveExp,
|
||||||
setCooldown
|
setCooldown
|
||||||
} = require('/workspace/degradin/Dev/Telegram/CampFire Play/utils')
|
} = require('/dev/Telegram/CampFireGameBot/utils')
|
||||||
|
|
||||||
module.exports = async (ctx) => {
|
module.exports = async (ctx) => {
|
||||||
let data = ctx.update.callback_query.data;
|
let data = ctx.update.callback_query.data;
|
||||||
|
@ -3,7 +3,7 @@ const {
|
|||||||
} = require('telegraf')
|
} = require('telegraf')
|
||||||
const {
|
const {
|
||||||
UserModel
|
UserModel
|
||||||
} = require('/workspace/degradin/Dev/Telegram/CampFire Play/config')
|
} = require('/dev/Telegram/CampFireGameBot/config')
|
||||||
|
|
||||||
module.exports = async (ctx) => {
|
module.exports = async (ctx) => {
|
||||||
let user = await UserModel.findByPk(ctx.from.id)
|
let user = await UserModel.findByPk(ctx.from.id)
|
||||||
|
@ -27,7 +27,7 @@ const {
|
|||||||
adminList,
|
adminList,
|
||||||
expToUp,
|
expToUp,
|
||||||
topSym
|
topSym
|
||||||
} = require('/workspace/degradin/Dev/Telegram/CampFire Play/config')
|
} = require('/dev/Telegram/CampFireGameBot/config')
|
||||||
const {
|
const {
|
||||||
spaces,
|
spaces,
|
||||||
spacesWithMarkdown,
|
spacesWithMarkdown,
|
||||||
@ -43,7 +43,7 @@ const {
|
|||||||
setCooldown,
|
setCooldown,
|
||||||
weaponShopUpdate,
|
weaponShopUpdate,
|
||||||
stats
|
stats
|
||||||
} = require('/workspace/degradin/Dev/Telegram/CampFire Play/utils')
|
} = require('/dev/Telegram/CampFireGameBot/utils')
|
||||||
|
|
||||||
module.exports = async (ctx) => {
|
module.exports = async (ctx) => {
|
||||||
// Получаем контекст canvas
|
// Получаем контекст canvas
|
||||||
|
@ -2,7 +2,7 @@ const {
|
|||||||
UserModel,
|
UserModel,
|
||||||
PropertyModel,
|
PropertyModel,
|
||||||
expToUp
|
expToUp
|
||||||
} = require('../config')
|
} = require('/dev/Telegram/CampFireGameBot/config')
|
||||||
const {
|
const {
|
||||||
spacesWithMarkdown,
|
spacesWithMarkdown,
|
||||||
escape
|
escape
|
||||||
|
@ -2,7 +2,7 @@ const {
|
|||||||
UserModel,
|
UserModel,
|
||||||
PropertyModel,
|
PropertyModel,
|
||||||
expToUp
|
expToUp
|
||||||
} = require('../config')
|
} = require('/dev/Telegram/CampFireGameBot/config')
|
||||||
const {
|
const {
|
||||||
spacesWithMarkdown,
|
spacesWithMarkdown,
|
||||||
escape
|
escape
|
||||||
|
@ -20,7 +20,7 @@ const {
|
|||||||
adminList,
|
adminList,
|
||||||
expToUp,
|
expToUp,
|
||||||
topSym
|
topSym
|
||||||
} = require('../config')
|
} = require('/dev/Telegram/CampFireGameBot/config')
|
||||||
const {
|
const {
|
||||||
spaces,
|
spaces,
|
||||||
spacesWithMarkdown,
|
spacesWithMarkdown,
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
const {
|
const {
|
||||||
UserModel,
|
UserModel,
|
||||||
JobModel
|
JobModel
|
||||||
} = require('/workspace/degradin/Dev/Telegram/CampFire Play/config')
|
} = require('/dev/Telegram/CampFireGameBot/config')
|
||||||
|
|
||||||
module.exports = async (ctx) => {
|
module.exports = async (ctx) => {
|
||||||
let data = ctx.update.callback_query.data;
|
let data = ctx.update.callback_query.data;
|
||||||
|
@ -2,11 +2,11 @@ const {
|
|||||||
UserModel,
|
UserModel,
|
||||||
WorldModel,
|
WorldModel,
|
||||||
JobModel
|
JobModel
|
||||||
} = require('/workspace/degradin/Dev/Telegram/CampFire Play/config')
|
} = require('/dev/Telegram/CampFireGameBot/config')
|
||||||
const {
|
const {
|
||||||
giveExp,
|
giveExp,
|
||||||
setCooldown
|
setCooldown
|
||||||
} = require('/workspace/degradin/Dev/Telegram/CampFire Play/utils')
|
} = require('/dev/Telegram/CampFireGameBot/utils')
|
||||||
|
|
||||||
module.exports = async (ctx) => {
|
module.exports = async (ctx) => {
|
||||||
let user = await UserModel.findByPk(ctx.from.id);
|
let user = await UserModel.findByPk(ctx.from.id);
|
||||||
|
@ -6,7 +6,7 @@ const bot = new Telegraf(process.env.BOT_TOKEN)
|
|||||||
const {
|
const {
|
||||||
UserModel,
|
UserModel,
|
||||||
BusinessModel
|
BusinessModel
|
||||||
} = require('/workspace/degradin/Dev/Telegram/CampFire Play/config')
|
} = require('/dev/Telegram/CampFireGameBot/config')
|
||||||
|
|
||||||
module.exports = async (ctx) => {
|
module.exports = async (ctx) => {
|
||||||
ctx.args = ctx.update.message.text.split(' ')
|
ctx.args = ctx.update.message.text.split(' ')
|
||||||
|
@ -3,7 +3,7 @@ const { Op } = require('sequelize');
|
|||||||
const {
|
const {
|
||||||
UserModel,
|
UserModel,
|
||||||
BusinessModel
|
BusinessModel
|
||||||
} = require('/workspace/degradin/Dev/Telegram/CampFire Play/config')
|
} = require('/dev/Telegram/CampFireGameBot/config')
|
||||||
|
|
||||||
module.exports = async (ctx) => {
|
module.exports = async (ctx) => {
|
||||||
let data = ctx.update.callback_query.data;
|
let data = ctx.update.callback_query.data;
|
||||||
|
@ -6,7 +6,7 @@ const bot = new Telegraf(process.env.BOT_TOKEN)
|
|||||||
const {
|
const {
|
||||||
UserModel,
|
UserModel,
|
||||||
BusinessModel
|
BusinessModel
|
||||||
} = require('/workspace/degradin/Dev/Telegram/CampFire Play/config')
|
} = require('/dev/Telegram/CampFireGameBot/config')
|
||||||
|
|
||||||
module.exports = async (ctx) => {
|
module.exports = async (ctx) => {
|
||||||
let user = await UserModel.findByPk(ctx.from.id)
|
let user = await UserModel.findByPk(ctx.from.id)
|
||||||
|
@ -5,7 +5,7 @@ const bot = new Telegraf(process.env.BOT_TOKEN)
|
|||||||
const {
|
const {
|
||||||
UserModel,
|
UserModel,
|
||||||
BusinessModel
|
BusinessModel
|
||||||
} = require('/workspace/degradin/Dev/Telegram/CampFire Play/config')
|
} = require('/dev/Telegram/CampFireGameBot/config')
|
||||||
|
|
||||||
module.exports = async (ctx) => {
|
module.exports = async (ctx) => {
|
||||||
let data = ctx.update.callback_query.data;
|
let data = ctx.update.callback_query.data;
|
||||||
|
@ -2,7 +2,7 @@ const {
|
|||||||
UserModel,
|
UserModel,
|
||||||
WorldModel,
|
WorldModel,
|
||||||
BusinessModel
|
BusinessModel
|
||||||
} = require('/workspace/degradin/Dev/Telegram/CampFire Play/config')
|
} = require('/dev/Telegram/CampFireGameBot/config')
|
||||||
|
|
||||||
module.exports = async (ctx) => {
|
module.exports = async (ctx) => {
|
||||||
ctx.args = ctx.update.message.text.split(' ')
|
ctx.args = ctx.update.message.text.split(' ')
|
||||||
|
@ -5,7 +5,7 @@ const bot = new Telegraf(process.env.BOT_TOKEN)
|
|||||||
const {
|
const {
|
||||||
UserModel,
|
UserModel,
|
||||||
BusinessModel
|
BusinessModel
|
||||||
} = require('/workspace/degradin/Dev/Telegram/CampFire Play/config')
|
} = require('/dev/Telegram/CampFireGameBot/config')
|
||||||
|
|
||||||
module.exports = async (ctx) => {
|
module.exports = async (ctx) => {
|
||||||
if (!ctx.args[1]) return ctx.reply(`Не указан аргумент.`)
|
if (!ctx.args[1]) return ctx.reply(`Не указан аргумент.`)
|
||||||
|
@ -2,7 +2,7 @@ const {
|
|||||||
UserModel,
|
UserModel,
|
||||||
WorldModel,
|
WorldModel,
|
||||||
BusinessModel
|
BusinessModel
|
||||||
} = require('/workspace/degradin/Dev/Telegram/CampFire Play/config')
|
} = require('/dev/Telegram/CampFireGameBot/config')
|
||||||
|
|
||||||
module.exports = async (ctx) => {
|
module.exports = async (ctx) => {
|
||||||
let user = await UserModel.findByPk(ctx.from.id)
|
let user = await UserModel.findByPk(ctx.from.id)
|
||||||
|
@ -4,11 +4,11 @@ const {
|
|||||||
const {
|
const {
|
||||||
UserModel,
|
UserModel,
|
||||||
BusinessModel
|
BusinessModel
|
||||||
} = require('/workspace/degradin/Dev/Telegram/CampFire Play/config')
|
} = require('/dev/Telegram/CampFireGameBot/config')
|
||||||
const {
|
const {
|
||||||
spaces,
|
spaces,
|
||||||
escape
|
escape
|
||||||
} = require('/workspace/degradin/Dev/Telegram/CampFire Play/utils')
|
} = require('/dev/Telegram/CampFireGameBot/utils')
|
||||||
|
|
||||||
module.exports = async (ctx) => {
|
module.exports = async (ctx) => {
|
||||||
let user = await UserModel.findByPk(ctx.from.id)
|
let user = await UserModel.findByPk(ctx.from.id)
|
||||||
|
@ -6,12 +6,12 @@ const {
|
|||||||
UserModel,
|
UserModel,
|
||||||
WorldModel,
|
WorldModel,
|
||||||
BusinessModel
|
BusinessModel
|
||||||
} = require('/workspace/degradin/Dev/Telegram/CampFire Play/config')
|
} = require('/dev/Telegram/CampFireGameBot/config')
|
||||||
const {
|
const {
|
||||||
spaces,
|
spaces,
|
||||||
giveExp,
|
giveExp,
|
||||||
rand
|
rand
|
||||||
} = require('/workspace/degradin/Dev/Telegram/CampFire Play/utils')
|
} = require('/dev/Telegram/CampFireGameBot/utils')
|
||||||
|
|
||||||
module.exports = async (ctx) => {
|
module.exports = async (ctx) => {
|
||||||
let user = null
|
let user = null
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
const {
|
const {
|
||||||
UserModel,
|
UserModel,
|
||||||
BusinessModel
|
BusinessModel
|
||||||
} = require('/workspace/degradin/Dev/Telegram/CampFire Play/config')
|
} = require('/dev/Telegram/CampFireGameBot/config')
|
||||||
|
|
||||||
module.exports = async (ctx) => {
|
module.exports = async (ctx) => {
|
||||||
ctx.args = ctx.update.message.text.split(' ')
|
ctx.args = ctx.update.message.text.split(' ')
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
const {
|
const {
|
||||||
UserModel,
|
UserModel,
|
||||||
BusinessModel
|
BusinessModel
|
||||||
} = require('/workspace/degradin/Dev/Telegram/CampFire Play/config')
|
} = require('/dev/Telegram/CampFireGameBot/config')
|
||||||
const {
|
const {
|
||||||
spaces,
|
spaces,
|
||||||
escape,
|
escape,
|
||||||
setCooldown
|
setCooldown
|
||||||
} = require('/workspace/degradin/Dev/Telegram/CampFire Play/utils')
|
} = require('/dev/Telegram/CampFireGameBot/utils')
|
||||||
|
|
||||||
module.exports = async (ctx) => {
|
module.exports = async (ctx) => {
|
||||||
let user = await UserModel.findByPk(ctx.from.id)
|
let user = await UserModel.findByPk(ctx.from.id)
|
||||||
|
@ -5,7 +5,7 @@ const bot = new Telegraf(process.env.BOT_TOKEN)
|
|||||||
const {
|
const {
|
||||||
UserModel,
|
UserModel,
|
||||||
WorldModel
|
WorldModel
|
||||||
} = require('../config')
|
} = require('/dev/Telegram/CampFireGameBot/config')
|
||||||
|
|
||||||
module.exports = async (ctx) => {
|
module.exports = async (ctx) => {
|
||||||
ctx.args = ctx.update.message.text.split(' ')
|
ctx.args = ctx.update.message.text.split(' ')
|
||||||
|
@ -2,7 +2,7 @@ const {
|
|||||||
UserModel,
|
UserModel,
|
||||||
PropertyModel,
|
PropertyModel,
|
||||||
expToUp
|
expToUp
|
||||||
} = require('../config')
|
} = require('/dev/Telegram/CampFireGameBot/config')
|
||||||
const {
|
const {
|
||||||
spacesWithMarkdown,
|
spacesWithMarkdown,
|
||||||
escape
|
escape
|
||||||
|
@ -6,7 +6,7 @@ const {
|
|||||||
UserModel,
|
UserModel,
|
||||||
PromocodeModel,
|
PromocodeModel,
|
||||||
adminList
|
adminList
|
||||||
} = require('/workspace/degradin/Dev/Telegram/CampFire Play/config')
|
} = require('/dev/Telegram/CampFireGameBot/config')
|
||||||
const {
|
const {
|
||||||
spaces
|
spaces
|
||||||
} = require('../utils')
|
} = require('../utils')
|
||||||
|
@ -3,12 +3,12 @@ const {
|
|||||||
} = require('telegraf')
|
} = require('telegraf')
|
||||||
const {
|
const {
|
||||||
weaponshop
|
weaponshop
|
||||||
} = require('/workspace/degradin/Dev/Telegram/CampFire Play/config')
|
} = require('/dev/Telegram/CampFireGameBot/config')
|
||||||
const {
|
const {
|
||||||
spaces,
|
spaces,
|
||||||
escape,
|
escape,
|
||||||
weaponShopUpdate
|
weaponShopUpdate
|
||||||
} = require('/workspace/degradin/Dev/Telegram/CampFire Play/utils')
|
} = require('/dev/Telegram/CampFireGameBot/utils')
|
||||||
|
|
||||||
module.exports = async (ctx) => {
|
module.exports = async (ctx) => {
|
||||||
let text = `[Hatkeis Gunsmith](https://telegra.ph/Hatkeis-Gunsmith-09-27)\n`
|
let text = `[Hatkeis Gunsmith](https://telegra.ph/Hatkeis-Gunsmith-09-27)\n`
|
||||||
|
@ -20,7 +20,7 @@ const {
|
|||||||
adminList,
|
adminList,
|
||||||
expToUp,
|
expToUp,
|
||||||
topSym
|
topSym
|
||||||
} = require('/workspace/degradin/Dev/Telegram/CampFire Play/config')
|
} = require('/dev/Telegram/CampFireGameBot/config')
|
||||||
const {
|
const {
|
||||||
spaces,
|
spaces,
|
||||||
spacesWithMarkdown,
|
spacesWithMarkdown,
|
||||||
@ -36,7 +36,7 @@ const {
|
|||||||
setCooldown,
|
setCooldown,
|
||||||
weaponShopUpdate,
|
weaponShopUpdate,
|
||||||
stats
|
stats
|
||||||
} = require('/workspace/degradin/Dev/Telegram/CampFire Play/utils')
|
} = require('/dev/Telegram/CampFireGameBot/utils')
|
||||||
|
|
||||||
module.exports = async (ctx) => {
|
module.exports = async (ctx) => {
|
||||||
let data = ctx.update.callback_query.data;
|
let data = ctx.update.callback_query.data;
|
||||||
|
@ -5,7 +5,7 @@ const {
|
|||||||
houses,
|
houses,
|
||||||
cars,
|
cars,
|
||||||
phones
|
phones
|
||||||
} = require('/workspace/degradin/Dev/Telegram/CampFire Play/config')
|
} = require('/dev/Telegram/CampFireGameBot/config')
|
||||||
|
|
||||||
module.exports = async (ctx) => {
|
module.exports = async (ctx) => {
|
||||||
let data = ctx.update.callback_query.data;
|
let data = ctx.update.callback_query.data;
|
||||||
|
@ -3,7 +3,7 @@ const {
|
|||||||
} = require('telegraf')
|
} = require('telegraf')
|
||||||
const {
|
const {
|
||||||
UserModel
|
UserModel
|
||||||
} = require('/workspace/degradin/Dev/Telegram/CampFire Play/config')
|
} = require('/dev/Telegram/CampFireGameBot/config')
|
||||||
|
|
||||||
module.exports = async (ctx) => {
|
module.exports = async (ctx) => {
|
||||||
let user = await UserModel.findByPk(ctx.from.id);
|
let user = await UserModel.findByPk(ctx.from.id);
|
||||||
|
@ -20,7 +20,7 @@ const {
|
|||||||
adminList,
|
adminList,
|
||||||
expToUp,
|
expToUp,
|
||||||
topSym
|
topSym
|
||||||
} = require('/workspace/degradin/Dev/Telegram/CampFire Play/config')
|
} = require('/dev/Telegram/CampFireGameBot/config')
|
||||||
const {
|
const {
|
||||||
spaces,
|
spaces,
|
||||||
spacesWithMarkdown,
|
spacesWithMarkdown,
|
||||||
@ -36,7 +36,7 @@ const {
|
|||||||
setCooldown,
|
setCooldown,
|
||||||
weaponShopUpdate,
|
weaponShopUpdate,
|
||||||
stats
|
stats
|
||||||
} = require('/workspace/degradin/Dev/Telegram/CampFire Play/utils')
|
} = require('/dev/Telegram/CampFireGameBot/utils')
|
||||||
|
|
||||||
module.exports = async (ctx) => {
|
module.exports = async (ctx) => {
|
||||||
ctx.args = ctx.update.message.text.split(' ')
|
ctx.args = ctx.update.message.text.split(' ')
|
||||||
|
@ -4,11 +4,11 @@ const {
|
|||||||
simplecars,
|
simplecars,
|
||||||
UserModel,
|
UserModel,
|
||||||
PropertyModel
|
PropertyModel
|
||||||
} = require('/workspace/degradin/Dev/Telegram/CampFire Play/config')
|
} = require('/dev/Telegram/CampFireGameBot/config')
|
||||||
const {
|
const {
|
||||||
spaces,
|
spaces,
|
||||||
rand
|
rand
|
||||||
} = require('/workspace/degradin/Dev/Telegram/CampFire Play/utils')
|
} = require('/dev/Telegram/CampFireGameBot/utils')
|
||||||
|
|
||||||
module.exports = async (ctx) => {
|
module.exports = async (ctx) => {
|
||||||
let user = await UserModel.findByPk(ctx.from.id)
|
let user = await UserModel.findByPk(ctx.from.id)
|
||||||
|
@ -7,7 +7,7 @@ const {
|
|||||||
UserModel,
|
UserModel,
|
||||||
ReportModel,
|
ReportModel,
|
||||||
adminList
|
adminList
|
||||||
} = require('/workspace/degradin/Dev/Telegram/CampFire Play/config')
|
} = require('/dev/Telegram/CampFireGameBot/config')
|
||||||
const shortid = require('shortid');
|
const shortid = require('shortid');
|
||||||
|
|
||||||
module.exports = async (ctx) => {
|
module.exports = async (ctx) => {
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
const {
|
const {
|
||||||
UserModel,
|
UserModel,
|
||||||
topSym
|
topSym
|
||||||
} = require('/workspace/degradin/Dev/Telegram/CampFire Play/config')
|
} = require('/dev/Telegram/CampFireGameBot/config')
|
||||||
const {
|
const {
|
||||||
spaces
|
spaces
|
||||||
} = require('/workspace/degradin/Dev/Telegram/CampFire Play/utils')
|
} = require('/dev/Telegram/CampFireGameBot/utils')
|
||||||
const sequelize = require('../db');
|
const sequelize = require('../db');
|
||||||
const { Op } = require('sequelize');
|
const { Op } = require('sequelize');
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
const {
|
const {
|
||||||
WorldModel
|
WorldModel
|
||||||
} = require('../config')
|
} = require('/dev/Telegram/CampFireGameBot/config')
|
||||||
const {
|
const {
|
||||||
spaces
|
spaces
|
||||||
} = require('../utils')
|
} = require('../utils')
|
||||||
|
@ -17,6 +17,7 @@ const BusinessModel = require('../models/business.model');
|
|||||||
const ReportModel = require('../models/report.model');
|
const ReportModel = require('../models/report.model');
|
||||||
const BlockModel = require('../models/block.model');
|
const BlockModel = require('../models/block.model');
|
||||||
const PromocodeModel = require('../models/promocode.model');
|
const PromocodeModel = require('../models/promocode.model');
|
||||||
|
const AFKPropertyModel = require('../models/afkproperty.model');
|
||||||
const mainChat = -1001895132127
|
const mainChat = -1001895132127
|
||||||
const adminList = [275416286]
|
const adminList = [275416286]
|
||||||
const expToUp = [0, 10, 20, 40, 60, 100, 250, 370, 450, 575, 666, 777, 860, 999, 1000, 1177, 1234, 1350, 1488, 1515, 1610]
|
const expToUp = [0, 10, 20, 40, 60, 100, 250, 370, 450, 575, 666, 777, 860, 999, 1000, 1177, 1234, 1350, 1488, 1515, 1610]
|
||||||
@ -41,6 +42,7 @@ module.exports = [
|
|||||||
ReportModel,
|
ReportModel,
|
||||||
BlockModel,
|
BlockModel,
|
||||||
PromocodeModel,
|
PromocodeModel,
|
||||||
|
AFKPropertyModel
|
||||||
mainChat,
|
mainChat,
|
||||||
adminList,
|
adminList,
|
||||||
expToUp,
|
expToUp,
|
||||||
|
@ -12,12 +12,16 @@ module.exports = {
|
|||||||
WorldModel : require('../models/world.model'),
|
WorldModel : require('../models/world.model'),
|
||||||
JobModel : require('../models/job.model'),
|
JobModel : require('../models/job.model'),
|
||||||
PropertyModel : require('../models/property.model'),
|
PropertyModel : require('../models/property.model'),
|
||||||
|
AFKPropertyModel : require('../models/afkproperty.model'),
|
||||||
BusinessModel : require('../models/business.model'),
|
BusinessModel : require('../models/business.model'),
|
||||||
ReportModel : require('../models/report.model'),
|
ReportModel : require('../models/report.model'),
|
||||||
BlockModel : require('../models/block.model'),
|
BlockModel : require('../models/block.model'),
|
||||||
PromocodeModel : require('../models/promocode.model'),
|
PromocodeModel : require('../models/promocode.model'),
|
||||||
SkillsModel: require('../models/skills.model'),
|
SkillsModel: require('../models/skills.model'),
|
||||||
LobbyModel: require('../models/lobby.model'),
|
LobbyModel: require('../models/lobby.model'),
|
||||||
|
EnterpriseModel: require('../models/enterprise.model'),
|
||||||
|
WarehouseModel: require('../models/warehouse.model'),
|
||||||
|
SaleModel: require('../models/sales.model'),
|
||||||
mainChat : -1001895132127,
|
mainChat : -1001895132127,
|
||||||
adminList : [275416286],
|
adminList : [275416286],
|
||||||
promoTopicId: 1807,
|
promoTopicId: 1807,
|
||||||
|
31
models/afkproperty.model.js
Normal file
31
models/afkproperty.model.js
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
const sequelize = require('../db');
|
||||||
|
const {DataTypes} = require('sequelize');
|
||||||
|
|
||||||
|
const AFKProperty = sequelize.define('afkproperty', {
|
||||||
|
ownerId: {
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
allowNull: false
|
||||||
|
},
|
||||||
|
name: {
|
||||||
|
type: DataTypes.STRING,
|
||||||
|
allowNull: false
|
||||||
|
},
|
||||||
|
level: {
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
defaultValue: 1
|
||||||
|
},
|
||||||
|
materials: {
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
defaultValue: 100
|
||||||
|
},
|
||||||
|
balance: {
|
||||||
|
type: DataTypes.INTEGER,
|
||||||
|
defaultValue: 0
|
||||||
|
},
|
||||||
|
vip: {
|
||||||
|
type: DataTypes.BOOLEAN,
|
||||||
|
defaultValue: false
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
module.exports = AFKProperty;
|
34
models/enterprise.model.js
Normal file
34
models/enterprise.model.js
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
const sequelize = require('../db');
|
||||||
|
const {Sequelize} = require('sequelize');
|
||||||
|
|
||||||
|
const Enterprise = sequelize.define('enterprise', {
|
||||||
|
name: {
|
||||||
|
type: Sequelize.STRING, // название предприятия
|
||||||
|
allowNull: false
|
||||||
|
},
|
||||||
|
resourceType: {
|
||||||
|
type: Sequelize.STRING, // тип ресурса (дерево, металл и т.д.)
|
||||||
|
allowNull: false
|
||||||
|
},
|
||||||
|
level: {
|
||||||
|
type: Sequelize.INTEGER, // уровень предприятия
|
||||||
|
defaultValue: 1
|
||||||
|
},
|
||||||
|
efficiency: {
|
||||||
|
type: Sequelize.INTEGER, // производительность в час (единицы ресурса)
|
||||||
|
defaultValue: 10 // начальная эффективность
|
||||||
|
},
|
||||||
|
warehouseCapacity: {
|
||||||
|
type: Sequelize.INTEGER, // ёмкость склада (максимальное количество ресурса)
|
||||||
|
defaultValue: 100
|
||||||
|
},
|
||||||
|
playerId: {
|
||||||
|
type: Sequelize.INTEGER,
|
||||||
|
references: {
|
||||||
|
model: 'Users',
|
||||||
|
key: 'telegram_id'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
module.exports = Enterprise;
|
31
models/sales.model.js
Normal file
31
models/sales.model.js
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
const sequelize = require('../db');
|
||||||
|
const {Sequelize} = require('sequelize');
|
||||||
|
|
||||||
|
const Sale = sequelize.define('sale', {
|
||||||
|
enterpriseId: {
|
||||||
|
type: Sequelize.INTEGER,
|
||||||
|
references: {
|
||||||
|
model: 'Enterprises',
|
||||||
|
key: 'id'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
resourceType: {
|
||||||
|
type: Sequelize.STRING, // тип ресурса
|
||||||
|
allowNull: false
|
||||||
|
},
|
||||||
|
quantity: {
|
||||||
|
type: Sequelize.INTEGER, // количество продаваемого ресурса
|
||||||
|
defaultValue: 0
|
||||||
|
},
|
||||||
|
salePrice: {
|
||||||
|
type: Sequelize.FLOAT, // цена за единицу ресурса
|
||||||
|
defaultValue: 100
|
||||||
|
},
|
||||||
|
time: {
|
||||||
|
type: Sequelize.DATE, // время продажи
|
||||||
|
defaultValue: Sequelize.NOW
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
module.exports = Sale;
|
40
models/warehouse.model.js
Normal file
40
models/warehouse.model.js
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
const sequelize = require('../db');
|
||||||
|
const {Sequelize} = require('sequelize');
|
||||||
|
|
||||||
|
const Warehouse = sequelize.define('warehouse', {
|
||||||
|
playerId: {
|
||||||
|
type: Sequelize.INTEGER,
|
||||||
|
references: {
|
||||||
|
model: 'Users',
|
||||||
|
key: 'id'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
capacity: {
|
||||||
|
type: Sequelize.INTEGER, // ёмкость общего склада
|
||||||
|
defaultValue: 500
|
||||||
|
},
|
||||||
|
logisticsLevel: {
|
||||||
|
type: Sequelize.INTEGER, // уровень логистики
|
||||||
|
defaultValue: 1
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
const Truck = sequelize.define('truck', {
|
||||||
|
warehouseId: {
|
||||||
|
type: Sequelize.INTEGER,
|
||||||
|
references: {
|
||||||
|
model: 'Warehouses',
|
||||||
|
key: 'id'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
capacity: {
|
||||||
|
type: Sequelize.INTEGER, // сколько ресурсов грузовик может вывозить в час
|
||||||
|
defaultValue: 10
|
||||||
|
},
|
||||||
|
efficiency: {
|
||||||
|
type: Sequelize.INTEGER, // эффективность грузовика (на сколько быстрее он может работать)
|
||||||
|
defaultValue: 1
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
module.exports = Warehouse, Truck;
|
3002
package-lock.json
generated
3002
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -11,19 +11,14 @@
|
|||||||
"author": "",
|
"author": "",
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"canvas": "^2.11.2",
|
"dotenv": "^16.4.7",
|
||||||
"date-fns": "^2.30.0",
|
|
||||||
"dotenv": "^16.3.1",
|
|
||||||
"error-stack-parser": "^2.1.4",
|
"error-stack-parser": "^2.1.4",
|
||||||
"fs": "^0.0.1-security",
|
"fs": "^0.0.1-security",
|
||||||
"node-telegram-bot-api": "^0.52.0",
|
|
||||||
"nodemon": "^3.0.1",
|
"nodemon": "^3.0.1",
|
||||||
"pg": "^8.6.0",
|
"pg": "^8.6.0",
|
||||||
"pg-hstore": "^2.3.3",
|
"pg-hstore": "^2.3.3",
|
||||||
"pm2": "^5.3.0",
|
"pm2": "^5.3.0",
|
||||||
"prettytable": "^0.3.1",
|
|
||||||
"sequelize": "^6.6.2",
|
"sequelize": "^6.6.2",
|
||||||
"shortid": "^2.2.16",
|
|
||||||
"telegraf": "^4.13.1",
|
"telegraf": "^4.13.1",
|
||||||
"uuid": "^9.0.1",
|
"uuid": "^9.0.1",
|
||||||
"voucher-code-generator": "^1.3.0"
|
"voucher-code-generator": "^1.3.0"
|
||||||
|
@ -11,7 +11,7 @@ const {
|
|||||||
WorldModel,
|
WorldModel,
|
||||||
SkillsModel,
|
SkillsModel,
|
||||||
PropertyModel
|
PropertyModel
|
||||||
} = require('/workspace/degradin/Dev/Telegram/CampFire Play/config')
|
} = require('/dev/Telegram/CampFireGameBot/config')
|
||||||
const {
|
const {
|
||||||
spaces,
|
spaces,
|
||||||
getSlot,
|
getSlot,
|
||||||
@ -19,7 +19,7 @@ const {
|
|||||||
rand,
|
rand,
|
||||||
random,
|
random,
|
||||||
setCooldown
|
setCooldown
|
||||||
} = require('/workspace/degradin/Dev/Telegram/CampFire Play/utils');
|
} = require('/dev/Telegram/CampFireGameBot/utils');
|
||||||
const crime = new Scenes.BaseScene('Crime');
|
const crime = new Scenes.BaseScene('Crime');
|
||||||
|
|
||||||
crime.enter( async (ctx) => {
|
crime.enter( async (ctx) => {
|
||||||
|
@ -11,7 +11,7 @@ UserModel,
|
|||||||
WorldModel,
|
WorldModel,
|
||||||
SkillsModel,
|
SkillsModel,
|
||||||
PropertyModel
|
PropertyModel
|
||||||
} = require('/workspace/degradin/Dev/Telegram/CampFire Play/config')
|
} = require('/dev/Telegram/CampFireGameBot/config')
|
||||||
const {
|
const {
|
||||||
spaces,
|
spaces,
|
||||||
getSlot,
|
getSlot,
|
||||||
@ -20,7 +20,7 @@ rand,
|
|||||||
random,
|
random,
|
||||||
setCooldown,
|
setCooldown,
|
||||||
drop
|
drop
|
||||||
} = require('/workspace/degradin/Dev/Telegram/CampFire Play/utils');
|
} = require('/dev/Telegram/CampFireGameBot/utils');
|
||||||
const newpve = new Scenes.BaseScene('NEWPVE');
|
const newpve = new Scenes.BaseScene('NEWPVE');
|
||||||
const resultTier = [
|
const resultTier = [
|
||||||
{hit: 'Head', droprate: 10},
|
{hit: 'Head', droprate: 10},
|
||||||
|
@ -11,7 +11,7 @@ UserModel,
|
|||||||
WorldModel,
|
WorldModel,
|
||||||
SkillsModel,
|
SkillsModel,
|
||||||
PropertyModel
|
PropertyModel
|
||||||
} = require('/workspace/degradin/Dev/Telegram/CampFire Play/config')
|
} = require('/dev/Telegram/CampFireGameBot/config')
|
||||||
const {
|
const {
|
||||||
spaces,
|
spaces,
|
||||||
getSlot,
|
getSlot,
|
||||||
@ -19,7 +19,7 @@ giveExp,
|
|||||||
rand,
|
rand,
|
||||||
random,
|
random,
|
||||||
setCooldown
|
setCooldown
|
||||||
} = require('/workspace/degradin/Dev/Telegram/CampFire Play/utils');
|
} = require('/dev/Telegram/CampFireGameBot/utils');
|
||||||
const steal = new Scenes.BaseScene('POCKET_STEAL');
|
const steal = new Scenes.BaseScene('POCKET_STEAL');
|
||||||
|
|
||||||
steal.enter(async (ctx) => {
|
steal.enter(async (ctx) => {
|
||||||
|
@ -11,7 +11,7 @@ UserModel,
|
|||||||
WorldModel,
|
WorldModel,
|
||||||
SkillsModel,
|
SkillsModel,
|
||||||
PropertyModel
|
PropertyModel
|
||||||
} = require('/workspace/degradin/Dev/Telegram/CampFire Play/config')
|
} = require('/dev/Telegram/CampFireGameBot/config')
|
||||||
const {
|
const {
|
||||||
spaces,
|
spaces,
|
||||||
getSlot,
|
getSlot,
|
||||||
@ -20,7 +20,7 @@ rand,
|
|||||||
random,
|
random,
|
||||||
setCooldown,
|
setCooldown,
|
||||||
drop
|
drop
|
||||||
} = require('/workspace/degradin/Dev/Telegram/CampFire Play/utils');
|
} = require('/dev/Telegram/CampFireGameBot/utils');
|
||||||
const pve = new Scenes.BaseScene('PVE');
|
const pve = new Scenes.BaseScene('PVE');
|
||||||
|
|
||||||
pve.enter(async (ctx) => {
|
pve.enter(async (ctx) => {
|
||||||
|
@ -11,7 +11,7 @@ UserModel,
|
|||||||
WorldModel,
|
WorldModel,
|
||||||
SkillsModel,
|
SkillsModel,
|
||||||
PropertyModel
|
PropertyModel
|
||||||
} = require('/workspace/degradin/Dev/Telegram/CampFire Play/config')
|
} = require('/dev/Telegram/CampFireGameBot/config')
|
||||||
const {
|
const {
|
||||||
spaces,
|
spaces,
|
||||||
getSlot,
|
getSlot,
|
||||||
@ -19,7 +19,7 @@ giveExp,
|
|||||||
rand,
|
rand,
|
||||||
random,
|
random,
|
||||||
setCooldown
|
setCooldown
|
||||||
} = require('/workspace/degradin/Dev/Telegram/CampFire Play/utils');
|
} = require('/dev/Telegram/CampFireGameBot/utils');
|
||||||
const shop = new Scenes.BaseScene('SHOP_ROBBERY');
|
const shop = new Scenes.BaseScene('SHOP_ROBBERY');
|
||||||
|
|
||||||
bot.on('callback_query', (ctx) => {
|
bot.on('callback_query', (ctx) => {
|
||||||
|
@ -5,11 +5,11 @@ const bot = new Telegraf(process.env.BOT_TOKEN)
|
|||||||
const {
|
const {
|
||||||
PromocodeModel,
|
PromocodeModel,
|
||||||
mainChat
|
mainChat
|
||||||
} = require('/workspace/degradin/Dev/Telegram/CampFire Play/config')
|
} = require('/dev/Telegram/CampFireGameBot/config')
|
||||||
const voucher_codes = require('voucher-code-generator');
|
const voucher_codes = require('voucher-code-generator');
|
||||||
const rand = require('./rand')
|
const rand = require('./rand')
|
||||||
const generateVoucher = require('./generateVoucher');
|
const generateVoucher = require('./generateVoucher');
|
||||||
const { promoTopicId } = require('../config');
|
const { promoTopicId } = require('/config');
|
||||||
module.exports = async () => {
|
module.exports = async () => {
|
||||||
let activs = rand(1, 3)
|
let activs = rand(1, 3)
|
||||||
let give = rand(1000, 10000)
|
let give = rand(1000, 10000)
|
||||||
|
@ -4,7 +4,7 @@ const {
|
|||||||
const bot = new Telegraf(process.env.BOT_TOKEN)
|
const bot = new Telegraf(process.env.BOT_TOKEN)
|
||||||
const {
|
const {
|
||||||
expToUp
|
expToUp
|
||||||
} = require('/workspace/degradin/Dev/Telegram/CampFire Play Dev/config')
|
} = require('/dev/Telegram/CampFireGameBot/config')
|
||||||
|
|
||||||
|
|
||||||
module.exports = async (user, experience) => {
|
module.exports = async (user, experience) => {
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
const spaces = require('./spaces')
|
const spaces = require('./spaces')
|
||||||
const spacesWithMarkdown = require('./spacesV2')
|
const spacesWithMarkdown = require('./spacesV2')
|
||||||
const escape = require('./escape')
|
const escape = require('./escape')
|
||||||
const generatePromo = require('./generatePromo')
|
//const generatePromo = require('./generatePromo')
|
||||||
const generateVoucher = require('./generateVoucher')
|
//const generateVoucher = require('./generateVoucher')
|
||||||
const getCurrentTime = require('./getCurrentTime')
|
const getCurrentTime = require('./getCurrentTime')
|
||||||
const getSlot = require('./getSlot')
|
const getSlot = require('./getSlot')
|
||||||
const giveExp = require('./giveExp')
|
const giveExp = require('./giveExp')
|
||||||
@ -19,8 +19,8 @@ module.exports = {
|
|||||||
spaces,
|
spaces,
|
||||||
spacesWithMarkdown,
|
spacesWithMarkdown,
|
||||||
escape,
|
escape,
|
||||||
generatePromo,
|
//generatePromo,
|
||||||
generateVoucher,
|
//generateVoucher,
|
||||||
getCurrentTime,
|
getCurrentTime,
|
||||||
getSlot,
|
getSlot,
|
||||||
giveExp,
|
giveExp,
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
const rand = require('./rand')
|
const rand = require('./rand')
|
||||||
const {
|
const {
|
||||||
WorldModel
|
WorldModel
|
||||||
} = require('/workspace/degradin/Dev/Telegram/CampFire Play/config')
|
} = require('/dev/Telegram/CampFireGameBot/config')
|
||||||
|
|
||||||
module.exports = async () => {
|
module.exports = async () => {
|
||||||
let world = await WorldModel.findByPk(1)
|
let world = await WorldModel.findByPk(1)
|
||||||
|
@ -3,7 +3,7 @@ const {
|
|||||||
weaponshop,
|
weaponshop,
|
||||||
weapons,
|
weapons,
|
||||||
equipment,
|
equipment,
|
||||||
} = require('/workspace/degradin/Dev/Telegram/CampFire Play Dev/config')
|
} = require('/dev/Telegram/CampFireGameBot/config')
|
||||||
const fs = require('fs');
|
const fs = require('fs');
|
||||||
|
|
||||||
module.exports = () => {
|
module.exports = () => {
|
||||||
|
Loading…
Reference in New Issue
Block a user