Discord.js 查找频道时的问题 [英] Discord.js issue at finding channel

查看:17
本文介绍了Discord.js 查找频道时的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试发出验证命令,但我一直卡在机器人上说请输入有效频道!"即使频道名称有效.

I am trying to make a verify command but I keep getting stuck on the bot saying "Please Enter A Valid Channel!" even with a valid channel name.

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

示例:Discord 示例代码

不介意提及角色.是为了在反应的时候被赋予一个角色

Don't mind the role mention. It's for a role to be given when reacting

推荐答案

discord.js v13 中的频道类型发生了变化:

In discord.js v13 channels types have changed:

<头>
频道类型v12v13
DM频道dmDM
群 DM 频道不适用GROUP_DM
公会文字频道文本GUILD_TEXT
公会文字频道的公共话题频道不适用GUILD_PUBLIC_THREAD
公会文字频道的私信频道不适用GUILD_PRIVATE_THREAD
公会语音频道语音GUILD_VOICE
公会舞台语音频道不适用GUILD_STAGE_VOICE
公会分类频道类别GUILD_CATEGORY
公会新闻频道新闻GUILD_NEWS
公会新闻频道的公共话题频道不适用GUILD_NEWS_THREAD
公会商店频道存储GUILD_STORE
未知类型的通用频道未知未知

此表取自 这个答案@Zsolt Meszaros

将您的代码更改为:

if (!channel || channel.type !== "GUILD_TEXT") return message.channel.send("**Please Enter A Valid Channel!**")

这篇关于Discord.js 查找频道时的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆