Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 11.06.2019, 19:30
Новичок на форуме
Отправить личное сообщение для notzzz Посмотреть профиль Найти все сообщения от notzzz
 
Регистрация: 11.06.2019
Сообщений: 1

Как сделать это?
Доброго дня, дорогие форумчане. Я новичок в node.js, поэтому я сумашедший.

У меня есть, скажем так, две команды -
vk.updates.hear(/^(?:Копать рубины|Рубины копать)$/i, async (message, args, bot) => {
	let user = acc.users[user_id(message.user)]; 
  	if(user.timers.shaxta != false) return message.send(`????‍⚖️ >> Копать рубины можно раз в 15 мин. Отдахните!`);
    let mine = utils.pick([1, 2, 3, 4, 5]);
    user.timers.shaxta = true;
	setTimeout(() => {
			timers.shaxta = false;
			vk.api.call('messages.send', {
			peer_id: user.id,
			message: `???????? Вы отдохнули ! Можете копать рубины еще ! Напиши " копать рубины "` 
		});
	}, 600000);
	user.timers.shaxta = true;

if(mine === 1)
	{
		user.donate += 1;
		user.exs += 20;
        return message.send(`@id${user.id}(${user.tag}) вы накопали 1 рубинов????`);
	}

	if(mine === 2)
	{
		user.donate += 2;
		user.exs += 70;
         return message.send(`@id${user.id}(${user.tag}) вы накопали 2 рубинов????`);
	}

	if(mine === 3)
	{
		user.donate += 1;
		user.exs += 100;
         return message.send(`@id${user.id}(${user.tag}) вы накопали 1 рубинов????`);
	}

	if(mine === 4)
	{
		user.donate += 5;
		user.exs += 180;
         return message.send(`@id${user.id}(${user.tag}) вы накопали 5 рубинов????`);
	}

	if(mine === 5)
	{
		user.donate += 3;
		user.exs += 200;
        return message.send(`@id${user.id}(${user.tag}) вы накопали 3 рубинов????`);
	}
});


vk.updates.hear(/^(?:поход)$/i, async (message, args, bot) => {
	let user = acc.users[user_id(message.user)]; 
  	if(user.timers.poxod != false) return message.send(`????‍⚖️ >> Ходить в поход можно раз в час. Отдахните!`);
 let mine = utils.pick([1, 2, 3, 4, 5,6,7,8,9,10]);
user.timers.poxod = true;
	setTimeout(() => {
			user.timers.poxod = false;
			vk.api.call('messages.send', {
			peer_id: user.id,
			message: `???????? Вы отдохнули ! Можете сходить в поход еще ! Напиши " поход "` 
		});
	}, 3600000);
if(mine === 1)
	{
		user.balance += 50000000;
		user.exs += 20;
        return message.send(`@id${user.id}(${user.tag}) ???? вы нашли в кустах 50.000.000 $ ????`);
	}

	if(mine === 2)
	{
		user.balance += 10000000;
		user.exs += 70;
         return message.send(`@id${user.id}(${user.tag}) ???? вы нашли в кустах 10.000.000 $ ????`);
	}

	if(mine === 3)
	{
		user.balance = 0;
		user.exs += 100;
         return message.send(`@id${user.id}(${user.tag}) Вы умерли в походе и потеряли все ваши деньги!`);
	}

	if(mine === 4)
	{
		user.balance = 0;
		user.exs += 100;
         return message.send(`@id${user.id}(${user.tag}) Вы умерли в походе и потеряли все ваши деньги!`);
	}

	if(mine === 5)
	{
		user.balance = 0;
		user.exs += 100;
         return message.send(`@id${user.id}(${user.tag}) Вы умерли в походе и потеряли все ваши деньги!`);
	}
	if(mine === 6)
	{
		user.balance += 800000;
		user.exs += 20;
        return message.send(`@id${user.id}(${user.tag}) ???? вы нашли в кустах 800000 $ ????`);
	}
	if(mine === 7)
	{
		user.balance += 400000;
		user.exs += 20;
        return message.send(`@id${user.id}(${user.tag}) ???? вы нашли в кустах 400.000 $ ????`);
	}
	if(mine === 8)
	{
		user.balance += 100000;
		user.exs += 20;
        return message.send(`@id${user.id}(${user.tag}) ???? вы нашли в кустах 1.000.000 $ ????`);
	}
	if(mine === 9)
	{
		user.balance = 0;
		user.exs += 100;
         return message.send(`@id${user.id}(${user.tag}) Вы умерли в походе и потеряли все ваши деньги!`);
	}
	if(mine === 10)
	{
		user.balance = 0;
		user.exs += 100;
         return message.send(`@id${user.id}(${user.tag}) Вы умерли в походе и потеряли все ваши деньги!`);
	}
});



И вот, с первой случается такая ошибка -
TypeError: Cannot read property 'shaxta' of undefined
    at vk.updates.hear (/home/bot.js:3233:19)
    at hears.use (/home/node_modules/vk-io/lib/index.js:6708:24)
    at next (/home/node_modules/vk-io/node_modules/middleware-io/lib/index.js:198:27)
    at middleware (/home/node_modules/vk-io/node_modules/middleware-io/lib/index.js:198:39)
    at hears.use (/home/node_modules/vk-io/lib/index.js:6708:49)
    at next (/home/node_modules/vk-io/node_modules/middleware-io/lib/index.js:198:27)
    at middleware (/home/node_modules/vk-io/node_modules/middleware-io/lib/index.js:198:39)
    at hears.use (/home/node_modules/vk-io/lib/index.js:6708:49)
    at next (/home/node_modules/vk-io/node_modules/middleware-io/lib/index.js:198:27)
    at middleware (/home/node_modules/vk-io/node_modules/middleware-io/lib/index.js:198:39)
    at hears.use (/home/node_modules/vk-io/lib/index.js:6708:49)
    at next (/home/node_modules/vk-io/node_modules/middleware-io/lib/index.js:198:27)
    at middleware (/home/node_modules/vk-io/node_modules/middleware-io/lib/index.js:198:39)
    at hears.use (/home/node_modules/vk-io/lib/index.js:6708:49)
    at next (/home/node_modules/vk-io/node_modules/middleware-io/lib/index.js:198:27)
    at middleware (/home/node_modules/vk-io/node_modules/middleware-io/lib/index.js:198:39)


А со второй, вот такая -
TypeError: Cannot read property 'poxod' of undefined
    at vk.updates.hear (/home/bot.js:3282:19)
    at hears.use (/home/node_modules/vk-io/lib/index.js:6708:24)
    at next (/home/node_modules/vk-io/node_modules/middleware-io/lib/index.js:198:27)
    at middleware (/home/node_modules/vk-io/node_modules/middleware-io/lib/index.js:198:39)
    at hears.use (/home/node_modules/vk-io/lib/index.js:6708:49)
    at next (/home/node_modules/vk-io/node_modules/middleware-io/lib/index.js:198:27)
    at middleware (/home/node_modules/vk-io/node_modules/middleware-io/lib/index.js:198:39)
    at hears.use (/home/node_modules/vk-io/lib/index.js:6708:49)
    at next (/home/node_modules/vk-io/node_modules/middleware-io/lib/index.js:198:27)
    at middleware (/home/node_modules/vk-io/node_modules/middleware-io/lib/index.js:198:39)
    at hears.use (/home/node_modules/vk-io/lib/index.js:6708:49)
    at next (/home/node_modules/vk-io/node_modules/middleware-io/lib/index.js:198:27)
    at middleware (/home/node_modules/vk-io/node_modules/middleware-io/lib/index.js:198:39)
    at hears.use (/home/node_modules/vk-io/lib/index.js:6708:49)
    at next (/home/node_modules/vk-io/node_modules/middleware-io/lib/index.js:198:27)
    at middleware (/home/node_modules/vk-io/node_modules/middleware-io/lib/index.js:198:39)



Помогите пожалуйста....
Ответить с цитированием
  #2 (permalink)  
Старый 29.06.2019, 22:48
Кандидат Javascript-наук
Отправить личное сообщение для Signal Посмотреть профиль Найти все сообщения от Signal
 
Регистрация: 03.05.2016
Сообщений: 137

я, кончено не сильно силен в vk играх но точно могу сказать
что иногда, может даже по вине инета
let user = acc.users[user_id(message.user)];

user не получает ничего и есть undefined

соотыетсвенно и
if(user.timers.shaxta

тоже будет undefined

тебе зырить надо или в переменной user или в его хеше user.timers

console натыкай и увидишь, де косяк
Ответить с цитированием
  #3 (permalink)  
Старый 30.06.2019, 04:31
Кандидат Javascript-наук
Отправить личное сообщение для Signal Посмотреть профиль Найти все сообщения от Signal
 
Регистрация: 03.05.2016
Сообщений: 137

еще добавлю
вот в таком виде не пиши
Цитата:
..
if(mine === 2)
	    {
	        user.balance += 10000000;
	        user.exs += 70;
	         return message.send(`@id${user.id}(${user.tag}) ???? вы нашли в кустах 10.000.000 $ ????`);
	    }
	    if(mine === 3)
	    {
		...
пиши лучше так
Цитата:
if (mine === 2)
	    {
	        user.balance += 10000000;
	        user.exs += 70;
	         return message.send(`@id${user.id}(${user.tag}) ???? вы нашли в кустах 10.000.000 $ ????`);
	    } else if (mine === 3)  {
}....

else {
console.log('Djopa!!!!!!!!!');
}
Ответить с цитированием
  #4 (permalink)  
Старый 30.06.2019, 04:34
Кандидат Javascript-наук
Отправить личное сообщение для Signal Посмотреть профиль Найти все сообщения от Signal
 
Регистрация: 03.05.2016
Сообщений: 137

ps. фраза "вы нашли в кустах 10.000.000 $" рассмешила, поржал спс...
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
$('my').load(); Как сделать, чтобы это заработало mycoding Общие вопросы Javascript 25 02.10.2016 23:43
В callback функции теряется контекст. Как это обойти? xintrea AJAX и COMET 4 02.06.2013 11:40
помогите уже месяц не могу понять как это сделать... CTEPEOTUn Общие вопросы Javascript 5 13.04.2011 00:21
Подскажите как это сделать oxotnik Общие вопросы Javascript 11 19.01.2010 09:57
Как это сделать? PAMAC Общие вопросы Javascript 2 10.10.2009 21:02