Новая игра в казино
Переделаны слоты, установлено ограничение на клики
Максимальный уровень увеличен до 100
К бонусу добавлен множитель уровня
К работе добавлен множитель уровня
This commit is contained in:
Degradin 2025-01-06 02:05:59 +03:00
parent e02402a394
commit 4eb6b83f36
6 changed files with 287 additions and 25 deletions

250
bot.js
View File

@ -319,8 +319,7 @@ bot.action(/{"type": "business_invite_(accept|refuse)"*/, commands.inviteAction)
bot.command('report', commands.report) bot.command('report', commands.report)
bot.hears('🎰 Слоты', commands.slotsMenu) bot.hears('🎰 Слоты', commands.slotsMenu)
// bot.action(/slots(1000|5000|25000|50000|100000)/, commands.slotsRun)
bot.action(/slots(1000|5000|25000|50000|100000)/, commands.slotsRun)
bot.hears('Помощь', async (ctx) => { bot.hears('Помощь', async (ctx) => {
return await ctx.replyWithMarkdownV2(`• [Функционал](https://telegra.ph/CampFire-Bot-Info-09-25)\n• [Правила](https://telegra.ph/PRAVILA-BOTA-09-25)`, { return await ctx.replyWithMarkdownV2(`• [Функционал](https://telegra.ph/CampFire-Bot-Info-09-25)\n• [Правила](https://telegra.ph/PRAVILA-BOTA-09-25)`, {
@ -1326,6 +1325,253 @@ bot.command('force_mat', async (ctx) => {
}) })
/////////////////////////////////////Enterprise Update end////////////////////////////////////////////////// /////////////////////////////////////Enterprise Update end//////////////////////////////////////////////////
/////////////////////////////////////Casino Update//////////////////////////////////////////////////
const spinSlots = async (ctx, bet, user) => {
const slotIcons = ['🔥', '⚡', '⭐', '💀']; // Иконки для слотов
const spinSpeed = 500; // Скорость анимации (мс)
const spinRounds = 8; // Количество вращений
let slotMessage = await ctx.reply('🎰 Слот-машина крутится...');
// Генерация случайного отображения для анимации
const getRandomIcons = () => {
return `${slotIcons[Math.floor(Math.random() * slotIcons.length)]} | ${slotIcons[Math.floor(Math.random() * slotIcons.length)]} | ${slotIcons[Math.floor(Math.random() * slotIcons.length)]}`;
};
// Анимация вращения
for (let i = 0; i < spinRounds; i++) {
await new Promise((resolve) => setTimeout(resolve, spinSpeed));
const uniqueTag = `[${Date.now()}]`; // Уникальный тег для предотвращения ошибок Telegram
await ctx.telegram.editMessageText(ctx.chat.id, slotMessage.message_id, null, `🎰 ${getRandomIcons()} ${uniqueTag}`);
}
// Определяем результат игры
const winMultiplier = determineWin();
const finalIcons = generateVisualResult(winMultiplier, slotIcons);
// Вычисляем выигрыш/проигрыш
let resultMessage = `🎰 Итог:\n${finalIcons.join(' | ')}\n\n`;
if (winMultiplier > 0) {
const winnings = bet * winMultiplier;
user.money += winnings;
await user.save();
resultMessage += `🎉 Вы выиграли ₽${spaces(winnings)}! Множитель: x${winMultiplier}`;
} else {
user.money -= bet;
await user.save();
resultMessage += `💔 Вы проиграли ₽${spaces(bet)}. Попробуйте ещё раз!`;
}
// Финальный результат
await ctx.telegram.editMessageText(ctx.chat.id, slotMessage.message_id, null, resultMessage);
};
// Функция для определения выигрыша
const determineWin = () => {
const probabilities = {
25: 0.01, // 1% шанс на x25
10: 0.03, // 3% шанс на x10
5: 0.06, // 6% шанс на x5
2: 0.1, // 10% шанс на x2
0: 0.8, // 80% шанс на проигрыш
};
const random = Math.random();
let cumulativeProbability = 0;
for (const [multiplier, probability] of Object.entries(probabilities)) {
cumulativeProbability += probability;
if (random < cumulativeProbability) {
return parseInt(multiplier, 10);
}
}
return 0; // По умолчанию проигрыш
};
// Генерация визуального результата на основе выигрыша
const generateVisualResult = (multiplier, slotIcons) => {
if (multiplier === 25) return ['🔥', '🔥', '🔥'];
if (multiplier === 10) return ['⚡', '⚡', '⚡'];
if (multiplier === 5) return ['⭐', '⭐', '⭐'];
if (multiplier === 2) return ['💀', '💀', '💀'];
return [
slotIcons[Math.floor(Math.random() * slotIcons.length)],
slotIcons[Math.floor(Math.random() * slotIcons.length)],
slotIcons[Math.floor(Math.random() * slotIcons.length)],
]; // Проигрыш: случайные иконки
};
// Основная команда слотов
bot.action(/slots\d+/, async (ctx) => {
try {
const data = ctx.update.callback_query.data;
const bet = parseInt(data.replace('slots', ''), 10);
const user = await UserModel.findByPk(ctx.from.id);
// Проверка на текущую игру
if (user.isPlayingCasino) {
return ctx.answerCbQuery('⏳ Ваша ставка уже обрабатывается. Подождите!', { show_alert: true });
}
if (!user || user.money < bet) {
return ctx.answerCbQuery('💸 У вас недостаточно средств для ставки.', { show_alert: true });
}
const timer = user.slottime;
const cooldown = utils.setCooldown(user, 10, timer);
if (user.slottime > cooldown.currentTime) {
return ctx.answerCbQuery('📛 Слоты будут доступны через пару секунд.', { show_alert: true });
}
// Установить флаг игры
user.isPlayingCasino = true;
user.slottime = cooldown.endTime;
await user.save();
// Запуск игры
await spinSlots(ctx, bet, user);
// Сброс флага игры
user.isPlayingCasino = false;
await user.save();
} catch (error) {
console.error('Ошибка при игре в слоты:', error);
return ctx.reply('Произошла ошибка. Попробуйте снова.');
}
});
// Функция для форматирования чисел
const spaces = (number) => {
return number.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ' ');
};
bot.hears('🎰 Рулетка', async (ctx) => {
const user = await UserModel.findByPk(ctx.from.id);
if (user.money <= 0) {
return await ctx.telegram.answerCbQuery(ctx.callbackQuery.id, `У вас недостаточно средств для игры.`, { show_alert: true });
}
// Инициализация ставки через ctx.session
if (!ctx.session.betAmount) {
ctx.session.betAmount = 10000; // Начальная ставка
}
// Вспомогательная функция для генерации случайного числа рулетки
const spinRoulette = () => {
// Все нечетные числа (красные)
const redNumbers = [1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35];
// Все четные числа (черные)
const blackNumbers = [0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36];
// Рулетка: делаем случайный выбор
const randomIndex = Math.floor(Math.random() * 37); // от 0 до 36
return randomIndex;
};
// Кнопки для выбора ставки
const buttons = [
[{ text: 'Красный', callback_data: 'red' }],
[{ text: 'Черный', callback_data: 'black' }],
[{ text: 'Выбрать номер', callback_data: 'choose_number' }],
[{ text: `Ставка: ₽${ctx.session.betAmount}`, callback_data: 'no_action' }],
[
{ text: '⬆️ Повысить ставку', callback_data: 'increase_bet' },
{ text: '⬇️ Понизить ставку', callback_data: 'decrease_bet' }
]
];
const message = `🎰 Добро пожаловать в рулетку!\nВыберите ставку: Красный, Черный или Номер (0-36).`;
await ctx.reply(message, Markup.inlineKeyboard(buttons));
// Обработчик для изменения ставки
bot.action('increase_bet', async (ctx) => {
if (ctx.session.betAmount < 50000) {
ctx.session.betAmount += 10000; // Увеличиваем ставку на 10000
const buttons = [
[{ text: 'Красный', callback_data: 'red' }],
[{ text: 'Черный', callback_data: 'black' }],
[{ text: 'Выбрать номер', callback_data: 'choose_number' }],
[{ text: `Ставка: ₽${ctx.session.betAmount}`, callback_data: 'no_action' }],
[
{ text: '⬆️ Повысить ставку', callback_data: 'increase_bet' },
{ text: '⬇️ Понизить ставку', callback_data: 'decrease_bet' }
]
];
await ctx.editMessageText(`🎰 Добро пожаловать в рулетку!\nВыберите ставку: Красный, Черный или Номер (0-36).`, Markup.inlineKeyboard(buttons));
} else {
await ctx.reply('Максимальная ставка - ₽50000');
}
});
bot.action('decrease_bet', async (ctx) => {
if (ctx.session.betAmount > 10000) {
ctx.session.betAmount -= 10000; // Уменьшаем ставку на 10000
const buttons = [
[{ text: 'Красный', callback_data: 'red' }],
[{ text: 'Черный', callback_data: 'black' }],
[{ text: 'Выбрать номер', callback_data: 'choose_number' }],
[{ text: `Ставка: ₽${ctx.session.betAmount}`, callback_data: 'no_action' }],
[
{ text: '⬆️ Повысить ставку', callback_data: 'increase_bet' },
{ text: '⬇️ Понизить ставку', callback_data: 'decrease_bet' }
]
];
await ctx.editMessageText(`🎰 Добро пожаловать в рулетку!\nВыберите ставку: Красный, Черный или Номер (0-36).`, Markup.inlineKeyboard(buttons));
} else {
await ctx.reply('Минимальная ставка - ₽10000');
}
});
bot.action(['red', 'black', 'choose_number'], async (ctx) => {
const data = ctx.update.callback_query.data;
if (user.money < ctx.session.betAmount) {
return await ctx.telegram.answerCbQuery(ctx.callbackQuery.id, `У вас недостаточно средств для этой ставки.`, { show_alert: true });
}
let winMultiplier = 0;
let betResult = '';
const spinResult = spinRoulette();
if (data === 'red') {
if ([1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35].includes(spinResult)) {
winMultiplier = 2;
betResult = `Вы выиграли! 🎉 Красный! Множитель: 2x`;
} else {
betResult = `Вы проиграли. Черный номер. 😢`;
}
} else if (data === 'black') {
if ([0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36].includes(spinResult)) {
winMultiplier = 2;
betResult = `Вы выиграли! 🎉 Черный! Множитель: 2x`;
} else {
betResult = `Вы проиграли. Красный номер. 😢`;
}
} else if (data === 'choose_number') {
const number = Math.floor(Math.random() * 37); // Игрок выбирает случайное число
if (spinResult === number) {
winMultiplier = 35; // Огромный выигрыш для точного угадывания
betResult = `Вы угадали номер! 🎉 Номер ${number}! Множитель: 35x`;
} else {
betResult = `Вы не угадали номер. Выпал номер ${spinResult}. 😢`;
}
}
// Считаем выигрыш
let prize = ctx.session.betAmount * winMultiplier;
user.money += prize - ctx.session.betAmount; // Вычитаем ставку, если выиграли
await user.save();
// Отправляем результат
return await ctx.telegram.answerCbQuery(ctx.callbackQuery.id, betResult, { show_alert: true });
});
});
/////////////////////////////////////Casino Update end//////////////////////////////////////////////////////
/////////////////////////////////////Admin Commands////////////////////////////////////////////////// /////////////////////////////////////Admin Commands//////////////////////////////////////////////////

View File

@ -19,6 +19,7 @@ module.exports = async (ctx) => {
let world = await WorldModel.findByPk(1) let world = await WorldModel.findByPk(1)
let text = ``; let text = ``;
let money = [100, 200, 300, 400, 500, 1000].random(); let money = [100, 200, 300, 400, 500, 1000].random();
money *= user.level
if (user.level >= 5) { if (user.level >= 5) {
money += money; money += money;
} }

View File

@ -6,6 +6,7 @@ module.exports = async (ctx) => {
return await ctx.reply('🏯 Добро пожаловать в казино "杜明"\n', Markup return await ctx.reply('🏯 Добро пожаловать в казино "杜明"\n', Markup
.keyboard([ .keyboard([
['🎰 Слоты'], ['🎰 Слоты'],
['🎰 Рулетка'],
['▶️ Меню'] ['▶️ Меню']
]) ])
.resize() .resize()

View File

@ -26,15 +26,15 @@ module.exports = async (ctx) => {
switch (user.job) { switch (user.job) {
case 1: case 1:
if (user.jobcheck >= 4) { if (user.jobcheck >= 4) {
let paydayfee = job.salary / 100 * world.transactionfee let paydayfee = job.salary * user.level / 100 * world.transactionfee
let payday = job.salary - paydayfee let payday = job.salary * user.level - paydayfee
world.balance -= payday world.balance -= payday
user.money += payday user.money += payday
giveExp(user, jobExp) giveExp(user, jobExp)
user.jobcheck = 0 user.jobcheck = 0
user.save() user.save()
world.save() world.save()
return ctx.reply(`👔 Вы отработали смену дворника. \n🧾 Расчетный лист: \n⏳ Отработано часов: 4/4 \n💸 Оклад: ₽${job.salary} \n Подоходный налог: ${world.transactionfee}% \n💹 К выплате: ₽${payday}`) return ctx.reply(`👔 Вы отработали смену дворника. \n🧾 Расчетный лист: \n⏳ Отработано часов: 4/4 \n💸 Оклад: ₽${job.salary * user.level} \n Подоходный налог: ${world.transactionfee}% \n💹 К выплате: ₽${payday}`)
} else { } else {
user.save() user.save()
return ctx.reply(`👔 Вы подмели дворы. \n⏳ Отработано часов: ${user.jobcheck}/4`) return ctx.reply(`👔 Вы подмели дворы. \n⏳ Отработано часов: ${user.jobcheck}/4`)
@ -42,15 +42,15 @@ module.exports = async (ctx) => {
break; break;
case 2: case 2:
if (user.jobcheck >= 2) { if (user.jobcheck >= 2) {
let paydayfee = job.salary / 100 * world.transactionfee let paydayfee = job.salary * user.level / 100 * world.transactionfee
let payday = job.salary - paydayfee let payday = job.salary * user.level - paydayfee
world.balance -= payday world.balance -= payday
user.money += payday user.money += payday
giveExp(user, jobExp) giveExp(user, jobExp)
user.jobcheck = 0 user.jobcheck = 0
user.save() user.save()
world.save() world.save()
return ctx.reply(`👔 Вы отработали смену промоутера. \n🧾 Расчетный лист: \n⏳ Отработано часов: 2/2 \n💸 Оклад: ₽${job.salary} \n Подоходный налог: ${world.transactionfee}% \n💹 К выплате: ₽${payday}`) return ctx.reply(`👔 Вы отработали смену промоутера. \n🧾 Расчетный лист: \n⏳ Отработано часов: 2/2 \n💸 Оклад: ₽${job.salary * user.level} \n Подоходный налог: ${world.transactionfee}% \n💹 К выплате: ₽${payday}`)
} else { } else {
user.save() user.save()
return ctx.reply(`👔 Вы раздавали листовки целый час. \n⏳ Отработано часов: ${user.jobcheck}/2`) return ctx.reply(`👔 Вы раздавали листовки целый час. \n⏳ Отработано часов: ${user.jobcheck}/2`)
@ -58,8 +58,8 @@ module.exports = async (ctx) => {
break; break;
case 3: case 3:
if (user.jobcheck >= 4) { if (user.jobcheck >= 4) {
let paydayfee = job.salary / 100 * world.transactionfee let paydayfee = job.salary * user.level / 100 * world.transactionfee
let payday = job.salary - paydayfee let payday = job.salary * user.level - paydayfee
world.balance -= payday world.balance -= payday
let tips = [50, 100, 200, 500, 1000].random() let tips = [50, 100, 200, 500, 1000].random()
user.money += tips user.money += tips
@ -68,7 +68,7 @@ module.exports = async (ctx) => {
user.jobcheck = 0 user.jobcheck = 0
user.save() user.save()
world.save() world.save()
return ctx.reply(`👔 Вы отработали смену официанта. \n🧾 Расчетный лист: \n⏳ Отработано часов: 4/4 \n💸 Оклад: ₽${job.salary} \n Подоходный налог: ${world.transactionfee}% \n💹 К выплате: ₽${payday} \n💰 Получено чаевых: ₽${tips}`) return ctx.reply(`👔 Вы отработали смену официанта. \n🧾 Расчетный лист: \n⏳ Отработано часов: 4/4 \n💸 Оклад: ₽${job.salary * user.level} \n Подоходный налог: ${world.transactionfee}% \n💹 К выплате: ₽${payday} \n💰 Получено чаевых: ₽${tips}`)
} else { } else {
let tips = [50, 100, 200, 500, 1000].random() let tips = [50, 100, 200, 500, 1000].random()
user.money += tips user.money += tips
@ -78,8 +78,8 @@ module.exports = async (ctx) => {
break; break;
case 4: case 4:
if (user.jobcheck >= 5) { if (user.jobcheck >= 5) {
let paydayfee = job.salary / 100 * world.transactionfee let paydayfee = job.salary * user.level / 100 * world.transactionfee
let payday = job.salary - paydayfee let payday = job.salary * user.level - paydayfee
world.balance -= payday world.balance -= payday
let tips = [50, 100, 200, 300, 500, 1000, 2000].random() let tips = [50, 100, 200, 300, 500, 1000, 2000].random()
world.balance -= tips world.balance -= tips
@ -89,7 +89,7 @@ module.exports = async (ctx) => {
user.jobcheck = 0 user.jobcheck = 0
user.save() user.save()
world.save() world.save()
return ctx.reply(`👔 Вы отработали смену бармена. \n🧾 Расчетный лист: \n⏳ Отработано часов: 5/5 \n💸 Оклад: ₽${job.salary} \n Подоходный налог: ${world.transactionfee}% \n💹 К выплате: ₽${payday} \n💰 Получено чаевых: ₽${tips}`) return ctx.reply(`👔 Вы отработали смену бармена. \n🧾 Расчетный лист: \n⏳ Отработано часов: 5/5 \n💸 Оклад: ₽${job.salary * user.level} \n Подоходный налог: ${world.transactionfee}% \n💹 К выплате: ₽${payday} \n💰 Получено чаевых: ₽${tips}`)
} else { } else {
let tips = [50, 100, 200, 300, 500, 1000, 2000].random() let tips = [50, 100, 200, 300, 500, 1000, 2000].random()
world.balance -= tips world.balance -= tips
@ -101,15 +101,15 @@ module.exports = async (ctx) => {
break; break;
case 5: case 5:
if (user.jobcheck >= 5) { if (user.jobcheck >= 5) {
let paydayfee = job.salary / 100 * world.transactionfee let paydayfee = job.salary * user.level / 100 * world.transactionfee
let payday = job.salary - paydayfee let payday = job.salary * user.level - paydayfee
world.balance -= payday world.balance -= payday
user.money += payday user.money += payday
giveExp(user, jobExp) giveExp(user, jobExp)
user.jobcheck = 0 user.jobcheck = 0
user.save() user.save()
world.save() world.save()
return ctx.reply(`👔 Вы отработали смену кассира. \n🧾 Расчетный лист: \n⏳ Отработано часов: 5/5 \n💸 Оклад: ₽${job.salary} \n Подоходный налог: ${world.transactionfee}% \n💹 К выплате: ₽${payday}`) return ctx.reply(`👔 Вы отработали смену кассира. \n🧾 Расчетный лист: \n⏳ Отработано часов: 5/5 \n💸 Оклад: ₽${job.salary * user.level} \n Подоходный налог: ${world.transactionfee}% \n💹 К выплате: ₽${payday}`)
} else { } else {
user.save() user.save()
return ctx.reply(`👔 Вы целый час обслуживали покупателей и кричали: "Гаааляяя, отмена!". \n⏳ Отработано часов: ${user.jobcheck}/5`) return ctx.reply(`👔 Вы целый час обслуживали покупателей и кричали: "Гаааляяя, отмена!". \n⏳ Отработано часов: ${user.jobcheck}/5`)
@ -117,8 +117,8 @@ module.exports = async (ctx) => {
break; break;
case 6: case 6:
if (user.jobcheck >= 6) { if (user.jobcheck >= 6) {
let paydayfee = job.salary / 100 * world.transactionfee let paydayfee = job.salary * user.level / 100 * world.transactionfee
let payday = job.salary - paydayfee let payday = job.salary * user.level - paydayfee
let stealed = [{ let stealed = [{
name: "Помада", name: "Помада",
price: 200 price: 200
@ -167,7 +167,7 @@ module.exports = async (ctx) => {
user.jobcheck = 0 user.jobcheck = 0
user.save() user.save()
world.save() world.save()
return ctx.reply(`👔 Вы отработали смену в Диких Ягодах. \n🧾 Расчетный лист: \n⏳ Отработано часов: 6/6 \n💸 Оклад: ₽${job.salary} \n Подоходный налог: ${world.transactionfee}% \n💹 К выплате: ₽${payday} \n💰 Вы украли и продали со склада: ${stealed.name} (₽${stealed.price})`) return ctx.reply(`👔 Вы отработали смену в Диких Ягодах. \n🧾 Расчетный лист: \n⏳ Отработано часов: 6/6 \n💸 Оклад: ₽${job.salary * user.level} \n Подоходный налог: ${world.transactionfee}% \n💹 К выплате: ₽${payday} \n💰 Вы украли и продали со склада: ${stealed.name} (₽${stealed.price})`)
} else { } else {
user.save() user.save()
return ctx.reply(`👔 Вы целый час выдавали заказы в Диких Ягодах. \n⏳ Отработано часов: ${user.jobcheck}/6`) return ctx.reply(`👔 Вы целый час выдавали заказы в Диких Ягодах. \n⏳ Отработано часов: ${user.jobcheck}/6`)
@ -175,15 +175,15 @@ module.exports = async (ctx) => {
break; break;
case 7: case 7:
if (user.jobcheck >= 6) { if (user.jobcheck >= 6) {
let paydayfee = job.salary / 100 * world.transactionfee let paydayfee = job.salary * user.level / 100 * world.transactionfee
let payday = job.salary - paydayfee let payday = job.salary * user.level - paydayfee
world.balance -= payday world.balance -= payday
user.money += payday user.money += payday
giveExp(user, jobExp) giveExp(user, jobExp)
user.jobcheck = 0 user.jobcheck = 0
user.save() user.save()
world.save() world.save()
return ctx.reply(`👔 Вы отработали смену слесарем. \n🧾 Расчетный лист: \n⏳ Отработано часов: 6/6 \n💸 Оклад: ₽${job.salary} \n Подоходный налог: ${world.transactionfee}% \n💹 К выплате: ₽${payday}`) return ctx.reply(`👔 Вы отработали смену слесарем. \n🧾 Расчетный лист: \n⏳ Отработано часов: 6/6 \n💸 Оклад: ₽${job.salary * user.level} \n Подоходный налог: ${world.transactionfee}% \n💹 К выплате: ₽${payday}`)
} else { } else {
user.save() user.save()
return ctx.reply(`👔 Вы целый час работали на заводе, вы молодец! \n⏳ Отработано часов: ${user.jobcheck}/6`) return ctx.reply(`👔 Вы целый час работали на заводе, вы молодец! \n⏳ Отработано часов: ${user.jobcheck}/6`)

View File

@ -27,6 +27,19 @@ module.exports = {
mainChat : -1001895132127, mainChat : -1001895132127,
adminList : [275416286], adminList : [275416286],
promoTopicId: 1807, promoTopicId: 1807,
expToUp : [0, 10, 20, 40, 60, 100, 250, 370, 450, 575, 666, 777, 860, 999, 1000, 1177, 1234, 1350, 1488, 1515, 1610], expToUp: [
0, 10, 25, 50, 85, 130, 200, 300, 420, 560, 720, 910, 1130, 1380, 1670, 2000,
2370, 2790, 3250, 3750, 4300, 4900, 5550, 6250, 7000, 7800, 8650, 9550, 10500,
11500, 12550, 13650, 14800, 16000, 17350, 18750, 20200, 21700, 23250, 24850,
26500, 28200, 29950, 31750, 33600, 35500, 37450, 39450, 41500, 43600, 45750,
47950, 50200, 52500, 54850, 57250, 59700, 62200, 64750, 67350, 70000, 72700,
75450, 78250, 81100, 84000, 86950, 89950, 93000, 96100, 99250, 102450, 105700,
109000, 112350, 115750, 119200, 122700, 126250, 129850, 133500, 137200, 141000,
144850, 148750, 152700, 156700, 160750, 164850, 169000, 173200, 177450, 181750,
186100, 190500, 195000, 199550, 204150, 208800, 213500, 218250, 223050, 228000,
233000, 238050, 243150, 248300, 253500, 258750, 264050, 269400, 274800, 280250,
285750, 291300, 296900, 302550, 308250, 314000, 319800, 325650, 331550, 337500,
343500, 349550, 355650, 361800, 368000
],
topSym : ['🥇', '🥈', '🥉', '4⃣', '5⃣', '6⃣', '7⃣', '8⃣', '9⃣', '🔟', '🌫️', '🌫️', '🌫️', '🌫️', '🌫️'], topSym : ['🥇', '🥈', '🥉', '4⃣', '5⃣', '6⃣', '7⃣', '8⃣', '9⃣', '🔟', '🌫️', '🌫️', '🌫️', '🌫️', '🌫️'],
} }

View File

@ -27,7 +27,8 @@ const User = sequelize.define('user', {
worktime: {type: DataTypes.INTEGER, defaultValue: 0}, worktime: {type: DataTypes.INTEGER, defaultValue: 0},
slottime: {type: DataTypes.INTEGER, defaultValue: 0}, slottime: {type: DataTypes.INTEGER, defaultValue: 0},
shoprobcd: {type: DataTypes.INTEGER, defaultValue: 0}, shoprobcd: {type: DataTypes.INTEGER, defaultValue: 0},
pocketstealcd: {type: DataTypes.INTEGER, defaultValue: 0} pocketstealcd: {type: DataTypes.INTEGER, defaultValue: 0},
isPlayingCasino: {type: DataTypes.BOOLEAN, defaultValue: false}
}) })
module.exports = User; module.exports = User;