bot先加入语音然后执行命令然后离开语音

时间:2021-06-01 07:44:15

标签: discord.js

我希望我的机器人先加入语音频道,然后运行命令并发送消息,然后再次离开语音频道,但我失败了。我还很新,我正在等待您的建议作为资源。

我的代码:

    client.on("message", function (message) {
  if (message.content === "hello"){
    if (message.member.voice.channel) {
      const connection = DiscordMessage.member.voice.channel.join();
    const channel01 = client.channels.cache.find(channel => channel.id === "838137321169223701");
   channel01.send("hi")
    }
  }
});

1 个答案:

答案 0 :(得分:0)

在查看您的代码后,我注意到您缺少一个让您的机器人加入语音聊天的实际功能。您所做的只是调用了一个“const”变量,但从未执行过它。如果您希望您的机器人在响应发送后立即离开,这将使您的机器人加入呼叫的时间不到一秒钟,尽管您可以用它来替换当前代码。

  client.on("message", function (message) {
    if (message.content === "hello"){
      if (message.member.voice.channel) {

        const VoiceChannel = message.member.voice.channel
        const channel01 = client.channels.cache.find(channel => channel.id === "849139242478206976");
        
        VoiceChannel.join()
        
        channel01.send("hi").then(setTimeout(function(){
          VoiceChannel.leave()
        }, 2000));

      }
    }
  });

这将使您的机器人加入语音聊天,并在 2 秒后离开,正如您从超时功能中看到的那样。如果您不想有任何超时,您可以简单地将 .then 之后的值替换为:

.then(VoiceChannel.leave());

希望对您有所帮助!