Рулетка для бота ВК [NodeJS]

Че буит следующим?

  • RGB рулетка по типу ксгополигона (не реклама)

    Голосов: 10 90.9%
  • Канвас (эксклюзив для линуксоидов, почти)

    Голосов: 1 9.1%
  • Свой вариант в ответы

    Голосов: 0 0.0%

  • Всего проголосовало
    11
Участник
Статус
Оффлайн
Регистрация
18 Апр 2016
Сообщения
433
Реакции[?]
257
Поинты[?]
5K
Здрасьте, поскольку я не делал голосование и вы не выбирали чо вам нада, я решил написать про простую рулетку (то что в соловьях/банидикумах и еще в овер99999 к+п ботах).

И так, нам понадобитца сорс из прошлой темы (вот она: https://yougame.biz/threads/23364/ );

Сразу приступим к коду.
1. Создаем объект, пишем его после var commands = [];
Код:
var users = {
                '1': {
                         'balance': 1000
                 }
}
Немного расскажу че к чему:
сам объект можете обозвать как хотите.
'1' -- это типа айдишник, возьмем Пашку Дурова, шоб тестить.
balance -- сам баланс
p.s [] - массив, {} - объект

2. Теперь нам надо сделать, чтоб при каждом новом сообщении проверялось, существует ли юзер в нашей базе. Делаем это 2 строчками кода в листенере.
Код:
if(!users[message.user])
                users[message.user] = {balance: 1000};
Типа, если юзера нет, то мы его создаем и даем ему 1к на баланс.

Насчет хранения данных, многие тру кодеры на жс пиздят палками не очень любят меня за то, что я держу свою базу в json файлах. Говорят, что надо хранить в MongoDB или прочих БД, но я уже привык все хранить в Json и меня все устраивает, так-что решать вам (это если вам надо буит сейвить данные).

3. Создадим простейшую рулетку типа орел/решка, где шанс на победу 50/50.
*но перед этим впихнем эти функции в самый низ:
Код:
function getRandomInt(min, max){return Math.round(Math.random() * (max - min)) + min}
Array.prototype.random = function(){return this[Math.floor(this.length * Math.random())];}
*конец
И так пишем (!!! ALERT GOVNOCODE DETECTED !!!):
Код:
command(/^\/spot\s([0-9]+)/i, '/spot <поинты> -- топ рулетка класс', function (message, params) {
                   if(users[message.user].balance <= 0) return message.send('мало денег');
                   if(getRandomInt(0, 100) < 50) {
                           users[message.user].balance += Number(params[1]);
                           return message.send(`Вы выиграли ${params[1]} поинтов!\nНа вашем балансе ${users[message.user].balance} поинтов`);
}else{
                             users[message.user].balance -= Number(params[1]);
                             return message.send(`Вы проиграли ${params[1]} поинтов!\nНа вашем балансе ${users[message.user].balance} поинтов`);
                    }
});

Все!!! Топовая рулетка готова, пилите свои полигоны и фасты в вк.

Source:
Пожалуйста, авторизуйтесь для просмотра ссылки.

// Функа которая выбирает рандом элемент из массива нам понадобится потом в любом случае
// Если возникают вопросы пишите в лс, помогу чем смогу
// Сорре, я не понимаю как работает табуляция на форуме, в прошлой теме не ее ваще не было, здесь она кривая, так-что чек скрины
 
Последнее редактирование:
Начинающий
Статус
Оффлайн
Регистрация
22 Май 2017
Сообщения
34
Реакции[?]
32
Поинты[?]
0
Создавать полностью новый файл .js или можно просто добавить под кодом 1 гайда?
 
Участник
Статус
Оффлайн
Регистрация
18 Апр 2016
Сообщения
433
Реакции[?]
257
Поинты[?]
5K
Начинающий
Статус
Оффлайн
Регистрация
22 Май 2017
Сообщения
34
Реакции[?]
32
Поинты[?]
0
Сверху Снизу