未按名称查找频道

时间:2021-07-20 01:42:15

标签: node.js discord.js

我尝试了 let message = message.guild.channels.cache.find(channel => channel.name == 'channel-name'),但结果未定义。如果我在 vscode 中将鼠标悬停在频道上,频道是一个公会频道,但我使用了 console.log 并且它是未定义的。

2 个答案:

答案 0 :(得分:0)

我有 3 个问题要问你:

  1. 频道不存在(不言自明)

  2. 您没有缓存频道

//To cache the channel do this:
await message.guild.channels.fetch();
//…find code, etc
  1. 您的机器人无权访问该频道。 如果您在频道的成员列表中没有看到该机器人,则该机器人显然没有访问权限。确保在频道中授予机器人查看频道权限。

奖励:您可以使用 ChannelManager.resolve,它应该接受名称、ID 或频道对象。告诉我如果我错了,因为我无法测试

答案 1 :(得分:0)

如果您想获得频道,请执行

<块引用>

message.guild.channels.cache.get("Channel ID")

更容易使用