Почему возникает ошибка с модулем discord.js, когда я запускаю свой бот с узлом?

avatar
Svartorm
8 августа 2021 в 20:45
2250
1
1

Недавно я получил странную ошибку с дискордом моего бота. discord.js, кажется, падает всякий раз, когда я запускаю своего бота:

[nodemon] 2.0.12
[nodemon] to restart at any time, enter `rs`
[nodemon] watching path(s): *.*
[nodemon] watching extensions: js,mjs,json  
[nodemon] starting `node ./src/index.js`    
C:\Users\myname\Documents\Loisir\Dev\Discord_Bots\Aura-discord\bot\node_modules\discord.js\src\rest\RESTManager.js:32
    const token = this.client.token ?? this.client.accessToken;
                                     ^

SyntaxError: Unexpected token '?'
    at wrapSafe (internal/modules/cjs/loader.js:1070:16)
    at Module._compile (internal/modules/cjs/loader.js:1120:27)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1176:10)
    at Module.load (internal/modules/cjs/loader.js:1000:32)
    at Function.Module._load (internal/modules/cjs/loader.js:899:14)
    at Module.require (internal/modules/cjs/loader.js:1042:19)
    at require (internal/modules/cjs/helpers.js:77:18)
    at Object.<anonymous> (C:\Users\hugo\Documents\Loisir\Dev\Discord_Bots\Aura-discord\bot\node_modules\discord.js\src\client\BaseClient.js:4:21)
    at Module._compile (internal/modules/cjs/loader.js:1156:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1176:10)
[nodemon] app crashed - waiting for file changes before starting...

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

Я попытался запустить его с помощью node вместо nodemon, но получил следующее:

C:\Users\hugo\Documents\Loisir\Dev\Discord_Bots\Aura-discord\bot\node_modules\discord.js\src\client\Client.js:544
      throw new TypeError('CLIENT_MISSING_INTENTS');
      ^

TypeError [CLIENT_MISSING_INTENTS]: Valid intents must be provided for the Client.
    at Client._validateOptions (C:\Users\hugo\Documents\Loisir\Dev\Discord_Bots\Aura-discord\bot\node_modules\discord.js\src\client\Client.js:544:13)
    at new Client (C:\Users\hugo\Documents\Loisir\Dev\Discord_Bots\Aura-discord\bot\node_modules\discord.js\src\client\Client.js:73:10)
    at Object.<anonymous> (C:\Users\hugo\Documents\Loisir\Dev\Discord_Bots\Aura-discord\bot\src\index.js:5:16)
    at Module._compile (node:internal/modules/cjs/loader:1101:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:79:12)
    at node:internal/main/run_main_module:17:47 {
  [Symbol(code)]: 'CLIENT_MISSING_INTENTS'
}

Я немного запутался (я имею в виду много) со всем этим и не смог ничего найти в Интернете.

Вот мои зависимости, если это может помочь:

{
  "name": "Aura-discord",
  "version": "0.0.1",
  "description": "Aura is a bot specialized in the creation and management of tournaments on discord.",
  "main": "index.js",
  "scripts": {
    "dev": "nodemon ./src/index.js",
    "start": "node ./src/index.js",
    "build": ""
  },
  "keywords": [],
  "author": "myName",
  "mail": "hberferf@auradiscord.bot",
  "website": "http://aura-discord.bot",
  "license": "ISC",
  "dependencies": {
    "discord.js": "^13.0.1",
    "mongoose": "^5.13.5",
    "node": "^16.6.1"
  },
  "devDependencies": {
    "nodemon": "^2.0.12"
  }
}

Спасибо, что нашли время, чтобы прочитать это, и, пожалуйста, простите любые орфографические ошибки.

Источник
evolutionxbox
8 августа 2021 в 20:46
3

Ваша версия узла не поддерживает нулевой оператор объединения? Обязательно используйте v14+

Ответы (1)

avatar
Kelvin Schoofs
8 августа 2021 в 20:50
1

Если вы посмотрите руководство по обновлению Discord.js, в нем упоминается, что для этого требуется Node.js версии 16.6 или выше. Согласно Node.green, нулевой оператор объединения поддерживается только в Node.js v14.5.0 или выше, поэтому я предполагаю, что ваша ошибка заключается в неправильном обновлении Node.js. Я заметил, что у вас есть node в ваших зависимостях? Он должен быть в движках, и он не будет обновлять Node.js, он только предупредит вас, если вы используете неправильную версию. Правильно установите Node.js v16.6 или выше.

Вы могли технически использовать модуль NPM node для запуска другой версии Node.js, но это кажется странным. Тем не менее, это решает проблему с вашим нулевым оператором объединения. Причина второй ошибки также объясняется в руководстве по обновлению, в этом разделе, если быть точным.

Svartorm
9 августа 2021 в 09:23
0

Спасибо, это было. Я не обновлял node.js, я устанавливал его как модуль, но обновлял discord.js, кому это требовалось. А также спасибо за разделы намерений, мне тоже помогли.