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

Discord.js开发verify命令时输入有效频道仍提示无效频道问题

问题修复方案

以下是导致报错的具体原因和修复方法:

  • 匹配逻辑不统一:你在匹配频道名时,现有频道名调用的是toLowerCase()做小写转换,而用户输入的参数调用的是toLocaleLowerCase(),两种转换逻辑的规则差异会导致非英文名称、带特殊字符的频道名匹配失败;同时如果用户输入的频道名包含空格,args[0]只会截取第一个空格前的内容,无法匹配完整的频道名。
  • 频道类型判断失效:Discord.js v13及以上版本中,普通服务器文本频道的类型枚举值已从旧版本的'text'更新为'GUILD_TEXT',沿用旧的类型判断条件会导致合法的文本频道被判定为类型不匹配。

修正后的代码如下:

let channel = message.mentions.channels.first() ||
 message.guild.channels.cache.get(args[0]) ||
 message.guild.channels.cache.find(c => c.name.toLowerCase() ===
 args.join(' ').toLowerCase());
if (!channel || !['text', 'GUILD_TEXT'].includes(channel.type)) return message.channel.send("**Please Enter A Valid Channel!**");

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 23:45:10