Bot 在启动时不会加入语音通道

Posted

技术标签:

【中文标题】Bot 在启动时不会加入语音通道【英文标题】:Bot will not join voicechannel on boot 【发布时间】:2019-08-21 11:26:19 【问题描述】:

我希望我的机器人在启动时加入特定的语音频道。我确实看到了一些 ffmpeg 错误,但是当我检查是否通过 ffmpeg -version 安装了 ffmpeg 时,我得到了没有问题的响应。

我已经包含了我当前的代码片段。

  let VoiceChannel = client.channels.get('561271325805641739')
  VoiceChannel.join();

【问题讨论】:

【参考方案1】:

根据 discord.js 的官方 docs,voiceChannel.join() 方法返回一个 promise。

// Join a voice channel
voiceChannel.join()
  .then(connection => console.log('Connected!'))
  .catch(console.error);

使用官方文档中的 sn-p,您应该能够相当轻松地调试问题。 IE。要么您已连接,要么您可以从 discord.js API 读取错误。

【讨论】:

看起来像 ReferenceError: voiceChannel is not defined 表示该 id 的频道不存在。见Collection.get(),它返回undefined 不确定,但频道确实存在,我也仔细检查了频道 ID 我明白了;请注意,在您自己的代码中,您已将 voiceChannel 命名为大写 V,而不是小写 v。你总能做的是console.log(voiceChannel),看看是否定义好了。 相信你已经安装好了。但是您的代码找不到它。您是否重新启动以解决 PATH?否则,请继续我上面提到的另一个问题,因为我们应该在已经存在的问题中讨论它。他们的解决方案似乎也很可靠(也适用于 Windows)。

以上是关于Bot 在启动时不会加入语音通道的主要内容,如果未能解决你的问题,请参考以下文章

将 guildUserProperties.Mute 设置为 false 时,Bot 不会取消静音用户

Discord bot 不会运行启动序列

当有人加入或离开其语音频道时,让机器人向文本频道发送消息

如何使用 Discord.py Cogs 使 Discord Bot 加入语音频道并在成员加入频道时播放音频文件

我的机器人加入并离开discord bot heroku

Bot 在离开前未完成播放音频