Как мне определить пользователя? ReferenceError: пользователь не определен пользователем Steam

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

/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 ответ

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

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

const user = 'something';

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

Другие вопросы по тегам