Discord Bot无法按名称获取频道

问题描述 投票:6回答:2

我一直在制作一个不和谐机器人,并希望让它向特定的“欢迎”频道发送消息。不幸的是,我无法这样做。我试过这个。

const welcomeChannel = bot.channels.get("name", "welcome")
welcomeChannel.sendMessage("Welcome\n"+member.user.username);

但是在这个“welcomeChannel未定义”中。

编辑:

我试过用

const welcomeChannel = bot.channels.get("id", "18NUMBERIDHERE")
welcomeChannel.sendMessage("Welcome\n"+member.user.username);

但奇怪的是,这仍然是未定义的

javascript bots discord
2个回答
17
投票

您应该使用频道ID而不是其名称。

如何获取频道的频道ID:

  1. 打开您的Discord设置
  2. Appearance
  3. 勾选Developer Mode(并关闭Discord设置)
  4. 右键单击所需的频道
  5. 现在有一个选项Copy ID来复制频道ID

还要查看discord.js documentation的(频道)收藏


此外,您的方法将无法正常工作,因为.get需要一个频道ID(请参阅上面的链接文档)。如果您真的想要通过其名称获取频道,请使用.find代替。 但是,如果您的机器人在多个服务器上运行,这是一个非常糟糕的主意,因为通道名称现在可以多次出现。


6
投票

你也可以使用

bot.channels.find("name","welcome").send("Welcome!")
© www.soinside.com 2019 - 2024. All rights reserved.