Node.js client.voice.onVoiceStateUpdate不是函数-DiscordJS

Node.js client.voice.onVoiceStateUpdate不是函数-DiscordJS,node.js,discord.js,Node.js,Discord.js,我经历这个问题已经有一段时间了;大约一周前,我的机器人工作得很好 我正在运行最新的NodeJS(15.5.1)和Discord.JS(12.5.1)以及erra.JS(2.3.1) 我已经尝试重新安装了所有它们,但仍然存在返回问题(如下所示) 我在官方Discord.JS服务器上询问了10多次,都没有结果 我在Erela.js官方不和谐中问过(等待回复) 我完全不知道我为什么会遇到这个问题,我的代码没有任何问题,因为它运行得很好,并且运行在最新的模块上(如上所述的erra.js和discord.

我经历这个问题已经有一段时间了;大约一周前,我的机器人工作得很好

我正在运行最新的NodeJS(
15.5.1
)和Discord.JS(
12.5.1
)以及erra.JS(
2.3.1

我已经尝试重新安装了所有它们,但仍然存在返回问题(如下所示)

我在官方Discord.JS服务器上询问了10多次,都没有结果

我在Erela.js官方不和谐中问过(等待回复)

我完全不知道我为什么会遇到这个问题,我的代码没有任何问题,因为它运行得很好,并且运行在最新的模块上(如上所述的erra.js和discord.js)

现在大约一周前突然出现了这个问题,自从发现这个问题以来,我一直在尝试解决它

我在下面提供了完整的stacktrace,以及discord.js src中精确文件的链接:

[2:57:49 PM]错误[Uncaught Exception]:类型错误:client.voice.onVoiceStateUpdate不是函数
在VoiceStateUpdate.handle
(/home/thewarden/node_modules/discord.js/src/client/actions/VoiceStateUpdate.js:31:22)
在Object.module.exports[作为语音状态更新]
(/home/thewarden/node_modules/discord.js/src/client/websocket/handlers/VOICE_STATE_UPDATE.js:4:35)
在WebSocketManager.handlePacket
(/home/thewarden/node_modules/discord.js/src/client/websocket/WebSocketManager.js:384:31)
在WebSocketShard.onPacket
(/home/thewarden/node_modules/discord.js/src/client/websocket/WebSocketShard.js:444:22)
在WebSocketShard.onMessage
(/home/thewarden/node_modules/discord.js/src/client/websocket/WebSocketShard.js:301:10)
在WebSocket.onMessage(/home/thewarden/node_modules/ws/lib/event target.js:132:16)
在WebSocket.emit(节点:事件:376:20)
在Receiver.receiveOnMessage(/home/thewarden/nodeêmodules/ws/lib/websocket.js:825:20)
在Receiver.emit(节点:事件:376:20)
在Receiver.dataMessage(/home/thewarden/node_modules/ws/lib/Receiver.js:437:14)
在Receiver.getData(/home/thewarden/node_modules/ws/lib/Receiver.js:367:17)
在Receiver.startoop(/home/thewarden/node_modules/ws/lib/Receiver.js:143:22)
在接收器处写入(/home/thewarden/node\u modules/ws/lib/Receiver.js:78:10)
在writeOrBuffer(节点:内部/流/可写:395:12)
在Receiver.Writable.write(节点:内部/流/可写:340:10)
在TLSSocket.socketOnData(/home/thewarden/node_modules/ws/lib/websocket.js:900:35)

voiceStateUpdate
是一个事件。要运行它,您需要使用调用事件的
client.on()
函数以及正确的回调。 因此,您的代码应该如下所示:

client.on('voiceStateUpdate', oldState, newState => {
// code here
})

要了解有关voiceStateUpdate事件及其回调的更多信息:

不是这样,我在我的客户端(自定义客户端结构)中定义了
this.voice
,它干扰了lib。