节点JS和超出范围错误

时间:2018-07-24 06:33:14

标签: node.js telegram

我正在尝试构建我的第一个节点js应用程序,以管理一些电报帐户。我不想创建一个电报机器人,因为与节点js和电报有关的大多数示例都是与机器人相关的,所以这真的很难。我似乎遇到了很多障碍,这就是其中的一个...

我正在尝试初始化与电报的连接,但是出现以下错误

internal/buffer.js:35
throw new ERR_OUT_OF_RANGE('value', `>= ${min} and <= ${max}`, value);^
RangeError [ERR_OUT_OF_RANGE]: The value of "value" is out of range. It must      
>= 0 and <= 4294967295. Received -2083955988

这似乎发生在这行代码

const { MTProto } = require('telegram-mtproto')

这是init.js文件的样子

console.log('start init')
const { MTProto } = require('telegram-mtproto')

console.log('const MTProto set')
const api = {
invokeWithLayer: 0xda9b0d0d,
layer: 57,
initConnection: 0x69796de9,
api_id: 12345,
app_version: '1.0.1',
lang_code: 'en'
}

console.log('init api set')
const server = { webogram: true, dev: true }

const telegram = MTProto({ api, server })

console.log('init complete')

module.exports = telegram

我放入了许多console.logs来尝试找出错误发生的确切位置,先打印“ start init”的日志,然后再发生错误,如果我删除或注释掉

const{MTProto}=require('telegram-mtproto')

行,然后将打印“续MTProto设置”的第二个日志。我不确定为什么会收到此错误,或者究竟是什么意思,或者如何解决/避免它。

我正在使用visual Studio 2017,并在package.json文件中添加了telegram-mtproto软件包,如下所示。

{
  "name": "test-telegram-login",
  "version": "0.0.0",
  "description": "testTelegramLogin",
  "main": "server.js",
  "dependencies": {
  "crypto-address": "0.0.2",
  "telegram-api": "^4.1.0",
  "telegram-mt-node": "^0.9.7",
  "telegram-mtproto": "^1.0.5"

 },

1 个答案:

答案 0 :(得分:0)

我认为您需要更新WebSocket版本或降级Node.js版本

我建议更新package.json文件中的websocket模块。

例如:

更改

"websocket": "^1.0.24"

"websocket": "^1.0.28"

顺便说一句,不要忘记您需要删除node_modules文件夹并执行

npm install 

用于再次下载所有模块。 当然,如果您不想下载所有模块,则只能删除../node_modules/websocket文件夹并安装websocket模块。

npm install websocket