Как мне определить пользователя? ReferenceError: пользователь не определен пользователем Steam - PullRequest
0 голосов
/ 04 ноября 2018

, когда я запускаю свой скрипт, появляется эта ошибка:

/var/www/html/bot/driver.js:309
    if(users[user.steamid])
             ^

ReferenceError: user is not defined
    at Namespace.<anonymous> (/var/www/html/bot/driver.js:309:14)
    at emitOne (events.js:116:13)
    at Namespace.emit (events.js:211:7)
    at Namespace.emit (/var/www/html/bot/node_modules/socket.io/lib/namespace.js:213:10)
    at /var/www/html/bot/node_modules/socket.io/lib/namespace.js:181:14
    at _combinedTickCallback (internal/process/next_tick.js:132:7)
    at process._tickCallback (internal/process/next_tick.js:181:9)

Может кто-нибудь объяснить это мне? Как мне определить пользователя Steam? Часть в скрипте, где он падает, выглядит так:

io.sockets.on('connection', function(socket) {
    var index = -1;
    if(users[user.steamid])
    index = users[user.steamid]['socket'].indexOf(socket.id);
    if (index > -1) {
        users[user.steamid]['socket'].splice(index, 1);
    }
    if(users[user.steamid]) { if(Object.keys(users[user.steamid]['socket']).length == 0) delete users[user.steamid]; }
  });

Перед тем, как войти в консоль, он запрашивает у меня код Steam Guard, но затем он сразу вылетает с этой ошибкой.

1 Ответ

0 голосов
/ 11 ноября 2018

Вы должны на самом деле сказать системе, что такое user, она понятия не имеет, что это такое, потому что вы ее нигде не определили, и у нее нет ссылки или источника, откуда она возникла.

Если вы делаете что-то вроде:

const user = 'something';

Это будет, по крайней мере, определено, но это примерно так же бесполезно, как и не определять его, потому что вы явно упускаете некоторую логику из библиотеки или что-то в этом духе, потому что user должно быть определено.

...