You need to enable JavaScript to run this app. DiscordJS机器人client.voice.onVoiceStateUpdate非函数报错求助
优惠活动
大模型
产品
解决方案
定价
更多

DiscordJS机器人client.voice.onVoiceStateUpdate非函数报错求助

Discord机器人突发运行异常说明
  • 异常已持续一段时间,机器人在约一周前可全功能正常运行
  • 当前运行环境版本:NodeJS 15.5.1、Discord.JS 12.5.1、Erela.js 2.3.1,为该套技术栈下选用的适配版本
  • 已完成的排查操作:
    • 全量删除并重新安装所有项目依赖包,报错始终未消除
    • 在Discord.JS官方社群多次提交相关提问,未获得有效解决思路
    • 在Erela.js官方社群提交的咨询暂处于待回复状态
  • 确认的已知条件:
    • 自身业务代码未做任何改动,此前同版本环境可长期稳定运行
    • 目前对该突发报错无明确排查方向
    • 异常触发的关联逻辑为Discord.js内部VoiceStateUpdate动作模块中,对客户端语音模块的回调调用流程
完整报错堆栈信息
[2:57:49 PM] ERROR [Uncaught Exception]: TypeError: client.voice.onVoiceStateUpdate is not a function
    at VoiceStateUpdate.handle
        (/home/thewarden/node_modules/discord.js/src/client/actions/VoiceStateUpdate.js:31:22)
    at Object.module.exports [as VOICE_STATE_UPDATE]
        (/home/thewarden/node_modules/discord.js/src/client/websocket/handlers/VOICE_STATE_UPDATE.js:4:35)
    at WebSocketManager.handlePacket
        (/home/thewarden/node_modules/discord.js/src/client/websocket/WebSocketManager.js:384:31)
    at WebSocketShard.onPacket
        (/home/thewarden/node_modules/discord.js/src/client/websocket/WebSocketShard.js:444:22)
    at WebSocketShard.onMessage
        (/home/thewarden/node_modules/discord.js/src/client/websocket/WebSocketShard.js:301:10)
    at WebSocket.onMessage (/home/thewarden/node_modules/ws/lib/event-target.js:132:16)
    at WebSocket.emit (node:events:376:20)
    at Receiver.receiverOnMessage (/home/thewarden/node_modules/ws/lib/websocket.js:825:20)
    at Receiver.emit (node:events:376:20)
    at Receiver.dataMessage (/home/thewarden/node_modules/ws/lib/receiver.js:437:14)
    at Receiver.getData (/home/thewarden/node_modules/ws/lib/receiver.js:367:17)
    at Receiver.startLoop (/home/thewarden/node_modules/ws/lib/receiver.js:143:22)
    at Receiver._write (/home/thewarden/node_modules/ws/lib/receiver.js:78:10)
    at writeOrBuffer (node:internal/streams/writable:395:12)
    at Receiver.Writable.write (node:internal/streams/writable:340:10)
    at TLSSocket.socketOnData (/home/thewarden/node_modules/ws/lib/websocket.js:900:35)

核心错误说明:触发未捕获异常的直接原因是client.voice.onVoiceStateUpdate方法不存在。Discord.js在接收到平台推送的语音状态变更WebSocket数据包时,会尝试调用该方法完成本地状态同步,因方法缺失直接抛出类型错误,打断进程运行。

内容的提问来源于stack exchange,提问作者Johnty

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.09 10:45:00