使用名称查找不和谐频道ID

时间:2020-04-06 16:13:56

标签: discord discord.js

我已经使用discord.js 11.4.4已有一段时间了,由于硬盘故障,我不得不重新下载discord.js并决定是时候也要获得最新版本了,但是却遇到了一些问题方式。

我正在寻找所需channel的{​​{1}} ID,我希望按channel的名称搜索频道。

我过去使用的代码:

channel

然后,我会将ID存储到一个变量中,以便以后使用。

2 个答案:

答案 0 :(得分:1)

如果您使用的是v11,则其

message.guild.channels.find(channel => channel.name === "channel-name").id;

如果您使用的是v12,则其

message.guild.channels.cache.find(channel => channel.name === "channel-name").id;

Collection#find返回一个频道对象,您只需要从中获取id

答案 1 :(得分:0)

大多数集合已转换为版本12中的新Manager系统,该系统除其他外还包含一个称为“缓存”的集合。除了需要重定向以使用此缓存属性外,检索时的功能基本相同。

let ch = message.guild.channels.cache.find(channel => channel.name === "channel-name");
console.log(`Channel ID: ${ch.id}`));

Manager系统的主要优点是它允许在其他领域中使用更好的结构化方法系统。例如v11 guild.createChannel();变成guild.channels.create();,这在面向对象的方法中变得更加有意义。

此特定管理员在此处记录:GuildChannelManager

也有完整的upgrade guide