从名称中获取频道 ID

时间:2021-02-26 16:41:41

标签: javascript node.js discord.js

所以我想向机器人创建的频道发送一条消息!除了按名称搜索之外,没有其他可能的方法来获取 id!我做了以下事情:

let channel = guild.channels.cache.find(channel => channel.name === `${v}id`);

而且没有用!我搜索了堆栈溢出并在最后添加了 .id

let channel = guild.channels.cache.find(channel => channel.name === `${v}id`).id;

还是不行!我不知道为什么......这是发送部分和发生的错误:

发送消息:

channel.send("Created new channel!);

错误:

C:\Users\cedri\Desktop\vibe-main\events\premium.js:45
            channel.send("Created new channel!");
                    ^

TypeError: Cannot read property 'send' of undefined
    at Timeout._onTimeout (C:\Users\cedri\Desktop\vibe-main\events\premium.js:45:21)
    at listOnTimeout (node:internal/timers:556:17)
    at processTimers (node:internal/timers:499:7)

1 个答案:

答案 0 :(得分:2)

您将获得一个名为 <whatever "v" is>id 的频道。

你需要做的

let channel = guild.channels.cache.find(channel => channel.name === nameOfChannel).id;

如果出现此错误,您可能需要使用 [...].first().id

编辑:出于某种原因,在这里使用 ${v} 不起作用。提问者将其更改为 1id 并且有效。