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

Discord.js运行报错channel.join() is not a function如何解决

报错原因
  • 你正在使用 v13 及以上版本的 Discord.js,该版本起语音相关功能已从核心库中剥离,移入独立的 @discordjs/voice 工具包,旧版本语音频道内置的 channel.join() 方法已被完全移除,调用不存在的方法就会触发该报错。
  • 额外排查点:可先确认你通过ID获取到的channel确实是语音/舞台频道类型,文字、公告等非语音频道本身就不存在加入方法。
修复步骤
  1. 首先安装语音功能依赖:
    npm install @discordjs/voice

  2. 修改原有代码,替换旧的join逻辑:
    首先在文件顶部引入语音连接方法:
    const { joinVoiceChannel } = require('@discordjs/voice');

将原来的channel.join()替换为以下代码即可:

joinVoiceChannel({
  channelId: channel.id,
  guildId: guild.id,
  adapterCreator: guild.voiceAdapterCreator
});
  1. 权限检查:确保你的机器人账号在对应服务器已被授予连接语音频道、说话的权限,避免连接被拒绝。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 12:54:03