You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Discord.js 13出现channel.join is not a function错误如何解决?

错误原因

Discord.js 从13版本开始将所有语音相关能力从核心库中剥离,独立为单独的@discordjs/voice维护,因此原v12版本内置的VoiceChannel.join()方法已被官方移除,调用时自然会抛出方法不存在的错误。

修复方案
  • 第一步:安装独立语音依赖
npm install @discordjs/voice
  • 第二步:替换原有加入语音频道的逻辑
    你原来的代码可以直接调整为如下写法:
// 顶部引入语音库的加入方法
const { joinVoiceChannel } = require('@discordjs/voice');

const voiceChannel = message.member.voice.channel;
// 调用新方法加入频道
const voiceConnection = joinVoiceChannel({
    channelId: voiceChannel.id,
    guildId: voiceChannel.guild.id,
    adapterCreator: voiceChannel.guild.voiceAdapterCreator
});
  • 额外注意项:Discord.js v13要求显式声明机器人需要的意图,你需要确保你初始化客户端时的意图列表包含GuildVoiceStates,否则即使调整了代码也无法正常连接语音频道。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 21:06:03