【问题标题】:How do I make a discord bot join a voice channel?如何让不和谐机器人加入语音频道?
【发布时间】:2020-10-15 05:55:23
【问题描述】:

我只是想让机器人作为占位符加入语音频道,这样我就可以让音乐机器人 24/7 播放。

我在堆栈overflow上找到的代码之一是:

  const channel = client.channels.get("mychannelid");
  if (!channel) return console.error("The channel does not exist!");
  channel.join().then(connection => {
    // Yay, it worked!
    console.log("Successfully connected.");
  }).catch(e => {
    // Oh no, it errored! Let's log it to console :)
    console.error(e);
  });
});

but this didn't seem to work for me. This is what the visual studio code output said

你知道我该如何解决这个问题或告诉我正确的方法吗?

【问题讨论】:

  • 由于最近的更新 StackOverflow 对 discord.js 的回答通常已经过时。反正也没必要看。 discord.js docs 有很多例子,并且很好地组合在一起。在这种情况下,您会想知道为什么client.channels.get 不是一个函数,所以检查docs on client.channels,您会发现它现在是ChannelManager,您需要访问缓存属性,如 Jakye 的回答.

标签: javascript bots discord discord.js voice


【解决方案1】:

看起来您正在使用 Discord.js V12。要获取您必须使用的频道:

client.channels.cache.get("ChannelID")

【讨论】:

  • 对不起,我刚刚意识到它不起作用。我正在使用另一个具有相同名称的机器人 :facepalm: 它只是说“频道不存在!”我试过身份证和名字。
  • 您使用的是哪个版本的 Discord JS?机器人能看到频道吗?
  • 我想我有不和谐的 JS v.12 我在 5 天前下载了最新版本。频道没有限制,我的机器人有管理员。
  • 不过,当我将代码粘贴回来时,我注意到的一件事是,输出显示的是预期的“,”(逗号)而不是每个“。” (句号)在下面一行:client.channels.cache.get("ChannelID")
  • 抱歉,刚刚在 discord.js 指南上找到了答案。我应该从那里开始。希望我没有浪费你的时间!
猜你喜欢
  • 2019-12-08
  • 1970-01-01
  • 2019-06-24
  • 2020-08-30
  • 2023-04-05
  • 1970-01-01
  • 2021-05-23
  • 2023-02-25
  • 1970-01-01
相关资源
最近更新 更多